telegram-mcp-cli
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TELEGRAM_API_ID | Yes | From my.telegram.org, API development tools | |
| TELEGRAM_SESSION | Yes | From `telegram-mcp login`. Full account access and does not expire. | |
| TELEGRAM_API_HASH | Yes | Issued with the api_id, same page |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| whoamiA | The Telegram account this session is signed in as. Call it first when it matters whose messages you are about to read or send. |
| resolveA | Turn a @username, phone number or numeric id into a chat you can act on. Use it before sending to someone you only know by handle. |
| list_chatsA | Recent conversations, newest first. Returns a compact row per chat: id, name, kind, unread count and a short preview of the last message. Use |
| get_chatB | Details of a single chat: name, kind, username, member count and description where the chat has them. |
| historyA | Messages from one chat, newest first. Bodies are truncated to a preview unless |
| searchA | Search message text, either inside one chat or across the whole account when no peer is given. |
| sendA | Send a message to a chat. This is visible to the recipient immediately and posts as you, so only send what was actually asked for. |
| editA | Change the text of a message you sent. Telegram marks it edited. |
| deleteA | Delete one or more messages. This cannot be undone, and with revoke it removes them for everyone in the chat, not only for you. |
| mark_readB | Clear the unread count on a chat. |
| forwardB | Forward messages from one chat into another. |
| download_mediaA | Save the photo, video, document or voice note attached to a message, and return the local path. The file is written to disk rather than returned inline, because a base64 image in a tool result is enormous and unreadable. |
| send_fileA | Send a local file to a chat, with an optional caption. |
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 13 tools
Most tools have clearly distinct purposes: send is for text, send_file for files, and read-side tools like list_chats, get_chat, history, and search differ by scope. Minor overlap exists between send/send_file and history/search, but the descriptions resolve it well.
Names mix bare verbs (send, edit, delete, forward, resolve), verb_noun forms (download_media, send_file, list_chats, get_chat, mark_read), and a noun/whoami. All are lowercase and readable, but there is no single consistent pattern.
13 tools is well within the ideal range and each maps to a distinct Telegram operation. The set feels scoped and no tool appears to be filler.
Core messaging lifecycle is covered: identity, resolution, reading, sending, editing, deleting, forwarding, media, and read marking. Minor gaps remain for reply threading, chat/group management, or contact operations, but core agent workflows are supported.