The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Fast MCP Telegram listing page.
Telegram MCP Server — Model Context Protocol (MCP) gateway for Telegram. 8 context-efficient tools, multi-tenant, MTProto bridge.
Canonical GitHub repository: alexeyleshchenko/fast-mcp-telegram. This is the same project previously published under
leshchenko1979/fast-mcp-telegram. The old GitHub URL is a public 404. Install remainspip install fast-mcp-telegramoruvx --from fast-mcp-telegram; PyPI is the stable pointer.
Then choose your path:
MCP Client (AI assistants)
mcp.json fileDirect API (curl)
This server sits between your AI agent and Telegram's API:
What it does: Authenticates you with Telegram (QR or phone/bot token), exposes 8 AI-friendly tools instead of 80+ micro-APIs, and bridges raw MTProto for power users. Multi-tenant — one server, many users, isolated sessions.
| Feature | Description |
|---|---|
| :building_construction: Dual Transport | Stdio for local MCP clients, HTTP for remote deploys (http-auth production, optional http-no-auth for dev) |
| :closed_lock_with_key: Multi-User Authentication | Shared http-auth server: one Bearer token per user, one Telegram account per MCP connection. QR login for instant auth — no phone/OTP/2FA. |
| :dart: AI-Optimized | 8 consolidated tools vs 80+ micro-tools — context-efficient design, LLM-friendly API, MCP ToolAnnotations |
| :globe_with_meridians: HTTP-MTProto Bridge | Direct curl access to any Telegram API method with entity resolution and safety guardrails |
| :shield: Session ACL | Opt-in per-principal limits on http-auth (ACL_ENABLED) — chat lanes, read_only, blocked_peers, allow_mtproto, ACL_DENY_UNLISTED_PRINCIPALS; see SECURITY.md |
| :tv: QR & Web Setup | Scan QR from Telegram mobile for instant auth (no phone/OTP/2FA) or use phone/code/2FA fallback — live at /setup |
| :label: One Agent, Multiple Accounts | Optional PREFIX_MCP_TOOLS_WITH_ACCOUNT — when one agent uses several MCP connections (same server, different tokens), prefixes tool names so they do not collide; not needed for standard multi-user hosting |
| :rocket: MTProto Proxy Support | Connect via MTProto proxy with automatic Fake TLS (EE prefix) and standard proxy detection |
| :card_file_box: Unified Session Management | Single configuration system for setup and server; per-token session files on shared multi-user hosts |
| :cloud: S3 Session Storage | Store sessions in S3-compatible object storage for ephemeral hosted deployments (Smithery, Fly.io, Railway) |
| :mag_right: Intelligent Search | Global & per-chat message search with multi-query support and intelligent deduplication |
| :mag: Unified Message API | Single get_messages tool for search, browse, read by IDs, and replies - 5 modes in one |
| :speech_balloon: Universal Replies | Get replies from channel posts, forum topics, or any message with one parameter |
| :busts_in_silhouette: Smart Contact Discovery | Search users, groups, channels with uniform entity schemas, forum detection, profile enrichment |
| :file_folder: Folder Filtering | Filter chats by dialog folder (archived, custom folders) with integer ID or name matching |
| :envelope: Advanced Messaging | Send, edit, reply, post to forum topics, formatting, file attachments, and phone number messaging |
| :paperclip: Secure File Handling | Rich media sharing with SSRF protection, size limits, album support, optional HTTP attachment streaming |
| :outbox_tray: Inline File Uploads | Data: URI (base64) file uploads in files param — work in all transport modes, filenames preserved, images sent as photos |
| :microphone: Voice Transcription | Automatic speech-to-text for Premium accounts with parallel processing and polling |
| :zap: High Performance | Async operations, parallel queries, and memory-conscious batching |
| :shield: Production Reliability | Auto-reconnect, configurable logging, comprehensive error handling |
Quickest path (remote server): Open /setup → scan QR → copy token (see Try the Demo).
CLI path (local stdio): Run fast-mcp-telegram-setup once to create a Telegram session — then fast-mcp-telegram serves it:
Bot token alternative (no phone, no OTP):
Set BOT_API_TOKEN instead of --phone-number. See Installation Guide.
stdio mode (local): Add to your MCP client config (e.g. claude_desktop_config.json) — stdio (standard input/output) is the default transport for local MCP clients:
http-auth mode (remote): Add to your MCP client config (e.g. claude_desktop_config.json):
Get your token by scanning the QR code on the setup page or see Installation Guide for deploying your own server.
Deploy your own MCP server on a VDS — see Installation Guide for step-by-step instructions.
| Tool | Purpose | Key Features |
|---|---|---|
search_messages_globally | Search across all chats | Multi-term queries, date filtering, chat type filtering |
get_messages | Unified message retrieval | Search/browse, read by IDs, get replies (posts/topics/messages), date filtering in all modes |
send_message | Send new message | File attachments (URLs/local/data URIs), classic formatting (markdown/html), parse_mode=rich Rich Messages, reply to forum topics |
edit_message | Edit existing message | Classic or parse_mode=rich formatting |
find_chats | Find users/groups/channels | Multi-term search, contact discovery, folder filtering, username/phone lookup |
get_chat_info | Get detailed profile info | Member counts, bio/about, online status, forum topics, common groups, enriched data |
send_message_to_phone | Message phone numbers | Auto-contact management, optional cleanup, file support (URLs/data URIs), parse_mode=rich |
invoke_mtproto | Direct Telegram API (power user) | Raw MTProto methods, entity resolution, safety guardrails — see MTProto Bridge |
See Tools Reference for detailed documentation with examples.
Anonymous tool telemetry since v0.30.1 — heartbeat every 6h, no credentials or message content collected. Opt out with DO_NOT_TRACK=1. See ADR 0005.
Auth flow telemetry since v0.38.0 — atomic events during setup (phone, QR, bot token, reauthorize). Buffered flush on flow completion. See ADR 0008.
MIT License - see LICENSE
mcp-name: io.github.alexeyleshchenko/fast-mcp-telegram