Skip to main content
Glama
eduard256

telegram-channel-mcp-server

by eduard256

telegram-channel-mcp-server

MCP-сервер (stdio) для публикации и управления постами в Telegram-канале через Bot API. Позволяет агенту (Claude Code, Claude Desktop и т.д.) отправлять текст, фотографии, видео, альбомы, документы, голосовые сообщения, видеозаметки, опросы/викторины и платный контент, а также редактировать, удалять и закреплять посты.

Установка

npm install
npm run build

Related MCP server: Telegram Bot MCP Server

Конфигурация

Переменная

Обязательный

Описание

TELEGRAM_BOT_TOKEN

да

Токен бота от @BotFather. Бот должен быть администратором канала с правом «Отправлять сообщения» (и соответствующими правами на редактирование/удаление).

TELEGRAM_CHAT_ID

нет

Канал по умолчанию: -100… или @username. Каждый инструмент принимает chat_id, который переопределяет значение по умолчанию.

Claude Code

claude mcp add telegram-channel -e TELEGRAM_BOT_TOKEN=123:ABC -e TELEGRAM_CHAT_ID=-1001234567890 -- node /abs/path/telegram-channel-mcp/dist/index.js

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "telegram-channel": {
      "command": "node",
      "args": ["/abs/path/telegram-channel-mcp/dist/index.js"],
      "env": { "TELEGRAM_BOT_TOKEN": "123:ABC", "TELEGRAM_CHAT_ID": "-1001234567890" }
    }
  }
}

Инструменты

Tool

Что делает

telegram_send_message

Текст с HTML/MarkdownV2, управление превью ссылок, кнопки

telegram_send_photo / _video / _animation / _document / _audio / _voice / _video_note

Один медиаэлемент с подписью, спойлером, кнопками

telegram_send_media_group

Альбом из 2–10 элементов одним постом

telegram_send_paid_media

Платный пост за Telegram Stars

telegram_send_poll / telegram_stop_poll

Опрос или викторина / закрыть его и получить результаты

telegram_edit_message

Изменить текст, подпись, медиа, кнопки

telegram_delete_messages

Удалить до 100 постов

telegram_pin_message / telegram_unpin_message

Закрепить / открепить

telegram_copy_message

Скопировать или переслать пост из другого чата

telegram_set_reaction

Поставить реакцию от имени канала

telegram_get_chat

Информация о канале и количество подписчиков (только чтение)

Медиа в каждом инструменте задаётся строкой: публичный http(s) URL, абсолютный путь к локальному файлу (сервер загружает его) или Telegram file_id (возвращается в результате отправки, так что файл можно использовать повторно без повторной загрузки).

Кнопки — это массив рядов: [[{ "text": "Website", "url": "https://…", "style": "primary" }], [{ "text": "Copy", "copy_text": "PROMO" }]]. Ровно одно из url / callback_data / copy_text; style: primary | success | danger.

Ограничения Bot API, обрабатываемые сервером

  • Альбомы и видеозаметки не могут содержать кнопки — отправляйте их отдельным сообщением.

  • В альбоме show_caption_above_media применяется сразу ко всем элементам.

  • Платный контент работает только в каналах, 1–10 000 звёзд.

  • Опросы в каналах всегда анонимные.

  • Лимиты: текст 4096 символов, подпись 1024, файл 50 МБ при загрузке / 20 МБ по URL.

Разработка

npm run dev                        # run from sources
npm run smoke -- /path/to/img.png  # e2e check against a real channel (creates and deletes test posts)
npx @modelcontextprotocol/inspector node dist/index.js

Структура: src/telegram.ts — API-клиент и разрешение медиа, src/schemas.ts — общие zod-схемы, src/format.ts — форматирование ответов, src/tools/* — инструменты, сгруппированные по доменам, src/index.ts — точка входа.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables interaction with Telegram channels through the Bot API, supporting comprehensive messaging operations including sending text/photos, creating polls, managing reactions, and editing/deleting messages. Provides complete channel management capabilities for automated Telegram bot operations.
    7
    26 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Lets Claude manage a Telegram channel through the Bot API, including tracking subscriber growth and publishing, editing, pinning, or deleting posts.
    31 npm
    MIT