pypi fast-mcp-telegramstreamable-httpMITupdated 15d ago
Telegram MCP Server — Model Context Protocol (MCP) gateway for Telegram. 8 context-efficient tools, multi-tenant, MTProto bridge.
fast mcp telegram 能做什么?
Telegram MCP Server — Model Context Protocol (MCP) gateway for Telegram. 8 context-efficient tools, multi-tenant, MTProto bridge.
Try the Demo
- Open https://tg-mcp.l1979.ru/setup
- Scan the QR code from Telegram mobile (Settings → Devices → Scan QR) — no phone typing, no OTP, no 2FA. Or enter your phone number as fallback.
- Copy your Bearer token from the success page
Then choose your path:
MCP Client (AI assistants)
- From the setup page, download the
mcp.jsonfile - Add the server to your AI client and ask: "send hello to my saved messages in telegram"
Direct API (curl)
- Run the command below (replace TOKEN with yours):
curl -X POST "https://tg-mcp.l1979.ru/mtproto-api/messages.SendMessage" \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json" \
-d '{"params": {"peer": "me", "message": "Hello!"}}'
How It Works
This server sits between your AI agent and Telegram's API:
Your agent → MCP/HTTP → this server → MTProto → Telegram
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.
Features
| 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 |
Quick Start
1. Install and authenticate
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:
uvx --from fast-mcp-telegram fast-mcp-telegram-setup \
--api-id="your_api_id" \
--api-hash="your_api_hash" \
--phone-number="+123456789"
Bot token alternative (no phone, no OTP):
Set BOT_API_TOKEN instead of --phone-number. See Installation Guide.
2. Configure MCP Client
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:
{
"mcpServers": {
"telegram": {
"command": "uvx",
"args": ["fast-mcp-telegram"],
"env": {
"API_ID": "your_api_id",
"API_HASH": "your_api_hash"
}
}
}
}
http-auth mode (remote): Add to your MCP client config (e.g. claude_desktop_config.json):
{
"mcpServers": {
"telegram": {
"url": "https://tg-mcp.l1979.ru/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}
Get your token by scanning the QR code on the setup page or see Installation Guide for deploying your own server.
3. Start Using
{"tool": "search_messages_globally", "params": {"query": "hello", "limit": 5}}
{"tool": "get_messages", "params": {"chat_id": "me", "limit": 10}}
{"tool": "send_message", "params": {"chat_id": "me", "message": "Hello!"}}
Deploy to Remote Server
Deploy your own MCP server on a VDS — see Installation Guide for step-by-step instructions.
Available Tools
| 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.
Documentation
- Installation Guide - Local setup and remote server deployment
- Tools Reference - Complete tools documentation
- MTProto Bridge - Direct API access via curl
- Contributing - Guidelines for contributors
- Security - Security features and best practices
Telemetry
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.
License
MIT License - see LICENSE
mcp-name: io.github.alexeyleshchenko/fast-mcp-telegram
安装
把 fast mcp telegram 添加到你的客户端。选择你正在使用的那个。
{
"servers": {
"fast-mcp-telegram": {
"type": "http",
"url": "https://tg-mcp.l1979.ru/v1/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
claude mcp add fast-mcp-telegram -- uvx fast-mcp-telegramcodex mcp add fast-mcp-telegram -- uvx fast-mcp-telegramamp mcp add fast-mcp-telegram -- uvx fast-mcp-telegram{
"mcpServers": {
"fast-mcp-telegram": {
"command": "uvx",
"args": [
"fast-mcp-telegram"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"fast-mcp-telegram": {
"command": "uvx",
"args": [
"fast-mcp-telegram"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"mcpServers": {
"fast-mcp-telegram": {
"command": "uvx",
"args": [
"fast-mcp-telegram"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"fast-mcp-telegram": {
"command": "uvx",
"args": [
"fast-mcp-telegram"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"fast-mcp-telegram": {
"command": "uvx",
"args": [
"fast-mcp-telegram"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"fast-mcp-telegram": {
"type": "local",
"command": "uvx",
"args": [
"fast-mcp-telegram"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"fast-mcp-telegram": {
"command": {
"path": "uvx",
"args": [
"fast-mcp-telegram"
]
}
}
}
}Add to your Zed `settings.json`.
uvx fast-mcp-telegramRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
8 个工具
fast mcp telegram 向已连接的智能体提供 8 个工具。
- search_messages_globally
- Search across all chats
- get_messages
- Unified message retrieval
- send_message
- Send new message
- edit_message
- Edit existing message
- find_chats
- Find users/groups/channels
- get_chat_info
- Get detailed profile info
- send_message_to_phone
- Message phone numbers
- invoke_mtproto
- Direct Telegram API (power user)
评分
84 / 100
优秀
- 文档25/25
- 维护25/25
- 可信度13/20
- 能力6/15
- 安装体验15/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 8 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 8 tool(s) documented
- Provides prompt templates
- Provides resources
- 18 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
版本历史
| 版本 | 发布于 |
|---|---|
| 0.44.1最新 | 2026年8月13日 |
| 0.36.0最新 | 2026年6月18日 |
| 0.35.0 | 2026年6月18日 |
| 0.22.2 | 2026年5月28日 |
| 0.5.0 | 2025年9月17日 |
| 0.4.5 | 2025年9月15日 |
| 0.4.4 | 2025年9月11日 |