telegram_copy_ messageCopy messages of any kind.
Post announcements to your channel, read and answer what people send your bot, share files, albums and polls, and look after members, admins and invite links, all through one bot you create in a minute.
PopMCPTelegram
Every Telegram Bot API method is here, with a few everyday tools for posting, reading incoming messages, handling files and running a chat, and the rest one search away.
186 tools in the full catalog: 34 read and 152 write. 28 load by default, and the rest are found with tool search.
telegram_copy_ messageCopy messages of any kind.
telegram_forward_ messageForward messages of any kind.
telegram_send_ documentSend general files.
telegram_send_ fileSend any file to a chat in one step.
telegram_send_ media_ groupSend a group of photos, live photos, videos, documents or audios as an album.
telegram_send_ messageSend text messages.
telegram_send_ photoSend photos.
telegram_send_ pollSend a native poll.
telegram_send_ rich_ messageSend rich messages.
telegram_delete_ messageDelete a message, including service messages, with the following limitations: - A message can only be deleted if it was sent less than 48 hours ago.
telegram_edit_ message_ textEdit text, rich and game messages.
telegram_get_ meA simple method for testing your bot's authentication token.
telegram_get_ my_ commandsGet the current list of the bot's commands for the given scope and user language.
telegram_set_ my_ commandsChange the list of the bot's commands.
telegram_set_ my_ descriptionChange the bot's description, which is shown in the chat with the bot if the chat is empty.
telegram_chat_ overviewEverything about one chat in one call: title, type, @username and link, description, member count, the administrators with their rights, and what this bot may do there (post, delete, pin, invite, ban).
telegram_get_ chatGet up-to-date information about the chat.
telegram_list_ chatsFind chat ids: the chats the bot can see now (from recent updates, the connection's default chat, and any chats you name in lookup), each with its id, type, title, @username, and the bot's status and rights there.
telegram_pin_ chat_ messageAdd a message to the list of pinned messages in a chat.
telegram_unpin_ chat_ messageRemove a message from the list of pinned messages in a chat.
telegram_ban_ chat_ memberBan an user in a group, a supergroup or a channel.
telegram_get_ chat_ administratorsGet a list of administrators in a chat.
telegram_get_ chat_ memberGet information about a member of a chat.
telegram_unban_ chat_ memberUnban a previously banned user in a supergroup or channel.
telegram_create_ chat_ invite_ linkCreate an additional invite link for a chat.
telegram_get_ webhook_ infoGet current webhook status.
telegram_read_ updatesRead what people recently sent the bot or did with it: messages, channel posts, button presses, joins and leaves, join requests, reactions, poll answers.
telegram_download_ fileRead a file someone sent the bot, by its file_id: text files (CSV, TXT, JSON, code, ...) come back as text, and photos and images (up to 5 MB) as an image you can look at.
telegram_copy_ messagesCopy messages of any kind.
telegram_forward_ messagesForward multiple messages of any kind.
telegram_send_ animationSend animation files (GIF or H.264/MPEG-4 AVC video without sound).
telegram_send_ audioSend audio files, if you want Telegram clients to display them in the music player.
telegram_send_ chat_ actionUse this method when you need to tell the user that something is happening on the bot's side.
telegram_send_ checklistSend a checklist on behalf of a connected business account.
telegram_send_ contactSend phone contacts.
telegram_send_ diceSend an animated emoji that will display a random value.
telegram_send_ live_ photoSend live photos.
telegram_send_ locationSend point on the map.
telegram_send_ message_ draftStream a partial message to an user while the message is being generated.
telegram_send_ paid_ mediaSend paid media.
telegram_send_ rich_ message_ draftStream a partial rich message to an user while the message is being generated.
telegram_send_ venueSend information about a venue.
telegram_send_ videoSend video files, Telegram clients support MPEG4 videos (other formats may be sent as Document).
telegram_send_ video_ noteSend a rounded square MPEG4 video of up to 1 minute long.
telegram_send_ voiceSend audio files, if you want Telegram clients to display the file as a playable voice message.
telegram_set_ message_ reactionChange the chosen reactions on a message.
telegram_add_ sticker_ to_ setAdd a new sticker to a set created by the bot.
telegram_approve_ suggested_ postApprove a suggested post in a direct messages chat.
telegram_create_ new_ sticker_ setCreate a new sticker set owned by an user.
telegram_decline_ suggested_ postDecline a suggested post in a direct messages chat.
telegram_delete_ all_ message_ reactionsRemove up to 10000 recent reactions in a group or a supergroup chat added by a given user or chat.
telegram_delete_ chat_ sticker_ setDelete a group sticker set from a supergroup.
telegram_delete_ ephemeral_ messageDelete an ephemeral message.
telegram_delete_ message_ reactionRemove a reaction from a message in a group or a supergroup chat.
telegram_delete_ messagesDelete multiple messages simultaneously.
telegram_delete_ my_ commandsDelete the list of the bot's commands for the given scope and user language.
telegram_delete_ sticker_ from_ setDelete a sticker from a set created by the bot.
telegram_delete_ sticker_ setDelete a sticker set that was created by the bot.
telegram_edit_ ephemeral_ message_ captionEdit the caption of an ephemeral message.
telegram_edit_ ephemeral_ message_ mediaEdit the media of an ephemeral message.
telegram_edit_ ephemeral_ message_ reply_ markupEdit only the reply markup of an ephemeral message.
telegram_edit_ ephemeral_ message_ textEdit an ephemeral text or rich message.
telegram_edit_ message_ captionEdit captions of messages.
telegram_edit_ message_ checklistEdit a checklist on behalf of a connected business account.
telegram_edit_ message_ live_ locationEdit live location messages.
telegram_edit_ message_ mediaEdit animation, audio, document, live photo, photo, or video messages, or to replace a text or a rich message with a media.
telegram_edit_ message_ reply_ markupEdit only the reply markup of messages.
telegram_get_ chat_ menu_ buttonGet the current value of the bot's menu button in a private chat, or the default menu button.
telegram_get_ custom_ emoji_ stickersGet information about custom emoji stickers by their identifiers.
telegram_get_ forum_ topic_ icon_ stickersGet custom emoji stickers, which can be used as a forum topic icon by any user.
telegram_get_ managed_ bot_ access_ settingsGet the access settings of a managed bot.
telegram_get_ my_ default_ administrator_ rightsGet the current default administrator rights of the bot.
telegram_get_ my_ descriptionGet the current bot description for the given user language.
telegram_get_ my_ nameGet the current bot name for the given user language.
telegram_get_ my_ short_ descriptionGet the current bot short description for the given user language.
telegram_get_ my_ star_ balanceA method to get the current Telegram Stars balance of the bot.
telegram_get_ sticker_ setGet a sticker set.
telegram_remove_ my_ profile_ photoRemoves the profile photo of the bot.
telegram_replace_ sticker_ in_ setReplace an existing sticker in a sticker set with a new one.
telegram_send_ stickerSend static .WEBP, animated .TGS, or video .WEBM stickers.
telegram_set_ chat_ menu_ buttonChange the bot's menu button in a private chat, or the default menu button.
telegram_set_ chat_ sticker_ setSet a new group sticker set for a supergroup.
telegram_set_ custom_ emoji_ sticker_ set_ thumbnailSet the thumbnail of a custom emoji sticker set.
telegram_set_ managed_ bot_ access_ settingsChange the access settings of a managed bot.
telegram_set_ my_ default_ administrator_ rightsChange the default administrator rights requested by the bot when it's added as an administrator to groups or channels.
telegram_set_ my_ nameChange the bot's name.
telegram_set_ my_ profile_ photoChanges the profile photo of the bot.
telegram_set_ my_ short_ descriptionChange the bot's short description, which is shown on the bot's profile page and is sent together with the link when users share the bot.
telegram_set_ sticker_ emoji_ listChange the list of emoji assigned to a regular or custom emoji sticker.
telegram_set_ sticker_ keywordsChange search keywords assigned to a regular or custom emoji sticker.
telegram_set_ sticker_ mask_ positionChange the mask position of a mask sticker.
telegram_set_ sticker_ position_ in_ setMove a sticker in a set created by the bot to a specific position.
telegram_set_ sticker_ set_ thumbnailSet the thumbnail of a regular or mask sticker set.
telegram_set_ sticker_ set_ titleSet the title of a created sticker set.
telegram_stop_ message_ live_ locationStop updating a live location message before live_period expires.
telegram_stop_ pollStop a poll which was sent by the bot.
telegram_upload_ sticker_ fileUpload a file with a sticker for later use in the createNewStickerSet, addStickerToSet, or replaceStickerInSet methods (the file can be used multiple times).
telegram_close_ forum_ topicClose an open topic in a forum supergroup chat.
telegram_close_ general_ forum_ topicClose an open 'General' topic in a forum supergroup chat.
telegram_create_ forum_ topicCreate a topic in a forum supergroup chat or a private chat with an user.
telegram_delete_ business_ messagesDelete messages on behalf of a business account.
telegram_delete_ chat_ photoDelete a chat photo.
telegram_delete_ forum_ topicDelete a forum topic along with all its messages in a forum supergroup chat or a private chat with an user.
telegram_edit_ forum_ topicEdit name and icon of a topic in a forum supergroup chat or a private chat with an user.
telegram_edit_ general_ forum_ topicEdit the name of the 'General' topic in a forum supergroup chat.
telegram_get_ business_ account_ giftsReturns the gifts received and owned by a managed business account.
telegram_get_ business_ account_ star_ balanceReturns the amount of Telegram Stars owned by a managed business account.
telegram_get_ business_ connectionGet information about the connection of the bot with a business account.
telegram_hide_ general_ forum_ topicHide the 'General' topic in a forum supergroup chat.
telegram_leave_ chatUse this method for your bot to leave a group, supergroup or channel.
telegram_read_ business_ messageMarks incoming message as read on behalf of a business account.
telegram_remove_ business_ account_ profile_ photoRemoves the current profile photo of a managed business account.
telegram_reopen_ forum_ topicReopen a closed topic in a forum supergroup chat.
telegram_reopen_ general_ forum_ topicReopen a closed 'General' topic in a forum supergroup chat.
telegram_set_ business_ account_ bioChanges the bio of a managed business account.
telegram_set_ business_ account_ gift_ settingsChanges the privacy settings pertaining to incoming gifts in a managed business account.
telegram_set_ business_ account_ nameChanges the first and last name of a managed business account.
telegram_set_ business_ account_ profile_ photoChanges the profile photo of a managed business account.
telegram_set_ business_ account_ usernameChanges the username of a managed business account.
telegram_set_ chat_ descriptionChange the description of a group, a supergroup or a channel.
telegram_set_ chat_ permissionsSet default chat permissions for all members.
telegram_set_ chat_ photoSet a new profile photo for the chat.
telegram_set_ chat_ titleChange the title of a chat.
telegram_transfer_ business_ account_ starsTransfers Telegram Stars from the business account balance to the bot's balance.
telegram_unhide_ general_ forum_ topicUnhide the 'General' topic in a forum supergroup chat.
telegram_unpin_ all_ chat_ messagesClear the list of pinned messages in a chat.
telegram_unpin_ all_ forum_ topic_ messagesClear the list of pinned messages in a forum topic in a forum supergroup chat or a private chat with an user.
telegram_unpin_ all_ general_ forum_ topic_ messagesClear the list of pinned messages in a General forum topic.
telegram_ban_ chat_ sender_ chatBan a channel chat in a supergroup or a channel.
telegram_get_ chat_ member_ countGet the number of members in a chat.
telegram_promote_ chat_ memberPromote or demote an user in a supergroup or a channel.
telegram_restrict_ chat_ memberRestrict an user in a supergroup.
telegram_set_ chat_ administrator_ custom_ titleSet a custom title for an administrator in a supergroup promoted by the bot.
telegram_set_ chat_ member_ tagSet a tag for a regular member in a group or a supergroup.
telegram_unban_ chat_ sender_ chatUnban a previously banned channel chat in a supergroup or channel.
telegram_answer_ chat_ join_ request_ queryProcess a received chat join request query.
telegram_approve_ chat_ join_ requestApprove a chat join request.
telegram_create_ chat_ subscription_ invite_ linkCreate a subscription invite link for a channel chat.
telegram_decline_ chat_ join_ requestDecline a chat join request.
telegram_edit_ chat_ invite_ linkEdit a non-primary invite link created by the bot.
telegram_edit_ chat_ subscription_ invite_ linkEdit a subscription invite link created by the bot.
telegram_export_ chat_ invite_ linkGenerate a new primary invite link for a chat; any previously generated primary link is revoked.
telegram_revoke_ chat_ invite_ linkRevoke an invite link created by the bot.
telegram_send_ chat_ join_ request_ web_ appProcess a received chat join request query by showing a Mini App to the user before deciding the outcome.
telegram_convert_ gift_ to_ starsConverts a given regular gift to Telegram Stars.
telegram_get_ available_ giftsReturns the list of gifts that can be sent by the bot to users and channel chats.
telegram_get_ chat_ giftsReturns the gifts owned by a chat.
telegram_get_ user_ giftsReturns the gifts owned and hosted by an user.
telegram_gift_ premium_ subscriptionGifts a Telegram Premium subscription to the given user.
telegram_send_ giftSends a gift to the given user or channel chat.
telegram_transfer_ giftTransfers an owned unique gift to another user.
telegram_upgrade_ giftUpgrades a given regular gift to an unique gift.
telegram_answer_ pre_ checkout_ queryOnce the user has confirmed their payment and shipping details, the Bot API sends the final confirmation in the form of an Update with the field pre_checkout_query.
telegram_answer_ shipping_ queryIf you sent an invoice requesting a shipping address and the parameter is_flexible was specified, the Bot API will send an Update with a shipping_query field to the bot.
telegram_create_ invoice_ linkCreate a link for an invoice.
telegram_edit_ user_ star_ subscriptionAllows the bot to cancel or re-enable extension of a subscription paid in Telegram Stars.
telegram_get_ star_ transactionsReturns the bot's Telegram Star transactions in chronological order.
telegram_refund_ star_ paymentRefunds a successful payment in Telegram Stars.
telegram_send_ invoiceSend invoices.
telegram_answer_ callback_ querySend answers to callback queries sent from inline keyboards.
telegram_answer_ guest_ queryReply to a received guest message.
telegram_answer_ inline_ querySend answers to an inline query.
telegram_answer_ web_ app_ querySet the result of an interaction with a Web App and send a corresponding message on behalf of the user to the chat from which the query originated.
telegram_save_ prepared_ inline_ messageStores a message that can be sent by an user of a Mini App.
telegram_save_ prepared_ keyboard_ buttonStores a keyboard button that can be used by an user within a Mini App.
telegram_delete_ webhookRemove webhook integration if you decide to switch back to getUpdates.
telegram_get_ updatesReceive incoming updates using long polling (wiki).
telegram_get_ user_ chat_ boostsGet the list of boosts added to a chat by an user.
telegram_get_ user_ personal_ chat_ messagesGet the last messages from the personal chat (i.e., the chat currently added to their profile) of a given user.
telegram_get_ user_ profile_ audiosGet a list of profile audios for an user.
telegram_get_ user_ profile_ photosGet a list of profile pictures for an user.
telegram_set_ user_ emoji_ statusChanges the emoji status for a given user that previously allowed the bot to manage their emoji status via the Mini App method requestEmojiStatusAccess.
telegram_set_ webhookSpecify a URL and receive incoming updates via an outgoing webhook.
telegram_delete_ storyDeletes a story previously posted by the bot on behalf of a managed business account.
telegram_edit_ storyEdits a story previously posted by the bot on behalf of a managed business account.
telegram_post_ storyPosts a story on behalf of a managed business account.
telegram_remove_ chat_ verificationRemoves verification from a chat that is currently verified on behalf of the organization represented by the bot.
telegram_remove_ user_ verificationRemoves verification from an user who is currently verified on behalf of the organization represented by the bot.
telegram_repost_ storyReposts a story on behalf of a business account from another business account.
telegram_verify_ chatVerifies a chat on behalf of the organization which is represented by the bot.
telegram_verify_ userVerifies an user on behalf of the organization which is represented by the bot.
telegram_get_ game_ high_ scoresGet data for high score tables.
telegram_send_ gameSend a game.
telegram_set_ game_ scoreSet the score of the specified user in a game message.
telegram_get_ fileGet basic information about a file and prepare it for downloading.
telegram_set_ passport_ data_ errorsInforms an user that some of the Telegram Passport elements they provided contains errors.
Credentials off one Telegram screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.
In Telegram, message @BotFather, send /newbot, pick a name and a username ending in bot, and paste the token it replies with. It is free and needs no approval. Optionally add a default chat such as @yourchannel so posts go there when you name none.
••••••••••••3f7a@yourchannelSending, editing, deleting, banning and anything that touches the bot's webhook wait until an owner or admin allows write actions; new connections start read-only. Reading updates never removes them, so a bot that already runs elsewhere keeps working.
Drop the PopMCP URL into Claude, ChatGPT, Claude Code, Codex or any other supported client. It signs in through PopMCP with OAuth, so your Telegram credential never leaves the server.
app.popmcp.com/mcpAsk for something harmless before the agent changes anything. Writes run as soon as it calls them, so confirm it reads the right account first.
Post this week's product update to our channel as a formatted announcement with a link to the full post
telegram_send_rich_messageok
Then just ask for the work
“Post this week's product update to our channel as a formatted announcement with a link to the full post”
“What did people message the bot today, and which chats did it come from?”
“Send the team group this sales summary as a CSV file and pin it”
“Who are the admins of our group, and can the bot delete messages there?”
“Make an invite link for our channel that expires on Friday and lets in up to 50 people”
One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.
Add the PopMCP URL under Customize → Connectors and the tools appear in every chat.
The same endpoint, registered in the browser. Nothing to install on the machine you are working from.
Register PopMCP as a custom connector, then let ChatGPT read and update the account.
Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.
Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.
Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.
FAQ
What teams ask before putting Telegram behind an AI client.
One bot token. In Telegram, open @BotFather, send /newbot, choose a display name and a username that ends in bot, and BotFather replies with a token such as 123456789:AAH... Paste it into PopMCP. Creating a bot is free, takes about a minute and needs no review. For a bot you already have, send /mybots, pick it and tap API Token. PopMCP checks the token with getMe and stores it encrypted.
No. A bot never sees your personal chats, and Telegram gives bots no message history. The bot receives what happens after it is added: messages sent to it, posts in channels where it is an administrator and, in groups, commands, replies and mentions while privacy mode is on. Turn privacy mode off in @BotFather (/setprivacy) or make the bot an admin to see every group message. read_updates shows what arrived in the last 24 hours.
Add the bot to the channel as an administrator with permission to post messages. Then use the channel's @username, or its numeric id that starts with -100, as the chat. Put that channel in the Default chat field when you connect and the AI posts there whenever you do not name another chat. list_chats shows every chat the bot can currently see, with what it is allowed to do in each.
No. Telegram delivers a bot's updates to one place, either its webhook or a program polling for them. PopMCP reads updates without confirming them and never changes the webhook on its own, and set_webhook and delete_webhook warn the AI that they would take updates away from your program. Sending messages works alongside your existing bot. Triggers need a bot whose updates only PopMCP receives.
send_message takes plain text or Telegram's HTML (bold, italic, links, code and quotes) up to 4096 characters. For headings, lists, tables and longer text, send_rich_message takes ordinary Markdown, the way AI clients already write, up to 32768 characters. Files of any type go through send_file, from text, base64, a public link or an existing file_id.
New messages to the bot, edited messages, channel posts, button presses, the bot being added or removed, members joining or leaving, join requests, reactions, poll answers, payment confirmations, business chat messages and boosts. They arrive through the bot's webhook, so they need a bot whose updates only PopMCP receives.
No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.
Any client that supports a remote Streamable HTTP MCP server: Claude Desktop, Claude Web, Claude Code, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.
Connect Telegram in PopMCP first, then run claude mcp add --transport http popmcp https://app.popmcp.com/mcp in a terminal. Inside Claude Code, run /mcp and sign in to PopMCP in the browser window it opens, ticking Telegram on the consent screen. The Telegram tools are then available in that session, and no Telegram credential is stored on your machine.
Loading 186 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 28-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.
A tool is something your AI calls, and there are 186 here. A trigger is something PopMCP watches for you: 12 Telegram events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Telegram.
Launch a hosted MCP endpoint for Telegram, keep tool access under control, and start testing real workflow prompts right away.