
Mcp Telegram Bot
Connects Claude to the Telegram Bot API so you can send messages, check bot status, and poll for updates without writing integration code yourself. You get three tools: send_message for pushing text to chats, get_me for bot info, and get_updates for fetching recent activity. Requires a bot token from BotFather and runs over stdio transport. Reach for this when you want Claude to interact with Telegram channels or groups directly, like monitoring conversations, posting notifications, or building automated responses. The resource endpoint exposes bot status for quick health checks.
- tools
- 27
- transport
- STDIO
- last updated
- Mar 28, 2026
Tools
27 toolsPublic tool metadata for what this MCP can expose to an agent.
tg_get_meGet basic information about the bot: id, username, first_name, can_join_groups, can_read_all_group_messages, supports_inline_queries.1 params
Get basic information about the bot: id, username, first_name, can_join_groups, can_read_all_group_messages, supports_inline_queries.
_fieldsstringtg_set_my_commandsSet the list of bot commands shown in the Telegram chat menu. Each command has a "command" (1-32 chars, lowercase a-z, 0-9, _) and a "description" (1-256 chars). Max 100 commands.3 params
Set the list of bot commands shown in the Telegram chat menu. Each command has a "command" (1-32 chars, lowercase a-z, 0-9, _) and a "description" (1-256 chars). Max 100 commands.
commandsarraylanguage_codestringscopeobjecttg_send_messageSend a text message to a chat. Supports Markdown, MarkdownV2, and HTML formatting. Can include inline keyboards via reply_markup.7 params
Send a text message to a chat. Supports Markdown, MarkdownV2, and HTML formatting. Can include inline keyboards via reply_markup.
chat_idstringdisable_notificationbooleanparse_modestringprotect_contentbooleanreply_markupobjectreply_to_message_idnumbertextstringtg_send_photoSend a photo to a chat. Provide a URL or file_id from a previously uploaded photo.6 params
Send a photo to a chat. Provide a URL or file_id from a previously uploaded photo.
captionstringchat_idstringparse_modestringphotostringreply_markupobjectreply_to_message_idnumbertg_send_documentSend a document/file to a chat. Provide a URL or file_id. Max 50MB for bots.5 params
Send a document/file to a chat. Provide a URL or file_id. Max 50MB for bots.
captionstringchat_idstringdocumentstringparse_modestringreply_markupobjecttg_send_videoSend a video to a chat. Provide a URL or file_id. Supports MPEG4 format, max 50MB.7 params
Send a video to a chat. Provide a URL or file_id. Supports MPEG4 format, max 50MB.
captionstringchat_idstringdurationnumberheightnumberparse_modestringvideostringwidthnumbertg_send_audioSend an audio file to a chat. Displayed as a music player. Provide a URL or file_id. Max 50MB, MP3/M4A format.7 params
Send an audio file to a chat. Displayed as a music player. Provide a URL or file_id. Max 50MB, MP3/M4A format.
audiostringcaptionstringchat_idstringdurationnumberparse_modestringperformerstringtitlestringtg_send_locationSend a geographic location point to a chat.4 params
Send a geographic location point to a chat.
chat_idstringlatitudenumberlongitudenumberreply_markupobjecttg_send_pollSend a poll to a chat. Supports regular polls and quiz mode. For quiz mode, set type to "quiz" and provide correct_option_id.7 params
Send a poll to a chat. Supports regular polls and quiz mode. For quiz mode, set type to "quiz" and provide correct_option_id.
allows_multiple_answersbooleanchat_idstringcorrect_option_idnumberis_anonymousbooleanoptionsarrayquestionstringtypestringtg_send_contactSend a phone contact card to a chat.4 params
Send a phone contact card to a chat.
chat_idstringfirst_namestringlast_namestringphone_numberstringtg_edit_message_textEdit the text of a previously sent message. The bot must be the author of the message.5 params
Edit the text of a previously sent message. The bot must be the author of the message.
chat_idstringmessage_idnumberparse_modestringreply_markupobjecttextstringtg_edit_message_captionEdit the caption of a previously sent media message (photo, video, document, audio).5 params
Edit the caption of a previously sent media message (photo, video, document, audio).
captionstringchat_idstringmessage_idnumberparse_modestringreply_markupobjecttg_delete_messageDelete a message. Bot must have delete permission in group chats. Messages older than 48 hours cannot be deleted.2 params
Delete a message. Bot must have delete permission in group chats. Messages older than 48 hours cannot be deleted.
chat_idstringmessage_idnumbertg_get_chatGet detailed information about a chat: title, description, type, member count, permissions, pinned message, etc.1 params
Get detailed information about a chat: title, description, type, member count, permissions, pinned message, etc.
chat_idstringtg_get_chat_member_countGet the number of members in a chat.1 params
Get the number of members in a chat.
chat_idstringtg_get_chat_memberGet information about a specific member: status (creator, administrator, member, restricted, left, kicked), permissions, and custom title.2 params
Get information about a specific member: status (creator, administrator, member, restricted, left, kicked), permissions, and custom title.
chat_idstringuser_idnumbertg_ban_chat_memberBan a user from a group, supergroup, or channel. The user will be unable to return unless unbanned. Bot must be admin with ban permission.4 params
Ban a user from a group, supergroup, or channel. The user will be unable to return unless unbanned. Bot must be admin with ban permission.
chat_idstringrevoke_messagesbooleanuntil_datenumberuser_idnumbertg_unban_chat_memberUnban a previously banned user. The user is NOT added back automatically and must rejoin via invite link.3 params
Unban a previously banned user. The user is NOT added back automatically and must rejoin via invite link.
chat_idstringonly_if_bannedbooleanuser_idnumbertg_set_webhookSet a webhook URL for receiving Telegram updates. Telegram sends POST requests with JSON Update objects to this URL. Supported ports: 443, 80, 88, 8443.4 params
Set a webhook URL for receiving Telegram updates. Telegram sends POST requests with JSON Update objects to this URL. Supported ports: 443, 80, 88, 8443.
allowed_updatesarraymax_connectionsnumbersecret_tokenstringurlstringtg_delete_webhookRemove the webhook integration. After this, you can use getUpdates for polling.1 params
Remove the webhook integration. After this, you can use getUpdates for polling.
drop_pending_updatesbooleantg_get_webhook_infoGet current webhook status: URL, pending update count, last error date/message, max connections, and allowed update types.1 params
Get current webhook status: URL, pending update count, last error date/message, max connections, and allowed update types.
_fieldsstringtg_answer_callback_queryAnswer a callback query from an inline keyboard button press. Must be called to stop the loading indicator on the button.3 params
Answer a callback query from an inline keyboard button press. Must be called to stop the loading indicator on the button.
callback_query_idstringshow_alertbooleantextstringtg_get_fileGet file info and download URL. Returns file_id, file_size, file_path, and a ready-to-use download_url. Files up to 20MB.1 params
Get file info and download URL. Returns file_id, file_size, file_path, and a ready-to-use download_url. Files up to 20MB.
file_idstringtg_get_user_profile_photosGet a list of profile photos for a user.3 params
Get a list of profile photos for a user.
limitnumberoffsetnumberuser_idnumbertg_pin_chat_messagePin a message in a chat. Bot must have pin_messages admin permission in groups/supergroups.3 params
Pin a message in a chat. Bot must have pin_messages admin permission in groups/supergroups.
chat_idstringdisable_notificationbooleanmessage_idnumbertg_unpin_chat_messageUnpin a message in a chat. If message_id is not provided, unpins the most recent pinned message.2 params
Unpin a message in a chat. If message_id is not provided, unpins the most recent pinned message.
chat_idstringmessage_idnumbertg_create_chat_invite_linkCreate an additional invite link for a chat. Bot must be admin with invite_users permission.4 params
Create an additional invite link for a chat. Bot must be admin with invite_users permission.
chat_idstringexpire_datenumbermember_limitnumbernamestringSponsors
Readme
mcp-telegram-bot
MCP server that exposes a Telegram bot
Install
pip install mcp-telegram-bot
Setup
- Create a Telegram bot by talking to @BotFather on Telegram
- Get your bot token
- Set the
TELEGRAM_BOT_TOKENenvironment variable
Usage
export TELELEGRAM_BOT_TOKEN="your-bot-token-here"
mcp-telegram-bot
MCP Tools
- send_message: Send a message to a Telegram chat
- get_me: Get bot information
- get_updates: Get recent updates from Telegram
MCP Resources
- bot://status: Get bot status
mcp-name: io.github.daedalus/mcp-telegram-bot
Development
Details
- Repository
- github.com/daedalus/mcp-telegram-bot
- Category
- Communication & Messaging
- Package
mcp-telegram-bot- Transport
- STDIO
- Registry
- MCP registry, active