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.
Public 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 paramsGet 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 paramsSet 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.
scopeobjectcommandsarraylanguage_codestringtg_send_messageSend a text message to a chat. Supports Markdown, MarkdownV2, and HTML formatting. Can include inline keyboards via reply_markup.7 paramsSend a text message to a chat. Supports Markdown, MarkdownV2, and HTML formatting. Can include inline keyboards via reply_markup.
textstringchat_idstringparse_modestringreply_markupobjectprotect_contentbooleanreply_to_message_idnumberdisable_notificationbooleantg_send_photoSend a photo to a chat. Provide a URL or file_id from a previously uploaded photo.6 paramsSend a photo to a chat. Provide a URL or file_id from a previously uploaded photo.
photostringcaptionstringchat_idstringparse_modestringreply_markupobjectreply_to_message_idnumbertg_send_documentSend a document/file to a chat. Provide a URL or file_id. Max 50MB for bots.5 paramsSend 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 paramsSend a video to a chat. Provide a URL or file_id. Supports MPEG4 format, max 50MB.
videostringwidthnumberheightnumbercaptionstringchat_idstringdurationnumberparse_modestringtg_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 paramsSend an audio file to a chat. Displayed as a music player. Provide a URL or file_id. Max 50MB, MP3/M4A format.
audiostringtitlestringcaptionstringchat_idstringdurationnumberperformerstringparse_modestringtg_send_locationSend a geographic location point to a chat.4 paramsSend 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 paramsSend a poll to a chat. Supports regular polls and quiz mode. For quiz mode, set type to "quiz" and provide correct_option_id.
typestringchat_idstringoptionsarrayquestionstringis_anonymousbooleancorrect_option_idnumberallows_multiple_answersbooleantg_send_contactSend a phone contact card to a chat.4 paramsSend a phone contact card to a chat.
chat_idstringlast_namestringfirst_namestringphone_numberstringtg_edit_message_textEdit the text of a previously sent message. The bot must be the author of the message.5 paramsEdit the text of a previously sent message. The bot must be the author of the message.
textstringchat_idstringmessage_idnumberparse_modestringreply_markupobjecttg_edit_message_captionEdit the caption of a previously sent media message (photo, video, document, audio).5 paramsEdit 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 paramsDelete 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 paramsGet 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 paramsGet 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 paramsGet 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 paramsBan 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_idstringuser_idnumberuntil_datenumberrevoke_messagesbooleantg_unban_chat_memberUnban a previously banned user. The user is NOT added back automatically and must rejoin via invite link.3 paramsUnban a previously banned user. The user is NOT added back automatically and must rejoin via invite link.
chat_idstringuser_idnumberonly_if_bannedbooleantg_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 paramsSet a webhook URL for receiving Telegram updates. Telegram sends POST requests with JSON Update objects to this URL. Supported ports: 443, 80, 88, 8443.
urlstringsecret_tokenstringallowed_updatesarraymax_connectionsnumbertg_delete_webhookRemove the webhook integration. After this, you can use getUpdates for polling.1 paramsRemove 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 paramsGet 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 paramsAnswer a callback query from an inline keyboard button press. Must be called to stop the loading indicator on the button.
textstringshow_alertbooleancallback_query_idstringtg_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 paramsGet 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 paramsGet 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 paramsPin a message in a chat. Bot must have pin_messages admin permission in groups/supergroups.
chat_idstringmessage_idnumberdisable_notificationbooleantg_unpin_chat_messageUnpin a message in a chat. If message_id is not provided, unpins the most recent pinned message.2 paramsUnpin 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 paramsCreate an additional invite link for a chat. Bot must be admin with invite_users permission.
namestringchat_idstringexpire_datenumbermember_limitnumberMCP server that exposes a Telegram bot
pip install mcp-telegram-bot
TELEGRAM_BOT_TOKEN environment variableexport TELELEGRAM_BOT_TOKEN="your-bot-token-here"
mcp-telegram-bot
mcp-name: io.github.daedalus/mcp-telegram-bot
git clone https://github.com/daedalus/mcp-telegram-bot.git
cd mcp-telegram-bot
pip install -e ".[test]"
# run tests
pytest
# format
ruff format src/ tests/
# lint
ruff check src/ tests/
# type check
mypy src/
MIT
io.github.mindstone/mcp-server-microsoft-teams
com.mintmcp/outlook-email
helbertparanhos/resend-email-mcp
marlinjai/email-mcp
io.github.mindstone/mcp-server-email-imap
io.github.osamahassouna/email-playbook-mcp