telegram-mcp-kit
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_HOST | No | Bind host (default 127.0.0.1) | |
| MCP_PORT | No | Bind port (default 8000) | |
| HTTP_TIMEOUT | No | Telegram API timeout in seconds (default 30) | |
| MCP_TRANSPORT | No | stdio (default) or sse | |
| TELEGRAM_CHAT_ID | No | Default chat ID (if set, chat_id can be omitted in tool calls) | |
| TELEGRAM_BOT_TOKEN | Yes | Token from BotFather |
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_bot_infoA | Get information about the bot (name, username, etc.). |
| get_chat_infoA | Get information about a chat (group, channel, or private chat). Args: chat_id: Chat ID or @channel_username (uses TELEGRAM_CHAT_ID if omitted) |
| get_chat_member_countA | Get the number of members in a chat. Args: chat_id: Chat ID or @channel_username (uses TELEGRAM_CHAT_ID if omitted) |
| get_chat_adminsB | Get list of administrators in a chat. Args: chat_id: Chat ID or @channel_username (uses TELEGRAM_CHAT_ID if omitted) |
| ban_memberA | Ban a user from a chat. Args: user_id: User ID to ban chat_id: Chat ID or @channel_username (uses TELEGRAM_CHAT_ID if omitted) |
| unban_memberA | Unban a user from a chat. Args: user_id: User ID to unban chat_id: Chat ID or @channel_username (uses TELEGRAM_CHAT_ID if omitted) |
| set_chat_titleA | Change the title of a chat (group/channel). Args: title: New chat title (1-128 characters) chat_id: Chat ID or @channel_username (uses TELEGRAM_CHAT_ID if omitted) |
| set_chat_descriptionA | Change the description of a chat (group/channel). Args: description: New description (0-255 characters) chat_id: Chat ID or @channel_username (uses TELEGRAM_CHAT_ID if omitted) |
| pin_messageA | Pin a message in a chat. Args: message_id: ID of the message to pin chat_id: Chat ID or @channel_username (uses TELEGRAM_CHAT_ID if omitted) silent: Pin without notification (default False) |
| unpin_messageB | Unpin a message in a chat. Args: chat_id: Chat ID or @channel_username (uses TELEGRAM_CHAT_ID if omitted) message_id: ID of message to unpin (optional, unpins most recent if not specified) |
| send_photoA | Send a photo to a chat. Args: photo: Photo URL or file_id chat_id: Chat ID or @channel_username (uses TELEGRAM_CHAT_ID if omitted) caption: Photo caption (optional) parse_mode: "Markdown", "MarkdownV2", or "HTML" for caption (optional) |
| send_photo_fileA | Send a local photo file to a chat. Args: file_path: Absolute path to the photo file on disk chat_id: Chat ID or @channel_username (uses TELEGRAM_CHAT_ID if omitted) caption: Photo caption (optional) parse_mode: "Markdown", "MarkdownV2", or "HTML" for caption (optional) |
| send_documentA | Send a document/file to a chat. Args: document: Document URL or file_id chat_id: Chat ID or @channel_username (uses TELEGRAM_CHAT_ID if omitted) caption: Document caption (optional) parse_mode: "Markdown", "MarkdownV2", or "HTML" for caption (optional) |
| send_document_fileA | Send a local file as a document to a chat. Args: file_path: Absolute path to the file on disk chat_id: Chat ID or @channel_username (uses TELEGRAM_CHAT_ID if omitted) caption: Document caption (optional) parse_mode: "Markdown", "MarkdownV2", or "HTML" for caption (optional) |
| get_file_infoA | Get file info and download link from Telegram. Args: file_id: Telegram file ID (from received messages) |
| send_messageA | Send a text message to a Telegram chat. Args: text: Message text (supports Markdown/HTML based on parse_mode) chat_id: Chat ID or @channel_username (uses TELEGRAM_CHAT_ID if omitted) parse_mode: "Markdown", "MarkdownV2", or "HTML" (optional) reply_to_message_id: ID of message to reply to (optional) |
| edit_messageA | Edit an existing message. Args: message_id: ID of the message to edit text: New text for the message chat_id: Chat ID or @channel_username (uses TELEGRAM_CHAT_ID if omitted) parse_mode: "Markdown", "MarkdownV2", or "HTML" (optional) |
| delete_messageB | Delete a message from a chat. Args: message_id: ID of the message to delete chat_id: Chat ID or @channel_username (uses TELEGRAM_CHAT_ID if omitted) |
| forward_messageB | Forward a message from one chat to another. Args: from_chat_id: Source chat ID message_id: ID of the message to forward chat_id: Target chat ID (uses TELEGRAM_CHAT_ID if omitted) |
| get_updatesA | Get recent messages/updates received by the bot. Args: offset: Update ID offset (to get updates after a specific ID) limit: Maximum number of updates to return (1-100, default 100) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/QuocTang/telegram-mcp-kit'
If you have feedback or need assistance with the MCP directory API, please join our Discord server