Telegram MCP Tools for AI Agents
Let an agent read recent chats, send text or voice messages, and wait for new replies or button taps.
Available Tools
10 tools available in this integration
Telegram.GetChat Get metadata about a Telegram chat, group, or channel.
Telegram.GetChatInfo Get metadata about a Telegram chat, group, or channel.
Telegram.GetMessages Get recent private-chat messages sent to the bot via Telegram's getUpdates API.
Telegram.ReceiveButtonPress Resume waiting for an inline-button tap on a message that was already sent with buttons.
Telegram.ReceiveMessages Receive the messages a private chat sent the bot that it hasn't received yet.
Telegram.SendMessage Send a text message to a Telegram chat, group, or channel.
Telegram.SendTtsAudio Convert text to speech using OpenAI TTS and send it as an audio message on Telegram.
Telegram.WaitForButtonPress Resume waiting for an inline-button tap on a message that was already sent with buttons.
Telegram.WaitForNewMessage Wait for the next new message in a Telegram private chat, returning as soon as one arrives.
Telegram.WhoAmI Get information about the Telegram bot.
Why agent-optimized tools matter
Built for intent, not API schemas
Ask the agent to "check my Telegram bot for new support requests and suggest replies." Arcade picks the right Telegram actions without making the agent manage update offsets or button-waiting details.
Up to 100x fewer tokens
Telegram chat, channel, and bot lookups return compact metadata, while message retrieval is performed only when needed, so the agent can identify the right conversation without loading unrelated chat history.
Complete the workflow end to end
Inspect a chat, receive the request, send a reply or audio update, wait for a button choice, and continue through one toolkit designed around the complete Telegram bot task.
Make actions predictable and controlled
Arcade tools return structured results and useful errors across users and runs. Teams can apply scope restrictions, redaction, and approval policies so agents follow the same controls every time.
Securing Telegram
The more capabilities agents get, the more useful they are. However, more capabilities bring more risks of undesired effects such as data loss and exfiltration.
This is why Arcade provides you with contextual rules that dictate how and when a tool is allowed to run. Arcade’s contextual access lets you govern tool visibility and behavior at every stage of execution and control who can see a tool, what inputs are allowed, and what comes back.
Learn about Contextual Access PoliciesFor Telegram, you can implement some of these policies:
- Hide Telegram.SendMessage from agents outside the roles your IDP marks as approved communicators, so an agent cannot contact users or groups without the right access.
- Restrict Telegram.SendTtsAudio to agents operating under your approved outbound-communications role, so unapproved automation cannot send synthesized audio to a chat.
- Deny Telegram.WaitForButtonPress to agents that do not run your approved interactive workflows, so an agent cannot act on a user's button choice outside that workflow.
- Hide Telegram.ReceiveButtonPress from agents outside the roles your IDP marks as approved workflow operators, so an agent cannot respond to button choices without the workflow's authorization.
- Restrict Telegram.ReceiveMessages to agents operating under your approved private-chat intake role, so unapproved automation cannot read messages sent to the bot.
- Require human approval before Telegram.SendMessage runs, so an agent cannot publish an unreviewed message to a user, group, or channel.
- Hold Telegram.SendTtsAudio for human approval, so an agent cannot send an unreviewed spoken announcement to a chat.
- Block Telegram.GetMessages for chats outside your approved private-chat allowlist, so an agent cannot retrieve messages from an unapproved conversation.
- Require human approval before Telegram.ReceiveButtonPress resumes, so an agent cannot carry out an action based on a user's button choice without review.
- Block Telegram.ReceiveMessages for chats outside your approved private-chat allowlist, so an agent cannot retrieve incoming messages from an unapproved conversation.
- Redact message bodies and sender contact details from Telegram.GetMessages before they reach the model, so private conversation content is not exposed during message retrieval.
- Strip message text and sender identifiers from Telegram.WaitForNewMessage results, so an agent can detect an incoming event without receiving the private message content.
- Deny Telegram.GetChatInfo results for private chats, so the model cannot use private-chat metadata such as titles, usernames, or member details.
- Redact usernames, chat titles, and member counts from Telegram.GetChat results before they reach the model, so private group metadata is not exposed during chat lookup.
- Strip callback data and user identifiers from Telegram.ReceiveButtonPress results, so the model can recognize a button event without receiving hidden values or personal details.
- Redact message text, usernames, and sender IDs from Telegram.ReceiveMessages results before the model sees them, so private-chat content and participant identities stay out of the agent context.
How to use Telegram with your agent
Connect Telegram to an MCP client through Arcade, then give your agent access to messages, outbound replies, and interactive button flows. Follow the walkthrough from setup to your first agent request.
Your questions, answered
A Telegram MCP server exposes Telegram capabilities as structured tools that an AI agent can call through the Model Context Protocol. With the bot credential configured, the agent can inspect chats, receive private messages, send text or audio, and respond to button presses.
Telegram provides a Bot API rather than a first-party MCP server. Arcade adds the MCP and tool runtime, credential brokering, approval policies, redaction, and consistent access from supported clients, while its Telegram tools cover common bot workflows.
Arcade agents can identify the bot, inspect chat or channel metadata, receive new or previously unreceived private-chat messages, wait for inline-button presses, send text messages, and convert text to speech before sending it as audio.
Telegram uses the bot credential configured for Arcade. What the agent can reach depends on that bot's access, including the private chats where it has received messages and the groups or channels where it has the required membership or administrative rights.
No. Telegram uses one shared bot credential configured once rather than a separate Telegram account connection for every user. Arcade brokers that credential, and the model does not receive it.
Yes. Contextual Access policies can require human approval before consequential Telegram actions, such as sending a message or audio. The call proceeds only after the policy's conditions have been satisfied.
Arcade proxies Telegram API calls and does not persist your content as part of normal tool execution. The bot credential is brokered and stored encrypted at rest, and the model never receives it.
Any framework or client that can connect to Arcade's MCP gateway or tool APIs works, including LangChain, OpenAI Agents, CrewAI, Claude Desktop, Claude Code, Cursor, Visual Studio Code, Microsoft Copilot Studio, and GitHub Copilot.
Arcade refreshes access while the configured Telegram credential remains valid. If the credential is revoked, rotated, or can no longer be used, Telegram calls stop until it is reconnected.
Telegram Bot API rate limits and chat-specific limits still apply to calls made through Arcade. Design for those limits when sending messages or audio and when receiving updates; the exact allowance depends on the Telegram method and chat.