mcp-telegram
An MCP server that wraps the Telegram Bot API into semantic tools for LLM agents, supporting multi-bot management for sending and receiving messages. It enables agents to send text, photos, and documents, as well as fetch recent updates from multiple configured Telegram bots.
README
<img src="https://upload.wikimedia.org/wikipedia/commons/8/82/Telegram_logo.svg" width="28" /> mcp-telegram
MCP server that wraps the Telegram Bot API as semantic tools for LLM agents — with multi-bot support for managing multiple agent conversations.
Works with Claude Code, Codex, Claude Desktop, Cursor, VS Code, Windsurf, and any MCP-compatible client.
Prerequisites
- Node.js 18+
- One or more Telegram bot tokens (create via @BotFather)
- Your Telegram chat ID
| Variable | Description | Where to find |
|---|---|---|
TELEGRAM_BOT_<NAME> |
Bot token (one per agent) | @BotFather → /newbot |
TELEGRAM_CHAT_ID |
Your Telegram user/chat ID | Send /start to your bot, then call getUpdates |
Multi-bot convention: Each
TELEGRAM_BOT_<NAME>env var registers a bot. The<NAME>becomes the bot identifier used in tools (e.g.,TELEGRAM_BOT_VENDAS→bot: "vendas").
Installation
Claude Code
claude mcp add telegram \
-s local \
-e TELEGRAM_BOT_VENDAS=your-token \
-e TELEGRAM_CHAT_ID=your-chat-id \
-- npx -y github:pauloFroes/mcp-telegram
Codex
Add to your codex.toml:
[mcp.telegram]
transport = "stdio"
command = "npx"
args = ["-y", "github:pauloFroes/mcp-telegram"]
[mcp.telegram.env]
TELEGRAM_BOT_VENDAS = "your-token"
TELEGRAM_CHAT_ID = "your-chat-id"
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"telegram": {
"command": "npx",
"args": ["-y", "github:pauloFroes/mcp-telegram"],
"env": {
"TELEGRAM_BOT_VENDAS": "your-token",
"TELEGRAM_CHAT_ID": "your-chat-id"
}
}
}
}
Cursor
Add to your .cursor/mcp.json:
{
"mcpServers": {
"telegram": {
"command": "npx",
"args": ["-y", "github:pauloFroes/mcp-telegram"],
"env": {
"TELEGRAM_BOT_VENDAS": "your-token",
"TELEGRAM_CHAT_ID": "your-chat-id"
}
}
}
}
VS Code
Add to your .vscode/mcp.json:
{
"servers": {
"telegram": {
"command": "npx",
"args": ["-y", "github:pauloFroes/mcp-telegram"],
"env": {
"TELEGRAM_BOT_VENDAS": "your-token",
"TELEGRAM_CHAT_ID": "your-chat-id"
}
}
}
}
Windsurf
Add to your ~/.windsurf/mcp.json:
{
"mcpServers": {
"telegram": {
"command": "npx",
"args": ["-y", "github:pauloFroes/mcp-telegram"],
"env": {
"TELEGRAM_BOT_VENDAS": "your-token",
"TELEGRAM_CHAT_ID": "your-chat-id"
}
}
}
}
Available Tools
Messaging
| Tool | Description | Key Parameters |
|---|---|---|
send_message |
Send a text message (supports Markdown/HTML) | text, bot?, parse_mode? |
send_photo |
Send a photo by URL or file_id | photo, bot?, caption? |
send_document |
Send a document/file by URL or file_id | document, bot?, caption? |
Updates & Management
| Tool | Description | Key Parameters |
|---|---|---|
get_updates |
Get recent incoming messages for a bot | bot?, limit?, offset? |
list_bots |
List all configured bots with their Telegram info | — |
Use Cases & Examples
- "Send today's sales summary via the vendas bot" — Collects data from other MCPs, formats a report, sends via
send_messagewithbot: "vendas" - "Alert me on Telegram if ad spend exceeds R$500" — Checks Meta Ads data, sends alert via
send_messagewithbot: "ads" - "Check if Paulo replied to the last notification" — Calls
get_updateson the relevant bot to read recent messages - "Send this chart to my Telegram" — Uses
send_photowith the image URL
Authentication
Bot tokens are passed in the URL path per Telegram Bot API convention. No OAuth flow required — each bot token is self-contained.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.