Skip to content

Tools Reference

MCP Telegram provides a comprehensive tool set organized by category. All tools are auto-discoverable — your AI client will see them with full parameter descriptions when connected.

Auth

ToolDescription
telegram-statusCheck connection status and get account info
telegram-loginGenerate QR code for authentication
telegram-logoutRevoke session on Telegram and delete the local session file

Messaging

ToolDescription
telegram-send-messageSend a message to any chat (user, group, channel)
telegram-edit-messageEdit a previously sent message
telegram-delete-messageDelete one or more messages
telegram-forward-messageForward messages between chats
telegram-send-scheduledSchedule a message for later delivery
telegram-send-typingSend a typing / upload action indicator
telegram-translate-messageTranslate one or more messages to a target language (Premium; consumes translate quota)
telegram-get-message-linkGet a public t.me link to a message

Scheduled

ToolDescription
telegram-get-scheduledList scheduled messages in a chat
telegram-delete-scheduledDelete one or more scheduled messages

Reading

ToolDescription
telegram-list-chatsList your chats with filters (users, groups, channels)
telegram-read-messagesRead recent messages from a chat with pagination
telegram-search-messagesSearch messages in a specific chat by keyword
telegram-search-globalSearch messages across all chats at once
telegram-search-chatsFind chats by name or description
telegram-get-unreadGet all chats with unread messages and counts
telegram-mark-as-readMark a chat as read
telegram-get-repliesRead comments/replies under a channel post
telegram-get-unread-mentionsList unread messages that mention you in a chat (marks them as read on the server)
telegram-get-unread-reactionsList unread reactions on your messages in a chat (marks them as read on the server)
telegram-get-saved-dialogsList per-peer folders inside Saved Messages

Drafts

ToolDescription
telegram-save-draftSave a text draft in a chat (empty clears the draft)
telegram-get-draftsList all chats with saved drafts
telegram-clear-draftsClear a chat's draft, or wipe drafts in all chats (requires confirmAllChats: true)

Forum Topics

ToolDescription
telegram-list-topicsList topics in a forum group
telegram-read-topic-messagesRead messages from a specific topic
telegram-create-topicCreate a new topic in a forum group
telegram-edit-topicRename, close, hide, or update an existing topic
telegram-delete-topicDelete a topic and its history

Polls

ToolDescription
telegram-create-pollCreate a poll or quiz in a chat

Poll Interaction (v1.31.0)

ToolDescription
telegram-vote-pollVote in a poll by option index. Empty optionIndexes: [] retracts your vote
telegram-get-poll-resultsGet aggregated results: vote counts, percentages, quiz correct-answer flags
telegram-get-poll-votersList users who voted for specific options (public polls only, paginated)
telegram-close-pollPermanently close a poll — irreversible, no further votes allowed

Reactions

ToolDescription
telegram-send-reactionReact to a message with an emoji
telegram-get-reactionsGet reactions on a message
telegram-set-default-reactionSet your account's default quick-reaction emoji
telegram-get-top-reactionsList Telegram's top (popular) reaction emojis
telegram-get-recent-reactionsList emojis you recently used as reactions
ToolDescription
telegram-send-paid-reactionSend ★ Stars as a paid reaction on a channel post (count 1–2500, optional private flag)
telegram-toggle-paid-reaction-privacyToggle leaderboard visibility of your paid reaction on a specific post
telegram-get-paid-reaction-privacyGet your current default paid reaction privacy setting

Audio Transcription (v1.31.0)

ToolDescription
telegram-transcribe-audioStart server-side transcription of a voice/video note (Telegram Premium). Returns transcriptionId; if pending:true poll with telegram-get-transcription
telegram-get-transcriptionPoll for updated transcription status — idempotent, same transcriptionId, updated text once complete
telegram-rate-transcriptionRate transcription quality as good or poor to improve Telegram speech-to-text

Fact-check (v1.31.0)

ToolDescription
telegram-get-fact-checkFetch fact-check annotations on up to 100 channel messages; most messages have no annotation
telegram-edit-fact-checkAdd or update a fact-check annotation (requires fact-checker privileges)
telegram-delete-fact-checkRemove a fact-check annotation (requires fact-checker privileges)

Stickers

ToolDescription
telegram-send-stickerSend a sticker to a chat
telegram-get-installed-stickersList your installed sticker packs
telegram-get-recent-stickersShow recently used stickers
telegram-get-sticker-setBrowse stickers in a specific pack
telegram-search-sticker-setsSearch Telegram's sticker catalog

Media

ToolDescription
telegram-send-fileSend a file, photo, or document
telegram-download-mediaDownload media from a message
telegram-get-profile-photoGet a user's or chat's profile photo
telegram-get-web-previewPreview a URL's title/description/site before sending

Rich Media Sending (v1.29.0)

ToolDescription
telegram-send-voiceSend a voice note (OGG/Opus recommended). Shows as a waveform UI.
telegram-send-video-noteSend a round video message (MP4, square recommended, ≤60s)
telegram-send-locationSend a geographic location; optional livePeriod (60–86400s) makes it live-updating
telegram-send-venueSend a venue card (title, address, lat/long)
telegram-send-contactSend a contact card (phone, first/last name, optional vCard)
telegram-send-diceSend an animated dice/game emoji (🎲🎯🎰🏀⚽🎳) and return the rolled value
telegram-send-albumSend 2–10 grouped photos/videos as a single album message

All filePath arguments must be absolute local filesystem paths. URLs, UNC shares, path-traversal (..), and POSIX pseudo-filesystems (/proc, /sys, /dev, /run) are rejected.

Groups

ToolDescription
telegram-create-groupCreate a new group
telegram-edit-groupEdit group title, description, or photo
telegram-invite-to-groupInvite users to a group
telegram-join-chatJoin a group or channel via invite link
telegram-leave-groupLeave a group or channel
telegram-kick-userRemove a user from a group
telegram-ban-userBan a user from a group
telegram-unban-userUnban a user
telegram-set-adminPromote a user to admin with custom permissions
telegram-remove-adminRemove admin rights from a user
telegram-get-my-roleCheck your role and permissions in a group
telegram-set-chat-permissionsSet default banned rights for all members (omitted flags keep their current state)
telegram-set-slow-modeSet slow-mode interval in a supergroup
telegram-get-admin-logRead the moderation/admin event log

Chat Info

ToolDescription
telegram-get-chat-infoGet detailed chat info (title, members, photo, etc.)
telegram-get-chat-membersList members of a group or channel
telegram-get-chat-foldersList your chat folders
ToolDescription
telegram-create-invite-linkCreate an invite link with optional limits
telegram-get-invite-linksList existing invite links
telegram-revoke-invite-linkRevoke an invite link

Contacts

ToolDescription
telegram-get-contactsList your contacts
telegram-add-contactAdd a new contact
telegram-get-contact-requestsView pending contact requests

Moderation

ToolDescription
telegram-block-userBlock a user
telegram-unblock-userUnblock a user
telegram-report-spamReport spam

Profiles

ToolDescription
telegram-get-profileGet a user's profile info
telegram-update-profileUpdate your own profile (name, bio, username)

Account

ToolDescription
telegram-get-sessionsList active sessions (devices)
telegram-terminate-sessionTerminate a session
telegram-set-privacyConfigure privacy settings (phone, last seen, etc.)
telegram-set-auto-deleteSet auto-delete timer for a chat

Pinning

ToolDescription
telegram-pin-messagePin a message in a chat
telegram-unpin-messageUnpin a message or all messages

Chat Settings

ToolDescription
telegram-mute-chatMute or unmute chat notifications
telegram-archive-chatMove a chat to/from the Archive folder
telegram-pin-chatPin or unpin a dialog in the chat list
telegram-mark-dialog-unreadMark a dialog as unread or clear the unread flag

Admin Toggles & Customization

ToolDescription
telegram-toggle-channel-signaturesToggle post signatures on a channel
telegram-toggle-anti-spamToggle native anti-spam in a supergroup (admin with ban_users)
telegram-toggle-forum-modeEnable/disable forum mode (disabling removes all topics; requires confirm: true)
telegram-toggle-prehistory-hiddenHide or show pre-history for new supergroup members
telegram-set-chat-reactionsConfigure allowed reactions on a chat (all / some / none)
telegram-approve-join-requestApprove or reject a chat join request

Stats

ToolDescription
telegram-get-broadcast-statsGet channel stats (pass includeGraphs: true for raw series; Premium admin may be required)
telegram-get-megagroup-statsGet supergroup stats (Telegram rate-limits to ~1 req/30 min per channel)

Inline Bots & Buttons

ToolDescription
telegram-inline-queryQuery an inline bot in a chat context (queryId TTL ≈ 1 min)
telegram-inline-query-sendSend an inline bot result by queryId + result id
telegram-press-buttonPress a callback button on a message by row/col or raw data
telegram-get-message-buttonsList a message's reply-markup buttons with indices and types

Real-Time Updates (Polling)

Cursors are client-owned — the agent stores {pts, qts, date} between calls and passes them in.

ToolDescription
telegram-get-stateInitialize a polling cursor (pts, qts, date, seq)
telegram-get-updatesFetch global updates since a known cursor (falls back to history hint on DifferenceTooLong)
telegram-get-channel-updatesFetch per-channel updates since a known channel cursor

Stories

ToolDescription
telegram-get-all-storiesList stories across peers with pagination state
telegram-get-peer-storiesList stories posted by one peer
telegram-get-stories-by-idFetch specific story items by id
telegram-get-story-viewsList views on your own stories (Premium for full stats)

Stories (write, v1.30.0)

ToolDescription
telegram-send-storyPublish a photo or video story with privacy controls (everyone/contacts/close_friends/selected), period, pinning, no-forward flag
telegram-edit-storyEdit an existing story: replace media, update caption, or change privacy rules
telegram-delete-storiesDelete one or more stories (irreversible; requires confirm: true)
telegram-react-to-storyReact to a story with an emoji; pass "" to remove the reaction
telegram-export-story-linkGet a shareable t.me/… URL for a public story
telegram-read-storiesMark stories as seen up to a given story ID
telegram-toggle-story-pinnedPin or unpin stories in profile highlights
telegram-toggle-story-pinned-to-topPin stories to the top of the pinned row; pass [] to clear
telegram-activate-stealth-modeHide your story views retroactively and/or for 25 min (Telegram Premium required)
telegram-get-stories-archiveFetch auto-archived (expired) stories, paginated
telegram-report-storyReport a story via the multi-step option flow

Discussion (v1.30.0)

ToolDescription
telegram-get-discussion-messageFor a channel post with comments, get discussion-group info (discussionGroupId, discussionMsgId, unreadCount)
telegram-get-groups-for-discussionList groups eligible to link as discussion group to a channel you admin

Read Receipts (v1.30.0)

ToolDescription
telegram-get-message-read-participantsList who has read a message in a small group (≤100 members, ≤7 days old)
telegram-get-outbox-read-dateGet when your recipient read your outgoing private message

Profile (write, v1.32.0)

ToolDescription
telegram-set-emoji-statusSet custom animated emoji status next to your name. Pass documentId (from telegram-list-emoji-statuses) or collectibleId; omit both to clear. Optional untilUnix expiry. Requires Telegram Premium.
telegram-list-emoji-statusesBrowse emoji statuses available for your account. kind: default, recent, channel_default, collectible. Returns documentId, until, collectible title/slug.
telegram-clear-recent-emoji-statusesClear the "recent" emoji status picker list.
telegram-set-profile-colorSet name color (forProfile=false) or profile background color + pattern (forProfile=true, Premium). color 0–6 free, 7–20 Premium. Omit color to reset.
telegram-set-birthdaySet birthday on profile. day + month required; year optional (omit to hide age). clear=true removes.
telegram-set-personal-channelFeature a channel on your profile. Pass channelId or @username. clear=true removes.
telegram-set-profile-photoUpload static (JPEG/PNG) or animated (MP4, square, ≤10s) avatar. fallback=true sets it as the privacy-fallback photo.
telegram-delete-profile-photoDelete profile photos by photo IDs (stringified longs). Internally fetches photo history to resolve InputPhoto; IDs not found are listed in missing.

Business (v1.32.0)

Requires Telegram Business subscription unless noted otherwise.

ToolDescription
telegram-get-business-chat-linksList your Telegram Business chat links (read-only; no Business subscription required to read).
telegram-create-business-chat-linkCreate a t.me/m/... deep-link with pre-filled message and optional admin title. Returns JSON with link, slug, message, views.
telegram-edit-business-chat-linkUpdate an existing link by slug. Same options as create.
telegram-delete-business-chat-linkDelete a link by slug.
telegram-resolve-business-chat-linkResolve a slug to see who the link opens a chat with and the pre-filled message. No Business subscription needed.
telegram-set-business-hoursSet weekly work hours: timezone (IANA) + schedule array of {day, openFrom, openTo} in HH:MM. clear=true disables.
telegram-set-business-locationSet address ± geo coordinates. clear=true removes.
telegram-set-business-greetingAuto-reply for new conversations. shortcutId (from telegram-get-quick-replies), audience enum, noActivityDays, optional include/exclude user lists. clear=true disables.
telegram-set-business-awayAuto-reply when offline. schedule: always, outside_hours, or custom (requires customFrom/customTo Unix timestamps). offlineOnly flag. Same audience model as greeting. clear=true disables.
telegram-set-business-introIntro card for new users: title (≤32 chars) + description (≤70 chars) + optional sticker (requires all three: stickerId, stickerAccessHash, stickerFileReference). clear=true removes.

Boosts

ToolDescription
telegram-get-my-boostsList boost slots assigned by your account
telegram-get-boosts-statusBoost status for a channel/supergroup
telegram-get-boosts-listList boosters for a channel (admin)

Opt-In (env-gated)

These tools are only registered when the corresponding environment flag is set.

ToolEnv flag
telegram-get-group-callMCP_TELEGRAM_ENABLE_GROUP_CALLS=1
telegram-get-group-call-participantsMCP_TELEGRAM_ENABLE_GROUP_CALLS=1
telegram-get-stars-statusMCP_TELEGRAM_ENABLE_STARS=1
telegram-get-stars-transactionsMCP_TELEGRAM_ENABLE_STARS=1
telegram-get-quick-repliesMCP_TELEGRAM_ENABLE_QUICK_REPLIES=1
telegram-get-quick-reply-messagesMCP_TELEGRAM_ENABLE_QUICK_REPLIES=1

TIP

You don't need to memorize these tools. Just describe what you want in natural language — your AI assistant will pick the right tool automatically.

Released under the MIT License.