aiogram-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BOT_TOKEN | Yes | Telegram bot token from @BotFather, used to authenticate and connect to the Telegram API |
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
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| send_messageC | Send a text message to a Telegram chat or user. |
| send_photoC | Send a photo to a Telegram chat. |
| forward_messageC | Forward an existing message from one chat to another. |
| delete_messageC | Delete a message from a chat. |
| pin_messageC | Pin a message in a chat. |
| get_bot_infoA | Return metadata about the current Telegram bot. |
| get_chat_member_infoB | Return role and user info for a chat member. |
| get_user_profile_photosC | Return a lightweight list of Telegram profile photo file IDs. |
| get_chat_infoC | Get details about a chat. |
| get_chat_members_countB | Get the number of members in a chat. |
| ban_userC | Ban a user from a chat. |
| unban_userC | Unban a previously banned user. |
| set_chat_titleC | Change the title of a group or channel. |
| set_chat_descriptionB | Change the description of a group or channel. |
| subscribe_eventsA | Subscribe to real-time Telegram events. Receive notifications when new events match your filters. Read the telegram://events/queue resource to get event data. |
| unsubscribe_eventsC | Unsubscribe from real-time Telegram events. |
| send_interactive_messageB | Send a message with inline keyboard buttons. |
| edit_messageA | Edit the text and/or inline keyboard of an existing message. |
| answer_callback_queryB | Answer a callback query from an inline keyboard button press. |
| send_documentB | Send a document/file to a Telegram chat. |
| send_voiceB | Send a voice message to a Telegram chat. |
| send_videoB | Send a video to a Telegram chat. |
| send_animationC | Send a GIF/animation to a Telegram chat. |
| send_audioB | Send an audio file (music) to a Telegram chat. |
| send_stickerC | Send a sticker to a Telegram chat. |
| send_video_noteB | Send a video note (round video) to a Telegram chat. |
| send_contactB | Send a phone contact to a Telegram chat. |
| send_locationB | Send a location to a Telegram chat. |
| send_pollC | Send a poll to a Telegram chat. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| moderation_prompt | Review a user's behavior and decide on moderation action. Fetches user info, chat context, and recent messages to help the AI agent make an informed moderation decision. |
| announcement_prompt | Draft a Telegram announcement message. Provides a structured template with formatting guidelines to help the AI agent compose an effective announcement. |
| user_report_prompt | Generate a comprehensive report about a user in a chat. Fetches profile data, chat membership, and message history to compile a detailed user activity report. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| bot_info | Metadata about the connected Telegram bot. |
| config | Current aiogram-mcp server configuration. |
| chats | List of active Telegram chats the bot has seen. |
| events_queue | Real-time event queue from Telegram. Returns recent events (messages, commands) received by the bot. Use subscribe_events tool to get push notifications when new events arrive. Each event has an 'id' field — use it to track which events you've seen. |
| audit_log | Audit log of all MCP tool invocations. |
TDQS
Scored across 29 tools
Each tool targets a distinct action or resource, with no overlaps. Send methods are clearly differentiated by media type, and administrative actions like ban/unban/pin are separate.
All tools follow a verb_noun pattern in snake_case, e.g., send_message, get_chat_info, answer_callback_query. There are no deviations or mixed conventions.
29 tools is high but justified by the breadth of Telegram Bot API. It covers common operations without being excessive, though a few niche actions could be added.
The set covers core CRUD for messages, chats, members, and media, plus events. Missing some advanced features like stop_poll or leave_chat, but overall sufficient for typical bot interactions.