关于 MCP Telegram Server
Telegram MCP Server 是 Telegram 的 MCP 网关,面向需要通过 AI 助手收发消息的用户和团队。它提供 8 个工具,并支持多用户隔离、二维码登录和 MTProto 直接调用。
主要功能
- 018 个整合工具,降低上下文占用
- 02二维码登录,无需验证码与两步验证
- 03多用户隔离的会话与 Bearer 令牌
- 04MTProto 直接调用与实体解析
- 05消息搜索、发送、编辑与附件支持
- 06可选的会话访问控制(ACL)
适用场景
- 01让 AI 助手搜索 Telegram 历史消息
- 02通过 AI 助手向联系人或群组发送消息与文件
- 03为多个用户部署共享的远程 MCP 服务
MCP 相关
该项目是 MCP 服务,通过 stdio 或 HTTP 传输向 MCP 客户端暴露 8 个 Telegram 工具,并提供 MTProto 桥接接口。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Telegram MCP Server — Telegram 的 Model Context Protocol(MCP)网关。提供 8 个高效利用上下文的工具,支持多租户,并搭载 MTProto 桥接。
试用演示
- 打开 https://tg-mcp.l1979.ru/setup
- 使用 Telegram 手机端扫描二维码(设置 → 设备 → 扫描二维码)——无需输入手机号、无需 OTP,也无需 2FA。也可以输入手机号作为备用方式。
- 从成功页面复制 Bearer 令牌
然后选择使用方式:
MCP 客户端(AI 助手)
- 从设置页面下载
mcp.json文件 - 将服务添加到 AI 客户端,然后询问:“在 telegram 中给我的已保存消息发送 hello”
直接调用 API(curl)
- 运行下面的命令(将 TOKEN 替换为你的令牌):
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!"}}'
工作原理
此服务位于你的 AI Agent 与 Telegram API 之间:
Your agent → MCP/HTTP → this server → MTProto → Telegram
**功能:**通过 Telegram 验证你的身份(二维码或手机号/机器人令牌),提供 8 个适合 AI 使用的工具,取代 80 多个微型 API,并为高级用户桥接原始 MTProto。支持多租户——一台服务供多位用户使用,且会话相互隔离。
功能
| 功能 | 描述 |
|---|---|
| :building_construction: 双传输方式 | 为本地 MCP 客户端提供 Stdio,为远程部署提供 HTTP(生产环境使用 http-auth,开发环境可选 http-no-auth) |
| :closed_lock_with_key: 多用户身份验证 | 共享的 http-auth 服务:每位用户一个 Bearer 令牌,每个 MCP 连接对应一个 Telegram 账号。通过 QR 登录 即时完成身份验证,无需手机号、OTP 或 2FA。 |
| :dart: 针对 AI 优化 | 将 80 多个微型工具整合为 8 个工具——设计注重上下文效率,提供适合大模型的 API 和 MCP ToolAnnotations |
| :globe_with_meridians: HTTP-MTProto 桥接 | 通过 curl 直接访问任意 Telegram API 方法,并提供实体解析和安全防护 |
| :shield: 会话 ACL | 可选的 http-auth 主体级限制(ACL_ENABLED)——聊天通道、read_only、blocked_peers、allow_mtproto、ACL_DENY_UNLISTED_PRINCIPALS;详见 SECURITY.md |
| :tv: QR 码与网页设置 | 使用 Telegram 手机端扫描 QR 码即可即时完成身份验证(无需手机号、OTP 或 2FA),也可使用手机号/验证码/2FA 作为备用方式——访问 /setup |
| :label: 一个 Agent,多个账号 | 可选的 PREFIX_MCP_TOOLS_WITH_ACCOUNT——当一个 Agent 使用多个 MCP 连接(同一服务,不同令牌)时,为工具名称添加前缀以避免冲突;标准多用户托管无需此设置 |
| :rocket: MTProto 代理支持 | 通过 MTProto 代理连接,支持自动 Fake TLS(EE 前缀)和标准代理检测 |
| :card_file_box: 统一会话管理 | 设置和服务共用一个配置系统;在共享的多用户主机上按令牌存储会话文件 |
| :cloud: S3 会话存储 | 将会话存储在兼容 S3 的对象存储中,适用于临时托管部署(Smithery、Fly.io、Railway) |
| :mag_right: 智能搜索 | 支持全局和单个聊天中的消息搜索,支持多查询和智能去重 |
| :mag: 统一消息 API | 使用单个 get_messages 工具进行搜索、浏览、按 ID 读取和查看回复——一个工具包含 5 种模式 |
| :speech_balloon: 通用回复 | 通过一个参数获取频道帖子、论坛主题或任意消息的回复 |
| :busts_in_silhouette: 智能联系人发现 | 搜索用户、群组和频道,采用统一的实体架构,支持论坛检测和资料补全 |
| :file_folder: 文件夹筛选 | 按对话文件夹(归档文件夹、自定义文件夹)筛选聊天,可通过整数 ID 或名称匹配 |
| :envelope: 高级消息功能 | 发送、编辑和回复消息,发布到论坛主题,支持格式设置、文件附件和手机号消息 |
| :paperclip: 安全文件处理 | 支持丰富的媒体共享,并提供 SSRF 防护、大小限制、相册支持和可选的 HTTP 附件流式传输 |
| :outbox_tray: 内联文件上传 | 在 files 参数中通过 Data URI(base64)上传文件——适用于所有传输模式,保留文件名,图片以照片形式发送 |
| :microphone: 语音转录 | 为 Premium 账号自动进行语音转文本,支持并行处理和轮询 |
| :zap: 高性能 | 异步操作、并行查询和注重内存效率的批处理 |
| :shield: 生产环境可靠性 | 自动重新连接、可配置日志记录和全面的错误处理 |
快速开始
1. 安装并进行身份验证
最快方式(远程服务): 打开 /setup → 扫描二维码 → 复制令牌(参见试用演示)。
CLI 方式(本地 stdio): 运行一次 fast-mcp-telegram-setup 以创建 Telegram 会话,然后运行 fast-mcp-telegram 为其提供服务:
uvx --from fast-mcp-telegram fast-mcp-telegram-setup \
--api-id="your_api_id" \
--api-hash="your_api_hash" \
--phone-number="+123456789"
Bot 令牌替代方式(无需手机号,无需 OTP):
设置 BOT_API_TOKEN,而不是使用 --phone-number。参见安装指南。
2. 配置 MCP 客户端
stdio 模式(本地): 将以下内容添加到 MCP 客户端配置中(例如 claude_desktop_config.json)——stdio(标准输入/输出)是本地 MCP 客户端的默认传输方式:
{
"mcpServers": {
"telegram": {
"command": "uvx",
"args": ["fast-mcp-telegram"],
"env": {
"API_ID": "your_api_id",
"API_HASH": "your_api_hash"
}
}
}
}
http-auth 模式(远程): 将以下内容添加到 MCP 客户端配置中(例如 claude_desktop_config.json):
{
"mcpServers": {
"telegram": {
"url": "https://tg-mcp.l1979.ru/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}
扫描设置页面上的二维码获取令牌,或参见安装指南了解如何部署自己的服务。
3. 开始使用
{"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!"}}
部署到远程服务
在 VDS 上部署自己的 MCP 服务——参见安装指南了解分步说明。
可用工具
| 工具 | 用途 | 主要功能 |
|---|---|---|
search_messages_globally | 搜索所有聊天 | 多关键词查询、日期筛选、聊天类型筛选 |
get_messages | 统一获取消息 | 搜索/浏览、按 ID 读取、获取回复(帖子/主题/消息)、所有模式下均支持日期筛选 |
send_message | 发送新消息 | 文件附件(URL/本地文件/data URI)、经典格式(markdown/html)、parse_mode=rich 富消息、回复论坛主题 |
edit_message | 编辑现有消息 | 经典格式或 parse_mode=rich 格式 |
find_chats | 查找用户/群组/频道 | 多关键词搜索、发现联系人、文件夹筛选、用户名/手机号查询 |
get_chat_info | 获取详细资料信息 | 成员数、简介/关于信息、在线状态、论坛主题、共同群组、增强数据 |
send_message_to_phone | 向电话号码发送消息 | 自动管理联系人、可选清理、支持文件(URL/data URI)、parse_mode=rich |
invoke_mtproto | 直接调用 Telegram API(高级用户) | 原始 MTProto 方法、实体解析、默认移除 PII/凭据字段(原样返回需设置 include_sensitive=true)——参见 MTProto Bridge |
参见工具参考查看包含示例的详细文档。
文档
- 安装指南 - 本地设置和远程服务部署
- 工具参考 - 完整的工具文档
- MTProto Bridge - 通过 curl 直接访问 API
- 贡献指南 - 贡献者指南
- 安全 - 安全功能和最佳实践
遥测
自 v0.30.1 起提供匿名工具遥测——每 6h 发送一次心跳,不收集凭据或消息内容。设置 DO_NOT_TRACK=1 可选择退出。参见 ADR 0005。
自 v0.38.0 起提供身份验证流程遥测——设置期间记录原子事件(手机号、二维码、Bot 令牌、重新授权)。流程完成时批量发送。参见 ADR 0008。
许可证
MIT 许可证 - 参见 LICENSE
mcp-name: io.github.leshchenko1979/fast-mcp-telegram
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。