
Telegram Client Library and MCP Server

2025.04.14
12
JavaScriptTelegram 交互消息管理交流协作
Telegram-mcp-server 是一个结合了 Telegram 客户端库和 MCP(Model Context Protocol)服务器的项目,旨在为 AI 助手提供与 Telegram 交互的能力。该项目不仅支持基本的 Telegram 客户端功能,如认证、会话管理和消息检索,还通过 MCP 服务器提供了搜索频道、列出可用频道、获取频道消息以及按模式过滤消息等高级功能。
View on GitHub
Overview
基本能力
产品定位
Telegram-mcp-server 是一个为 AI 助手设计的工具,使其能够通过 MCP 协议与 Telegram 进行交互,实现消息的检索、过滤和管理。
核心功能
- Telegram 客户端库
- 支持 Telegram 认证(包括 2FA)
- 会话管理(自动重用现有会话)
- 获取聊天/对话列表
- 从特定聊天中获取消息
-
按模式(如正则表达式)过滤消息
-
MCP 服务器
- 通过关键词搜索 Telegram 频道
- 列出所有可访问的频道
- 从频道中获取消息
- 按模式过滤消息
适用场景
- AI 助手需要访问和管理 Telegram 消息
- 开发者需要集成 Telegram 消息处理功能到其应用中
- 需要自动化处理 Telegram 频道消息的场景
工具列表
telegram-client.js
: 主客户端库client.js
: 带有额外辅助函数的示例客户端index.js
: 使用客户端库的原始示例mcp-server.js
: MCP 服务器主入口telegram-mcp.js
: 带有 Telegram 工具的 MCP 服务器实现http-server.js
: HTTP/SSE 服务器传输层mcp-client-example.js
: 用于测试 MCP 服务器的简单客户端
常见问题解答
- 如何配置 Telegram API 凭证?
创建
.env
文件并填写TELEGRAM_API_ID
、TELEGRAM_API_HASH
和TELEGRAM_PHONE_NUMBER
。 - 如何启动 MCP 服务器?
运行
npm start
命令。 - 如何测试 MCP 服务器?
使用
npm run mcp-client
命令运行示例客户端。
使用教程
使用依赖
- 确保已安装 Node.js 和 npm。
- 创建
.env
文件并填写 Telegram API 凭证:
TELEGRAM_API_ID=your_api_id
TELEGRAM_API_HASH=your_api_hash
TELEGRAM_PHONE_NUMBER=your_phone_number
PORT=3000 # 可选,默认为 3000
安装教程
- 克隆项目仓库。
- 在项目目录中运行以下命令安装依赖:
npm install
调试方式
- 启动 MCP 服务器:
npm start
- 服务器将在
http://localhost:3000/mcp
可用。 - 使用示例客户端测试服务器:
npm run mcp-client
- 如需使用 Telegram 客户端库,可参考
client.js
或index.js
中的示例代码。