telegram-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TELEGRAM_API_ID | No | Your Telegram API ID. Defaults to the value from ~/.telegram-mcp/config.env | |
| TELEGRAM_SESSION | No | Path to the session string file. Defaults to ~/.telegram-mcp/session.txt | |
| TELEGRAM_API_HASH | No | Your Telegram API hash. Defaults to the value from ~/.telegram-mcp/config.env | |
| TELEGRAM_MCP_HOME | No | Base directory containing configuration and session files. Defaults to ~/.telegram-mcp |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_meA | Return the logged-in Telegram account. |
| list_chatsB | List dialogs (private chats, groups, channels, bots), newest first. Filter by title with |
| chat_infoC | Get details about a user, bot, group or channel. |
| get_participantsB | List members of a group or channel (admin rights may be needed for channels). |
| read_messagesA | Read messages from a chat, newest first. offset_id: return messages older than this id (paging back). min_id: return only messages newer than this id (polling for new ones). search: only messages containing this text. |
| search_messagesC | Search messages across all chats. |
| send_messageB | Send a text message (also used to publish a post to a channel). parse_mode: 'md' (bold, italic, |
| edit_messageC | Edit one of your messages. |
| delete_messagesB | Delete messages (revoke=True deletes for everyone). |
| forward_messagesB | Forward messages from one chat to another. |
| mark_readC | Mark all messages in a chat as read. |
| pin_messageB | Pin a message in a chat or channel. |
| click_buttonC | Press a keyboard button under a message, by (part of) its text or by row/column (0-based). |
| send_fileC | Send a local file (photo, video, document, voice) with an optional caption. |
| download_mediaC | Download the media attached to a message; returns the saved file path. |
| create_channelB | Create a channel (megagroup=True creates a supergroup). Optional public @username. |
| create_groupB | Create a basic group with the given users. |
| invite_usersC | Add users to a group or channel. |
| join_chatB | Join a public group/channel (@username or link) or a private one (t.me/+invite). |
| leave_chatC | Leave a group/channel or delete a private dialog. |
| talk_to_botA | Send a message to a bot (e.g. @BotFather) and return its replies, including their buttons. |
| create_botA | Create a new bot via @BotFather. username must end with 'bot'. Returns the bot token. |
| bot_apiC | Call any Telegram Bot API method as a bot, e.g. method='setMyCommands' or 'sendMessage'. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 23 tools
Each tool maps to a distinct resource and action: account, chats, participants, messages, media, groups/channels, and bots. Even the generic bot_api is clearly positioned as a raw API escape hatch rather than a duplicative operation.
Most tools follow a clear verb_noun pattern such as send_message, create_channel, and delete_messages. Minor deviations like chat_info and bot_api break the pattern, but they are still readable and predictable.
With 23 tools, the server sits in the heavy borderline range where coherence can suffer. However, the count is justified by the broad Telegram feature surface and each tool has a distinct purpose.
The tool set covers the primary lifecycle well: chats, messages, media, groups/channels, participants, and bot management. Minor gaps exist, such as updating chat metadata or profile settings, but they are not critical for core Telegram workflows.