Telegram MCP Server (TONresistor/telegram-mcp) is an MCP server listed on the M8ven Trust Index. It scores 74 out of 100, grade C. It declares 324 tools. No publisher has claimed this listing.
Enables interaction with Telegram through the complete Bot API, supporting all 162 methods with a token-optimized meta mode for minimal context usage.
Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
TONresistor
Source: Glama
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.
These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.
getUpdatesReceive incoming updates using long polling. Returns an Array of Update objects.
setWebhookSpecify a URL to receive incoming updates via webhook. Use deleteWebhook to remove.
deleteWebhookRemove webhook integration. Use getUpdates to receive updates after this.
getWebhookInfoGet current webhook status. Returns a WebhookInfo object with URL, pending updates count, and errors.
getMeGet basic information about the bot. Returns a User object with id, is_bot, first_name, username, etc.
logOutLog out from the cloud Bot API server. After logging out, you must wait 10 minutes before logging in again.
closeClose the bot instance. Use before moving the bot to a local server. Must be called before running locally.
getForumTopicIconStickersGet custom emoji stickers that can be used as forum topic icons by any user. Returns an Array of Sticker objects.
createForumTopicCreate a topic in a forum supergroup chat. The bot must be an administrator with can_manage_topics rights. Returns ForumTopic object.
editForumTopicEdit name and icon of a forum topic. The bot must be an administrator with can_manage_topics rights. Returns True on success.
closeForumTopicClose an open topic in a forum supergroup chat. The bot must be an administrator with can_manage_topics rights. Returns True on success.
reopenForumTopicReopen a closed topic in a forum supergroup chat. The bot must be an administrator with can_manage_topics rights. Returns True on success.
deleteForumTopicDelete a forum topic along with all its messages in a forum supergroup chat. The bot must be an administrator with can_delete_messages rights. Returns True on success.
unpinAllForumTopicMessagesClear the list of pinned messages in a forum topic. The bot must be an administrator with can_pin_messages rights. Returns True on success.
editGeneralForumTopicEdit the name of the 'General' topic in a forum supergroup chat. The bot must be an administrator with can_manage_topics rights. Returns True on success.
closeGeneralForumTopicClose the 'General' topic in a forum supergroup chat. The bot must be an administrator with can_manage_topics rights. Returns True on success.
reopenGeneralForumTopicReopen the closed 'General' topic in a forum supergroup chat. The bot must be an administrator with can_manage_topics rights. Returns True on success.
hideGeneralForumTopicHide the 'General' topic in a forum supergroup chat. The bot must be an administrator with can_manage_topics rights. The topic will be automatically closed if it was open. Returns True on success.
unhideGeneralForumTopicUnhide the 'General' topic in a forum supergroup chat. The bot must be an administrator with can_manage_topics rights. Returns True on success.
unpinAllGeneralForumTopicMessagesClear the list of pinned messages in a General forum topic. The bot must be an administrator with can_pin_messages rights. Returns True on success.
answerInlineQuerySend answers to an inline query. Results are displayed in the user's chat. Maximum 50 results per query. Returns True on success.
answerCallbackQuerySend answers to callback queries sent from inline keyboards. The answer is displayed as a notification at the top of the chat screen or as an alert. Returns True on success.
answerWebAppQuerySet 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. Returns a SentWebAppMessage object on success.
savePreparedInlineMessageStore a message that can be sent by a user of a Mini App. Returns a PreparedInlineMessage object with a unique identifier and expiration date.
setMessageReactionChange the chosen reactions on a message. Service messages cannot be reacted to. Bots cannot use paid reactions. Returns True on success.
getUserChatBoostsGet the list of boosts added to a chat by a user. Requires administrator rights in the chat. Returns a UserChatBoosts object on success.
getBusinessConnectionGet information about the connection of the bot with a business account. Returns a BusinessConnection object on success.
editMessageTextEdit text and game messages. Returns the edited Message on success, or True if the message is an inline message.
editMessageCaptionEdit captions of messages. Returns the edited Message on success, or True if the message is an inline message.
editMessageMediaEdit animation, audio, document, photo, or video messages, or add media to text messages. If a message is part of a message album, then it can only be edited to an audio for audio albums, only to a document for document albums and to a photo or a video otherwise. Returns the edited Message on succes…
editMessageLiveLocationEdit live location messages. A location can be edited until its live_period expires or editing is explicitly disabled by a call to stopMessageLiveLocation. Returns the edited Message on success, or True if the message is an inline message.
stopMessageLiveLocationStop updating a live location message before live_period expires. Returns the edited Message on success, or True if the message is an inline message.
editMessageReplyMarkupEdit only the reply markup of messages. Returns the edited Message on success, or True if the message is an inline message.
stopPollStop a poll which was sent by the bot. Returns the stopped Poll on success.
deleteMessageDelete a message, including service messages, with the following limitations: A message can only be deleted if it was sent less than 48 hours ago. Service messages about a supergroup, channel, or forum topic creation can't be deleted. A dice message in a private chat can only be deleted if it was se…
deleteMessagesDelete multiple messages simultaneously. If some of the specified messages can't be found, they are skipped. Returns True on success.
getAvailableGiftsReturns the list of gifts that can be sent by the bot to users and channel chats. Returns a Gifts object.
sendGiftSends a gift to the given user or channel chat. The gift cannot be converted to Telegram Stars by the receiver. Returns True on success.
giftPremiumSubscriptionGifts a Telegram Premium subscription to the given user. Returns True on success.
getBusinessAccountGiftsReturns the gifts received and owned by a managed business account. Requires the can_view_gifts_and_stars business bot right. Returns an OwnedGifts object on success.
getUserGiftsReturns the gifts received and owned by a given user. Returns an OwnedGifts object on success.
getChatGiftsReturns the gifts received and owned by a chat. Returns an OwnedGifts object on success.
convertGiftToStarsConverts a given regular gift to Telegram Stars. Requires the can_convert_gifts_to_stars business bot right. Returns True on success.
upgradeGiftUpgrades a given regular gift to a unique gift. Requires the can_transfer_and_upgrade_gifts business bot right. Returns True on success.
transferGiftTransfers an owned unique gift to another user. Requires the can_transfer_and_upgrade_gifts business bot right. Returns True on success.
verifyUserVerifies a user on behalf of the organization which is represented by the bot. Returns True on success.
verifyChatVerifies a chat on behalf of the organization which is represented by the bot. Returns True on success.
removeUserVerificationRemoves verification from a user who is currently verified on behalf of the organization represented by the bot. Returns True on success.
removeChatVerificationRemoves verification from a chat that is currently verified on behalf of the organization represented by the bot. Returns True on success.
setPassportDataErrorsInforms a user that some of the Telegram Passport elements they provided contain errors. The user will not be able to re-submit their Passport to you until the errors are fixed. Returns True on success.
readBusinessMessageMarks incoming message as read on behalf of a business account. Requires the can_read_messages business bot right. Returns True on success.
deleteBusinessMessagesDeletes messages on behalf of a business account. Requires can_delete_sent_messages for bot's own messages or can_delete_all_messages for any message. Returns True on success.
setBusinessAccountNameChanges the first and last name of a managed business account. Requires the can_change_name business bot right. Returns True on success.
setBusinessAccountUsernameChanges the username of a managed business account. Requires the can_change_username business bot right. Returns True on success.
setBusinessAccountBioChanges the bio of a managed business account. Requires the can_change_bio business bot right. Returns True on success.
setBusinessAccountProfilePhotoChanges the profile photo of a managed business account. Requires the can_edit_profile_photo business bot right. Returns True on success.
removeBusinessAccountProfilePhotoRemoves the current profile photo of a managed business account. Requires the can_edit_profile_photo business bot right. Returns True on success.
setBusinessAccountGiftSettingsChanges the privacy settings for gifts in a managed business account. Requires the can_change_gift_settings business bot right. Returns True on success.
getBusinessAccountStarBalanceReturns the current Telegram Star balance of a managed business account. Requires the can_view_gifts_and_stars business bot right. Returns a StarAmount object on success.
transferBusinessAccountStarsTransfers Telegram Stars from a managed business account to the bot's balance. The Stars can then be withdrawn by the bot. Requires the can_transfer_stars business bot right. Returns True on success.
postStoryPosts a story on behalf of a managed business account. Requires the can_manage_stories business bot right. Returns a Story object on success.
editStoryEdits a story previously posted by the bot on behalf of a managed business account. Requires the can_manage_stories business bot right. Returns a Story object on success.
deleteStoryDeletes a story previously posted by the bot on behalf of a managed business account. Requires the can_manage_stories business bot right. Returns True on success.
repostStoryReposts a story from one managed business account to another. Both accounts must be managed by the same bot. Requires the can_manage_stories business bot right for both accounts. Returns a Story object on success.
approveSuggestedPostApproves a suggested post in a direct messages chat. The bot must have the can_post_messages administrator right in the corresponding channel chat. Returns True on success.
declineSuggestedPostDeclines a suggested post in a direct messages chat. Requires the can_manage_direct_messages administrator right in the corresponding channel. Returns True on success.
sendInvoiceSend an invoice to a user. On success, the sent Message is returned.
createInvoiceLinkCreate a link for an invoice. Returns the created invoice link as String on success.
answerShippingQueryReply to shipping queries. If 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. Use this method to reply to shipping queries. On success, True is returned.
answerPreCheckoutQueryRespond to pre-checkout queries. Once 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. Use this method to respond to such pre-checkout queries. On success, True is returned. Note: The Bot A…
getStarTransactionsReturns the bot's Telegram Star transactions in chronological order. On success, returns a StarTransactions object.
refundStarPaymentRefunds a successful payment in Telegram Stars. Returns True on success.
editUserStarSubscriptionAllows the bot to cancel or re-enable extension of a subscription paid in Telegram Stars. Returns True on success.
getMyStarBalanceReturns the bot's current balance in Telegram Stars. On success, returns a StarAmount object.
sendGameSend a game. On success, the sent Message is returned.
setGameScoreSet the score of the specified user in a game message. On success, if the message is not an inline message, the Message is returned, otherwise True is returned. Returns an error, if the new score is not greater than the user's current score in the chat and force is False.
getGameHighScoresGet data for high score tables. Will return the score of the specified user and several of their neighbors in a game. Returns an Array of GameHighScore objects.
setMyCommandsChange the list of bot commands. Returns True on success. At most 100 commands can be specified.
deleteMyCommandsDelete the list of bot commands for the given scope and language. Returns True on success.
getMyCommandsGet the current list of bot commands for the given scope and language. Returns an Array of BotCommand objects.
setMyNameChange the bot's name. Returns True on success.
getMyNameGet the current bot name for the given user language. Returns a BotName object.
setMyDescriptionChange the bot's description, shown in empty chats and shared via bot links. Returns True on success.
getMyDescriptionGet the current bot description for the given user language. Returns a BotDescription object.
setMyShortDescriptionChange the bot's short description, shown on the bot's profile page and shared alongside bot links. Returns True on success.
getMyShortDescriptionGet the current bot short description for the given user language. Returns a BotShortDescription object.
setChatMenuButtonChange the bot's menu button in a private chat, or the default menu button. Returns True on success.
getChatMenuButtonGet the current value of the bot's menu button in a private chat, or the default menu button. Returns a MenuButton object.
setMyDefaultAdministratorRightsChange the default administrator rights requested when adding the bot as administrator to groups or channels. Returns True on success.
getMyDefaultAdministratorRightsGet the current default administrator rights of the bot. Returns a ChatAdministratorRights object.
getUserProfilePhotosGet a list of profile pictures for a user. Returns a UserProfilePhotos object.
setUserEmojiStatusChange the emoji status for a user who authorized the bot via Mini App method requestEmojiStatusAccess. Returns True on success.
getFileGet basic info about a file and prepare it for downloading. Returns a File object with file_path for download. Files up to 20MB can be downloaded.
banChatMemberBan a user in a group, supergroup or channel. The bot must be an administrator with the appropriate rights. Returns True on success.
unbanChatMemberUnban a previously banned user in a supergroup or channel. The user will NOT return to the group automatically but will be able to join via link, etc. The bot must be an administrator. Returns True on success.
banChatSenderChatBan a channel chat in a supergroup or channel. Until the chat is unbanned, the owner of the banned chat won't be able to send messages on behalf of any of their channels. The bot must be an administrator and must have the appropriate administrator rights. Returns True on success.
unbanChatSenderChatUnban a previously banned channel chat in a supergroup or channel. The bot must be an administrator and must have the appropriate administrator rights. Returns True on success.
restrictChatMemberRestrict a user in a supergroup. The bot must be an administrator with can_restrict_members rights. Pass True for all permissions to lift restrictions from a user. Returns True on success.
promoteChatMemberPromote or demote a user in a supergroup or channel. The bot must be an administrator with the appropriate rights. Pass False for all boolean parameters to demote a user. Returns True on success.
setChatAdministratorCustomTitleSet a custom title for an administrator in a supergroup promoted by the bot. Returns True on success.
63 further tools are not listed here. The complete surface is in the source.
Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.
When Vitest UI server is listening, arbitrary file can be read and executed
Model Context Protocol (MCP) TypeScript SDK does not enable DNS rebinding protection by default
HEALTH_PORTEnable health endpoints (/health, /metrics)LOG_LEVELinfo debug / info / warning / error / criticalMAX_RETRIES3 Retry attempts (0-10)RATE_LIMIT_PER_MINUTE30 Global rate limit (1-60)REQUEST_TIMEOUT30000 Request timeout in ms (5000-120000)TELEGRAM_BOT_TOKEN"": "your_token_here"WEBHOOK_PORTWEBHOOK_SECRETWEBHOOK_URLTool annotations
No tools have read-only/destructive annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
324/324 tools missing one or more hints — getUpdates (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); setWebhook (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); deleteWebhook (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +321 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
Tool test coverage
Only 14/324 tools referenced in tests (4%)
Write tests that reference each tool by name so every tool has at least one test.
Production dependencies are patched
0 critical, 1 high severity in production deps — @modelcontextprotocol/sdk@1.0.0 (high)
Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.
Dev dependencies
1 critical/high in dev-only deps (does not ship to users)
Upgrade dev dependencies when convenient.
Dependency freshness
1/3 production deps stale: prom-client@2024-06-27 (2.1y)
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/tonresistor/telegram-mcp)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check