Skip to main content
Glama
bssth

telegram-mcp

by bssth

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
auth_statusA

Статус подключения и входа: подключён ли клиент, авторизован ли аккаунт, включён ли режим только-чтение, и кто вошёл (если вошёл).

login_send_codeA

Первый шаг входа по номеру: Telegram пришлёт код. phone — в международном формате, например +79991234567. Затем вызовите login_complete(code=...).

login_completeA

Завершить вход. Передайте code из сообщения Telegram; если включена двухфакторная аутентификация — затем вызовите с password=... . Для входа по QR вызовите без аргументов после сканирования.

login_qrA

Начать вход по QR-коду: вернёт ссылку tg://login. Отсканируйте её уже залогиненным Telegram (Настройки → Устройства → Подключить устройство), затем вызовите login_complete() без аргументов.

logoutA

Выйти из аккаунта в Telegram и удалить локальную сессию. Требует confirm=true, так как отменяет авторизацию userbot.

list_dialogsB

Последние диалоги (чаты) с непрочитанными и последним сообщением, новые первыми. archived=true — папка «Архив». query — подстрока названия (без учёта регистра).

get_chatA

Информация о чате/пользователе/канале: id, тип, название/@username, число участников и описание (bio/about), если доступны. chat — id, @username, ссылка t.me, телефон или me.

get_chat_foldersB

Папки (folders) аккаунта: их id и названия.

join_chatA

Вступить в группу/канал по @username, публичной ссылке t.me/name или ссылке-приглашению t.me/+hash (t.me/joinchat/hash).

leave_chatA

Покинуть группу/канал. Требует confirm=true. chat — id, @username или ссылка.

get_historyA

Сообщения чата, новые первыми. before_id — брать сообщения старше этого id (пагинация вглубь истории). from_user — только от указанного отправителя.

get_messageA

Одно сообщение по id (с деталями вложения, если есть).

search_messagesA

Поиск сообщений по тексту. Без chat — глобально по всем чатам; с chat — внутри него. from_user работает вместе с chat.

send_messageB

Отправить текстовое сообщение. parse_mode: md | html | none. reply_to — id сообщения, на которое отвечаем. silent — без звука уведомления.

edit_messageC

Изменить своё сообщение по id.

delete_messagesA

Удалить сообщения. revoke=true — у всех; false — только со своей стороны.

forward_messagesB

Переслать сообщения из одного чата в другой. drop_author=true убирает шапку «Переслано от» — у получателя выглядит как обычное сообщение.

pin_messageB

Закрепить сообщение. notify=false — без уведомления участникам.

unpin_messageD

Снять закрепление с сообщения.

send_reactionA

Поставить реакцию emoji на сообщение; emoji=None (или пусто) — снять реакцию. big=true — крупная анимация.

mark_readA

Отметить чат прочитанным — до max_id включительно или весь.

send_fileA

Отправить локальный файл (фото/видео/документ/аудио). caption — подпись (parse_mode: md|html|none). as_voice — как голосовое, as_video_note — как «кружок», force_document — как файл без предпросмотра. Для видео при наличии ffprobe проставляются размеры/длительность для нормального воспроизведения.

download_mediaB

Скачать вложение сообщения в локальный файл. Возвращает путь. По умолчанию — в TELEGRAM_MCP_DOWNLOAD_DIR.

get_meB

Профиль текущего вошедшего аккаунта.

resolve_chatA

Разрешить ссылку в сущность Telegram: @username, телефон, ссылку t.me, числовой id или me. Возвращает id, тип и основные поля.

search_publicA

Глобальный поиск в Telegram по людям, публичным группам и каналам (по имени/@username). Минимум 3 символа.

get_participantsA

Участники группы/канала. query — фильтр по имени/@username. Для больших каналов Telegram отдаёт участников не полностью — это ограничение Telegram.

get_contactsA

Список контактов аккаунта (адресная книга Telegram).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.2/5.0

Scored across 28 tools

Disambiguation4/5

Most tools map to distinct actions, but get_chat and resolve_chat both work with chat identifiers and return entity information, and get_me overlaps with get_chat(me). The detailed descriptions clarify the differences, so confusion is possible but not severe.

Naming Consistency4/5

The dominant pattern is verb_noun (get_chat, send_message, list_dialogs, delete_messages). A few names break the pattern (auth_status is a noun phrase, login_send_code/login_complete are compound verbs), but the conventions are otherwise consistent and predictable.

Tool Count3/5

At 28 tools, this is on the heavy side; Telegram's API is broad, and each tool covers a distinct operation, so there is little duplication. Still, the count exceeds the typical 3-15 range and feels somewhat bloated compared to more focused servers.

Completeness4/5

Core workflows are well covered: authentication, listing/searching chats and messages, and full message lifecycle (send, edit, delete, forward, pin, react). Gaps like creating chats, managing participants, or updating account profile are minor for a userbot-oriented server.

Maintenance

ActivityMaintained
ResponsivenessNo issues