Telegram MCP Server
Provides tools for sending and managing messages, photos, documents, and chat operations (like pinning, deleting) via a Telegram bot.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Telegram MCP Serversend a reminder 'Meeting in 5 minutes' to chat 987654321"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Telegram MCP Server
An MCP (Model Context Protocol) server that lets Claude send and manage messages in Telegram through a bot. Built for remote deployment (Streamable HTTP) so it keeps working even when your own computer is off — a requirement for using it inside Claude's scheduled routines/automations.
What it can do
Tool | Purpose |
| Send a text message (the main tool for automations/alerts) |
| Edit a message the bot already sent |
| Delete a message |
| Pin/unpin a message |
| Send an image by URL with an optional caption |
| Send a file (PDF, CSV, etc.) by URL with an optional caption |
| Check the bot's identity / verify the token works |
| Look up info about a chat |
| Discover a chat's |
Related MCP server: mcp-telegram-claudecode
Step 1 — Create a Telegram bot (2 minutes)
Open Telegram, search for @BotFather, and start a chat.
Send
/newbot, give it a name and a username (must end inbot, e.g.my_claude_alerts_bot).BotFather replies with a token that looks like
123456789:AAExampleTokenValueHere. Copy it — this is yourTELEGRAM_BOT_TOKEN. Keep it secret; anyone with it can control your bot.
Step 2 — Deploy the server so it has a public URL
Since the server needs to run even when your computer is off, deploy it to a free hosting platform. Render.com is the simplest option (no credit card needed for the free tier):
Push this folder to a new GitHub repository (create one at github.com if needed):
cd telegram-mcp-server git init git add . git commit -m "Telegram MCP server" git branch -M main git remote add origin https://github.com/<your-username>/telegram-mcp-server.git git push -u origin mainGo to render.com → sign up/log in → New + → Web Service.
Connect your GitHub account and select the
telegram-mcp-serverrepo.Configure it:
Build Command:
npm install && npm run buildStart Command:
npm startInstance Type: Free
Under Environment Variables, add:
TELEGRAM_BOT_TOKEN= (the token from BotFather)TRANSPORT=http
Click Create Web Service. After the first deploy finishes, Render gives you a URL like
https://telegram-mcp-server.onrender.com. Your MCP endpoint is that URL +/mcp, e.g.https://telegram-mcp-server.onrender.com/mcp.
Note: on Render's free tier the service sleeps after 15 minutes of inactivity and takes ~30-60s to wake up on the next request. That's fine for occasional routine use; upgrade to a paid instance ($7/mo) if you need it always warm.
(Railway, Fly.io, or any other Node-friendly host work the same way — build command
npm install && npm run build, start command npm start, and the same two env vars.)
Step 3 — Connect it to Claude
In claude.ai: Settings → Connectors → Add custom connector, paste your /mcp URL from Step 2,
and save. The tools listed above will then be available to Claude, including inside scheduled
routines/automations.
Step 4 — Find your chat_id
The bot can only message chats it already knows about:
To message yourself or a friend: that person must open a chat with the bot (search its
@usernamein Telegram) and send it any message, e.g./start.To message a group: add the bot to the group.
To message a channel: add the bot as an admin of the channel.
Then, in Claude, ask it to call telegram_get_updates — it will show the chat_id for every
chat/group/channel that has messaged the bot. Save that chat_id; you'll reuse it in your routine
(e.g. "send a Telegram message to chat_id 123456789 saying ...").
Local development (optional)
npm install
cp .env.example .env # fill in TELEGRAM_BOT_TOKEN
npm run build
# stdio mode (for Claude Desktop/Claude Code on your own machine)
npm start
# HTTP mode (matches what's deployed)
TRANSPORT=http PORT=3000 npm startTest with the MCP Inspector:
npx @modelcontextprotocol/inspectorSecurity notes
Never commit
.envor your bot token to git (.gitignorealready excludes.env).The bot token grants full control of the bot — treat it like a password.
This server only calls the official Telegram Bot API (
api.telegram.org); it doesn't store any message content itself.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/germankingerman-byte/telegram-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server