← 返回目录
T

Telegram API MCP Server

社区
用于 Telegram Bot API 的终极 MCP 服务器——完整的 v9.6 覆盖,元模式,速率限制,断路器。
分类
其他
Stars
★ 33 热门
传输方式
stdio(本地进程)
运行环境
Node.js
凭据
需要 API Key / 凭据
许可证
MIT
最近提交
工具数
30
51FMRS · D

该服务器提供了对 Telegram Bot API 的全面、类型安全的覆盖,并增强了对 AI 使用的工程功能,但它是社区维护的,在较新的 API 版本方面可能落后。

最强项 · 安装易用性 13/20 最弱项 · 可靠性 8/20

可靠性
8/20
安全与权限
11/20
维护活跃度
8/20
文档质量
11/20
安装易用性
13/20
查看各项评分依据
可靠性 8/20
README 描述了声明式方法注册表、Zod 校验、限流、熔断、重试等清晰的架构,且依赖仅 2 个,静态看实现路径合理;但本次审查仅基于源文件,未提供 CI workflow、已提交测试或运行证据,且存在自相矛盾的数字:标题称 169 个方法,manifest 描述称 185 个,声称的 Bot API 9.6 'April 2026' 是未来时间,可信度存疑。扣分:无可验证的执行/测试证据,关键数据(方法数、API 版本)不一致。
安全与权限 11/20
README 声明了多项积极措施:token 掩码、路径穿越防护、可配置允许上传目录、无 eval/动态导入、仅访问 api.telegram.org、无遥测。未发现恶意行为、凭据外传或危险默认操作,不触红线。但这些均为 README 自述,无源码级验证;危险操作(删除消息、封禁成员、发送支付)依赖客户端注解提示而非强制确认。扣分:声明不可验证、无强制危险操作确认。
维护活跃度 8/20
非归档,MIT 许可证,npm 包版本 0.2.0,2 个开放 issue,作者有多个相关项目。但版本号仍为 0.x,未见 release 节奏、安全响应渠道或依赖更新策略的证据。扣分:早期版本、缺乏治理与安全响应证据。
文档质量 11/20
README 结构完整:快速开始(Claude Code / Claude Desktop / 源码)、环境变量表、meta-mode 说明、方法分类表、架构图、安全章节。质量高于一般项目。扣分:无故障排查/错误示例章节,未披露任何限制(如群消息 20/分的实际行为差异),且文档数字(169/185/9.6/未来日期)内部矛盾,属于'文档与能力可能不符'的信号。
安装易用性 13/20
提供 npx 一行安装及 Claude Code 与 Claude Desktop 两种配置示例,环境变量表清晰,源码构建路径完整。注意 Claude Code 示例中 -e 参数写法与 claude mcp add 语法不完全标准,可能导致误导。扣分:无 CI/测试验证安装路径,示例语法存疑。

静态评测 · 未实际运行收录于 2026-09-08

查看 FMRS 评分方法 →

选型与风险

能访问什么读取本地文件访问网络

适合谁

  • 使用大型语言模型驱动 Telegram Bot 开发,以自然语言的提示触发 Bot API 调用。
  • 希望使用全面、验证过的 Telegram Bot API 方法集合的集成。
  • 较长的 AI 对话场景,其中元模式可以减少上下文令牌的使用。
  • 需要在 Bot API 调用中内置速率限制和容错能力的应用。

不适合谁

  • 非 Telegram 用户或对 Bot API 没有需求的人。
  • 需要 SSE 或 HTTP 传输的用户,因为该服务器仅使用 stdio。
  • 需要一个拥有官方归属的 MCP 服务器的用户;这是社区实现的。
  • 无需外部依赖和需要全面官方支持的极端情况。

所需权限

  • 完全访问与提供的令牌相关联的 Telegram Bot API。
  • Bot 令牌有效的聊天、群组、频道及文件中发送和接收消息的能力。
  • 服务器仅通过 `api.telegram.org` 进行通信;不需要其他外部网络请求。
  • 令牌不会被暴露在响应或错误消息中。

风险与副作用

  • 泄露令牌会导致机器人账户被滥用。
  • 在不受信任的环境中,如果启用了文件上传权限,则可能导致安全风险。
  • 速率限制和断路机制可能导致在压力下行为有所不同。
  • 服务器的代码和内容可能存在错误,没有官方支持。

安装接入

准备工作

运行环境:Node.js

TELEGRAM_BOT_TOKEN 必填密钥 必填的机器人令牌,通过 Telegram 的 @BotFather 创建机器人后获取。
其他可选配置项(10 个)
TELEGRAM_DEFAULT_CHAT_ID 可选 可选的默认聊天 ID,设置后调用工具时无需每次传 chat_id。
TELEGRAM_DEFAULT_THREAD_ID 可选 可选的默认论坛主题(话题)线程 ID。
TELEGRAM_META_MODE 可选 设为 true 时只暴露 telegram_find 和 telegram_call 两个元工具,节省上下文 token,默认 false。
TELEGRAM_GLOBAL_RATE_LIMIT 可选 每秒最大请求数,默认 30,对应 Telegram 官方全局限制。
TELEGRAM_PER_CHAT_RATE_LIMIT 可选 每个群每分钟最大消息数,默认 20,对应 Telegram 官方限制。
TELEGRAM_MAX_RETRIES 可选 瞬时错误的重试次数,默认 3。
TELEGRAM_CB_THRESHOLD 可选 触发熔断的连续失败次数,默认 5。
TELEGRAM_CB_COOLDOWN 可选 熔断器冷却时间(毫秒),默认 30000。
TELEGRAM_ALLOWED_UPLOAD_DIRS 可选 逗号分隔的允许上传目录路径,用于文件上传安全校验。
TELEGRAM_MAX_FILE_SIZE 可选 最大上传文件大小(字节),默认 52428800(50MB)。
  1. 从 @BotFather 获取一个机器人令牌。
  2. 在支持 MCP 的客户端(例如 Claude Desktop)中,添加一个包含以下配置的 MCP 服务器:command: 'npx',args: ['telegram-api-mcp'],env: { TELEGRAM_BOT_TOKEN: 'your_token' }。
  3. 或者,在您的 shell 中设置环境变量,然后运行 npx telegram-api-mcp,同时搭配一个可以实现 MCP 的客户端。
claude_desktop_config.json
{
  "mcpServers": {
    "telegram": {
      "command": "npx",
      "args": [
        "telegram-api-mcp"
      ],
      "env": {
        "TELEGRAM_BOT_TOKEN": "your_token_from_botfather"
      }
    }
  }
}

以 Claude Desktop 为例。其他客户端的配置文件位置或字段可能不同(如 VS Code 使用 servers 字段),可用下方配置生成器转换。

.vscode/mcp.json
{
  "servers": {
    "telegram": {
      "command": "npx",
      "args": [
        "telegram-api-mcp"
      ],
      "env": {
        "TELEGRAM_BOT_TOKEN": "your_token_from_botfather"
      }
    }
  }
}

写入项目的 .vscode/mcp.json(VS Code 使用 servers 字段)。

Terminal
claude mcp add telegram -e TELEGRAM_BOT_TOKEN=your_token_from_botfather -- npx telegram-api-mcp

在终端运行;先把 <…> 占位符换成你自己的值。

验证是否装好

启动后,在客户端工具列表中应能看到 getMe、sendMessage 等工具;让 AI 调用 getMe,若返回机器人名称即表示连接成功。

常见排障

  1. 检查 `TELEGRAM_BOT_TOKEN` 是否在环境中正确设置。
  2. 验证您的 Telegram Bot 令牌是否有效以及 Bot 是否已初始化。
  3. 确保您的客户端通过 npx 安装了最新版本的 `telegram-api-mcp`。
  4. 对于消息发送错误,请检查速率限制配置和聊天 ID 的准确性。

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • 用 getMe 查一下这个机器人的信息
  • 给我的频道发送一条消息:'会议改到下午三点'
  • 在群里发起一个投票,问题为'周五还是周六开会',选项为周五、周六
  • 用 telegram_find 搜索发送贴纸的方法,然后用 telegram_call 调用它

工具能力 30

telegram_find 只读
按关键词或类别搜索可用的 Telegram 方法。
telegram_call 写入
使用 JSON 参数按名称调用任何 Telegram Bot API 方法。
sendMessage 写入
sendPhoto 写入
sendVideo 写入
sendAudio 写入
sendDocument 写入
sendMediaGroup 写入
展开其余 22 个工具
sendPoll 写入
sendDice 写入
sendChatAction 写入
forwardMessage 写入
copyMessage 写入
editMessageText 写入
deleteMessage 破坏性
getMe 只读
getChat 只读
banChatMember 破坏性
unbanChatMember 写入
restrictChatMember 写入
promoteChatMember 写入
getFile 只读
getUpdates 只读
setWebhook 写入
answerCallbackQuery 写入
sendInvoice 写入
createChatInviteLink 写入
setChatTitle 写入
sendLocation 写入
sendContact 写入

使用场景

在 MCP 客户端内发送 Telegram 消息、音频、照片、视频、文档和媒体组。
直接管理聊天、群组、论坛话题和成员权限。
无需在客户端手动编写 REST 调用即可实现 Telegram Bot 操作。
在 Telegram 中创建轮询、测验、发票和赠品。

支持客户端

Claude Desktop

依据项目文档列出,未经本站实测。

详细介绍

telegram-api-mcp 是一个仅支持 TypeScript 的 MCP 服务器,它提供了所有 169 种 Telegram Bot API 方法(Bot API v9.6,根据清单为 v10.2)。它包含 Zod 参数验证、令牌掩码、工具注解、响应截断以及用于速率限制的异步互斥令牌桶(默认全局每秒 30 个请求,每个群组每分钟 20 条消息,符合 Telegram 官方限制)和 3 态断路器(关闭/打开/半开)等弹性特性。它支持元模式(TELEGRAM_META_MODE=true),可以仅用两个工具 telegram_find 和 telegram_call 取代 169 个单独的工具,以节省大约 99% 的上下文令牌。运行时依赖仅有两个(@modelcontextprotocol/sdk 和 zod)。服务器通过标准输入/输出与客户端通信。根据 README 中的安装说明,它通过 npx 与包括 Claude Desktop 在内的客户端兼容。

同类可选方案

用Telethon驱动的Telegram MCP服务器,让MCP客户端读取聊天、管理群组、发送/修改消息、媒体、联系人及设置。

★ 1.8k · 工具数 76 与当前对比 →

源版本 9d95026479c3 数据同步于 2026-10-19 查看 FMRS 评分方法