MCP-сервер предоставляет 132 инструмента для интеграции с LLM.
Работает по двум протоколам:
stdio — стандартный MCP-транспорт для Claude и других LLM
HTTP — REST API на порту 3335
Базовый URL: http://<host>:3335
Метод
Путь
Описание
GET
/health
Проверка работоспособности
GET
/tools
Список всех инструментов
POST
/tools/:name
Вызов инструмента
Если задана переменная MCP_HTTP_TOKEN, все запросы к /tools требуют Bearer-токен:
curl http://127.0.0.1:3335/tools \
-H " Authorization: Bearer your-token"
Инструмент
Описание
messages.send
Отправить текстовое сообщение (текст или шаблон)
messages.edit
Редактировать сообщение по внутреннему ID
messages.delete
Удалить сообщение по внутреннему ID
messages.fetch
Получить сообщения с фильтрацией
messages.delete_batch
Массовое удаление до 100 сообщений (Bot API 7.0)
messages.forward_batch
Массовая пересылка до 100 сообщений (Bot API 7.0)
messages.copy_batch
Массовое копирование до 100 сообщений (Bot API 7.0)
messages.edit_caption
Редактировать подпись к медиа-сообщению
messages.edit_markup
Изменить inline-клавиатуру сообщения
messages.edit_media
Заменить медиа в сообщении
messages.draft
Отправить черновик сообщения (Bot API 9.3)
messages.edit_live_location
Обновить живую геолокацию
messages.stop_live_location
Остановить живую геолокацию
Инструмент
Описание
media.send_photo
Отправить фото (URL или file_id)
media.send_document
Отправить документ/файл
media.send_video
Отправить видео
media.send_animation
Отправить GIF-анимацию
media.send_audio
Отправить аудио с метаданными
media.send_voice
Отправить голосовое сообщение
media.send_sticker
Отправить стикер
media.send_media_group
Отправить альбом (2-10 элементов)
media.get_file
Получить file_path для скачивания
media.send_location
Отправить геолокацию (живая с live_period)
media.send_venue
Отправить место с названием и адресом
media.send_contact
Отправить контакт (телефон + имя)
media.send_dice
Отправить эмодзи-кубик
media.send_video_note
Отправить видео-кружок
media.send_paid_media
Отправить платный медиа-контент (Bot API 7.6)
Инструмент
Описание
templates.list
Список Jinja2-шаблонов
templates.render
Отрендерить шаблон с переменными
commands.create
Создать набор команд для скоупа
commands.list
Получить все наборы команд
commands.sync
Синхронизировать с Telegram
Инструмент
Описание
chats.get
Информация о чате
chats.member
Статус участника чата
chats.list
Список чатов из локальной БД
chats.alias
Установить алиас для чата
chats.history
История сообщений чата из БД
chats.set_title
Установить название чата
chats.set_description
Установить описание чата
chats.delete_photo
Удалить фото чата
chats.leave
Выйти из чата
chats.unpin_all
Открепить все сообщения
chats.create_invite_link
Создать пригласительную ссылку
chats.edit_invite_link
Редактировать пригласительную ссылку
chats.revoke_invite_link
Отозвать пригласительную ссылку
chats.export_invite_link
Экспорт основной пригласительной ссылки
chats.create_subscription_invite_link
Подписочная ссылка (Bot API 7.9)
chats.edit_subscription_invite_link
Редактировать подписочную ссылку
callbacks.answer
Ответить на нажатие inline-кнопки
callbacks.list
Список полученных callback queries
Инструмент
Описание
bots.list
Список зарегистрированных ботов
bots.register
Зарегистрировать нового бота по токену
bots.default
Получить или установить бота по умолчанию
bot.info
Информация о боте (имя, username, фичи)
bots.set_profile_photo
Установить фото профиля бота (Bot API 9.4)
bots.remove_profile_photo
Удалить фото профиля бота (Bot API 9.4)
bots.user_profile_audios
Аудио профиля пользователя (Bot API 9.4)
Инструмент
Описание
webhook.setup
Настроить вебхук
webhook.info
Текущая конфигурация вебхука
webhook.delete
Удалить вебхук
Опросы, реакции и обновления (5)
Инструмент
Описание
polls.send
Создать опрос или викторину
polls.stop
Остановить опрос и показать результаты
polls.list
Получить список опросов
reactions.set
Установить реакцию на сообщение
updates.fetch
Получить входящие обновления
Инструмент
Описание
checklists.send
Отправить чек-лист с задачами (Bot API 9.1)
checklists.edit
Редактировать существующий чек-лист
Stars, подарки и платежи (11)
Инструмент
Описание
stars.balance
Баланс звёзд бота (Bot API 9.1)
stars.invoice
Создать счёт на оплату Stars
stars.refund
Возврат Stars платежа
stars.transactions
История транзакций Stars
stars.edit_subscription
Редактировать Star-подписку (Bot API 8.0)
gifts.premium
Подарить премиум-подписку (Bot API 9.3)
gifts.user
Подарки пользователя (Bot API 9.3)
gifts.chat
Подарки чата (Bot API 9.3)
gifts.send
Отправить подарок (Bot API 8.0)
gifts.available
Список доступных подарков (Bot API 8.0)
stories.repost
Репост истории (Bot API 9.3)
Инструмент
Описание
predictions.create_event
Создать событие для ставок (Polymarket-style)
predictions.place_bet
Разместить ставку
predictions.resolve
Разрешить событие и выплатить выигрыши
predictions.list
Список событий
predictions.get
Детали события с коэффициентами
predictions.user_bets
Ставки пользователя
predictions.currencies
Доступные валюты (XTR, AC, TON)
Инструмент
Описание
balance.get
Баланс пользователя
balance.deposit
Пополнить баланс
balance.history
История транзакций баланса
balance.top
Топ пользователей по балансу
Инструмент
Описание
forums.create
Создать топик в форум-группе
forums.edit
Редактировать имя/иконку топика
forums.close
Закрыть топик
forums.reopen
Повторно открыть топик
forums.delete
Удалить топик со всеми сообщениями
forums.unpin_all
Открепить все сообщения в топике
Инструмент
Описание
stories.post
Опубликовать историю в канал (Bot API 9.0)
stories.edit
Редактировать опубликованную историю
stories.delete
Удалить историю
Инструмент
Описание
suggested_posts.approve
Одобрить предложенный пост (Bot API 9.2)
suggested_posts.decline
Отклонить предложенный пост (Bot API 9.2)
Инструмент
Описание
calendar.create
Создать календарь
calendar.list
Список календарей
calendar.create_entry
Создать запись (событие, задача, триггер, монитор)
calendar.list_entries
Записи с фильтрацией по дате, статусу, тегам
calendar.get_entry
Получить запись по ID
calendar.get_chain
Цепочка связанных событий
calendar.update_entry
Обновить запись
calendar.move_entry
Переместить запись
calendar.set_status
Установить статус
calendar.delete_entry
Удалить запись
calendar.entry_history
История изменений записи
calendar.bulk_create
Массовое создание (до 100)
calendar.bulk_delete
Массовое удаление (до 100)
calendar.upcoming
Предстоящие события
calendar.get_due
Записи, готовые к исполнению
calendar.fire
Результат исполнения триггера
calendar.tick
Тик монитора
calendar.budget
Сводка бюджета за период
calendar.create_trigger
Создать одноразовый триггер
calendar.create_monitor
Создать периодический монитор
Инструмент
Описание
icons.resolve
Проверить доступность SVG-иконки (3300+ брендов)
Инструмент
Описание
webui.create_page
Создать страницу (page/survey/prediction/calendar)
webui.list_pages
Список страниц
webui.create_link
Создать индивидуальную ссылку
webui.get_submissions
Получить ответы формы
webui.create_prediction
Создать страницу предсказания (shortcut)
webui.create_survey
Создать опросник (shortcut)
webui.list_roles
Список ролей (опционально user_id)
webui.grant_role
Назначить роль {user_id, role, granted_by, note}
webui.revoke_role
Отозвать роль {user_id, role}
webui.check_access
Проверить доступ {user_id, slug} → {has_access, reasons}
curl -X POST http://127.0.0.1:3335/tools/messages.send \
-H ' content-type: application/json' \
-d ' {
"chat_id": -100123456,
"text": "<b>Привет от LLM!</b>",
"parse_mode": "HTML"
}'
curl -X POST http://127.0.0.1:3335/tools/media.send_photo \
-H ' content-type: application/json' \
-d ' {
"chat_id": -100123456,
"photo": "https://example.com/img.jpg",
"caption": "Описание"
}'
curl -X POST http://127.0.0.1:3335/tools/commands.create \
-H ' content-type: application/json' \
-d ' {
"scope_type": "default",
"commands": [
{"command": "start", "description": "Начать"},
{"command": "help", "description": "Справка"}
]
}'
Стилизованные кнопки (Bot API 9.4)
curl -X POST http://127.0.0.1:3335/tools/messages.send \
-H ' content-type: application/json' \
-d ' {
"chat_id": -100123456,
"text": "Выберите действие:",
"reply_markup": {
"inline_keyboard": [[
{"text": "Подтвердить", "callback_data": "ok", "button_style": "success"},
{"text": "Отменить", "callback_data": "cancel", "button_style": "danger"}
]]
}
}'
curl -X POST http://127.0.0.1:3335/tools/polls.send \
-H ' content-type: application/json' \
-d ' {
"chat_id": -100123456,
"question": "Какой язык программирования вы предпочитаете?",
"options": ["Python", "JavaScript", "Go", "Rust"],
"type": "quiz",
"correct_option_id": 0,
"explanation": "Python — самый популярный язык для ML и data science",
"open_period": 300
}'
curl -X POST http://127.0.0.1:3335/tools/reactions.set \
-H ' content-type: application/json' \
-d ' {
"chat_id": -100123456,
"message_id": 42,
"reaction": [{"type": "emoji", "emoji": "👍"}],
"is_big": false
}'
# Список ботов
curl http://127.0.0.1:3335/tools/bots.list
# Информация о текущем боте
curl -X POST http://127.0.0.1:3335/tools/bot.info \
-H ' content-type: application/json' \
-d ' {}'
В claude_desktop_config.json:
{
"mcpServers" : {
"telegram" : {
"command" : " node" ,
"args" : [" /path/to/Telegram-MCP/mcp/dist/index.js" ],
"env" : {
"TELEGRAM_API_URL" : " http://localhost:8081" ,
"MCP_HTTP_PORT" : " 3335"
}
}
}
}
Или через Docker:
{
"mcpServers" : {
"telegram" : {
"command" : " docker" ,
"args" : [" exec" , " -i" , " tgmcp" , " node" , " dist/index.js" ]
}
}
}
LLM (Claude)
│ MCP stdio
▼
telegram-mcp / tgmcp (Node.js :3335)
│ HTTP
▼
tgapi (FastAPI :8081)
│ httpx
▼
Telegram Bot API
MCP-сервер — тонкий прокси. Он не содержит бизнес-логики: валидирует параметры (zod) и перенаправляет запросы к HTTP API.
По умолчанию MCP использует http://tgapi:8000. Если URL не задан явно и основной хост недоступен,
на 1 релиз включён legacy retry на http://telegram-api:8000.