Telegram-bot
MCP server for Telegram Bot API — send messages, photos, videos, polls, manage chats, webhooks, and callbacks.
Community: Submitted by a user or imported; check the owner before granting accessOnlineAPI key requiredRU / CISFreeCan modify data
What it can do
- Tg Get Me: Get basic information about the bot: id, username, first_name, can_join_groups, can_read_all_group_messages, supports_inline_queries.
- Tg Set My Commands: 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.
- Tg Send Message: Send a text message to a chat. Supports Markdown, MarkdownV2, and HTML formatting. Can include inline keyboards via reply_markup.
What data it sees
Do you need an account
An API key from the service settings is required
MCP server for Telegram Bot API — send messages, photos, videos, polls, manage chats, webhooks, and callbacks.
Features
- Send text, photo, video, audio, document, location, poll, contact messages
- Edit and delete messages
- Chat management (info, members, ban/unban)
- Webhook setup and management
- Callback query handling
- Pin/unpin messages, invite links
27 Tools
Bot Info: get bot info, set commands Send Messages: text, photo, document, video, audio, location, poll, contact Edit/Delete: edit text, edit caption, delete message Chat: get info, member count, member details, ban, unban Webhooks: set, delete, get webhook info Callbacks: answer callback, get file, get profile photos Pins: pin, unpin, create invite link
Configuration
- TELEGRAM_BOT_TOKEN — Get one from @BotFather on Telegram
Server tool list (27)
Raw names from tools/list. Only developers need these.
| tg_get_me | Get basic information about the bot: id, username, first_name, can_join_groups, can_read_all_group_messages, supports_inline_queries. |
| tg_set_my_commands | 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. |
| tg_send_message | Send a text message to a chat. Supports Markdown, MarkdownV2, and HTML formatting. Can include inline keyboards via reply_markup. |
| tg_send_photo | Send a photo to a chat. Provide a URL or file_id from a previously uploaded photo. |
| tg_send_document | Send a document/file to a chat. Provide a URL or file_id. Max 50MB for bots. |
| tg_send_video | Send a video to a chat. Provide a URL or file_id. Supports MPEG4 format, max 50MB. |
| tg_send_audio | Send an audio file to a chat. Displayed as a music player. Provide a URL or file_id. Max 50MB, MP3/M4A format. |
| tg_send_location | Send a geographic location point to a chat. |
| tg_send_poll | Send a poll to a chat. Supports regular polls and quiz mode. For quiz mode, set type to "quiz" and provide correct_option_id. |
| tg_send_contact | Send a phone contact card to a chat. |
| tg_edit_message_text | Edit the text of a previously sent message. The bot must be the author of the message. |
| tg_edit_message_caption | Edit the caption of a previously sent media message (photo, video, document, audio). |
| tg_delete_message | Delete a message. Bot must have delete permission in group chats. Messages older than 48 hours cannot be deleted. |
| tg_get_chat | Get detailed information about a chat: title, description, type, member count, permissions, pinned message, etc. |
| tg_get_chat_member_count | Get the number of members in a chat. |
| tg_get_chat_member | Get information about a specific member: status (creator, administrator, member, restricted, left, kicked), permissions, and custom title. |
| tg_ban_chat_member | 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. |
| tg_unban_chat_member | Unban a previously banned user. The user is NOT added back automatically and must rejoin via invite link. |
| tg_set_webhook | 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. |
| tg_delete_webhook | Remove the webhook integration. After this, you can use getUpdates for polling. |
| tg_get_webhook_info | Get current webhook status: URL, pending update count, last error date/message, max connections, and allowed update types. |
| tg_answer_callback_query | Answer a callback query from an inline keyboard button press. Must be called to stop the loading indicator on the button. |
| tg_get_file | Get file info and download URL. Returns file_id, file_size, file_path, and a ready-to-use download_url. Files up to 20MB. |
| tg_get_user_profile_photos | Get a list of profile photos for a user. |
| tg_pin_chat_message | Pin a message in a chat. Bot must have pin_messages admin permission in groups/supergroups. |
| tg_unpin_chat_message | Unpin a message in a chat. If message_id is not provided, unpins the most recent pinned message. |
| tg_create_chat_invite_link | Create an additional invite link for a chat. Bot must be admin with invite_users permission. |