Telegram Client Library and MCP Server

Telegram Client Library and MCP Server

site icon
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_IDTELEGRAM_API_HASHTELEGRAM_PHONE_NUMBER
  • 如何启动 MCP 服务器? 运行 npm start 命令。
  • 如何测试 MCP 服务器? 使用 npm run mcp-client 命令运行示例客户端。

使用教程

使用依赖

  1. 确保已安装 Node.js 和 npm。
  2. 创建 .env 文件并填写 Telegram API 凭证:
TELEGRAM_API_ID=your_api_id
TELEGRAM_API_HASH=your_api_hash
TELEGRAM_PHONE_NUMBER=your_phone_number
PORT=3000  # 可选,默认为 3000

安装教程

  1. 克隆项目仓库。
  2. 在项目目录中运行以下命令安装依赖:
npm install

调试方式

  1. 启动 MCP 服务器:
npm start
  1. 服务器将在 http://localhost:3000/mcp 可用。
  2. 使用示例客户端测试服务器:
npm run mcp-client
  1. 如需使用 Telegram 客户端库,可参考 client.jsindex.js 中的示例代码。

许可证

该项目遵循 MIT 开源许可条款。