Telegram Client Library and MCP Server

Telegram Client Library and MCP Server

site icon
2025.03.24 1
JavaScriptTelegram 交互AI 助手集成交流协作
kfastov_telegram-mcp-server 是一个结合了 Telegram 客户端库和 MCP(Model Context Protocol)服务器的项目,旨在为 AI 助手提供与 Telegram 交互的能力。该项目不仅支持基本的 Telegram 客户端功能,如认证、会话管理和消息检索,还通过 MCP 服务器提供了搜索频道、列出可用频道、获取频道消息以及按模式过滤消息等高级功能。这使得 AI 助手能够更有效地与 Telegram 平台进行交互,适用于需要自动化处理 Telegram 消息的场景。
View on GitHub

Overview

基本能力

产品定位

kfastov_telegram-mcp-server 是一个结合了 Telegram 客户端库和 MCP 服务器的项目,旨在为 AI 助手提供与 Telegram 交互的能力。

核心功能

  • Telegram 客户端库
  • 支持 Telegram 认证(包括 2FA)
  • 会话管理(自动重用现有会话)
  • 获取聊天/对话
  • 从特定聊天中获取消息
  • 按模式(如正则表达式)过滤消息

  • MCP 服务器

  • 按关键词搜索频道
  • 列出可用频道
  • 从频道获取消息
  • 按模式过滤消息

适用场景

  • 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 服务器的简单客户端

常见问题解答

  • 如何与 Claude 或其他 MCP 兼容的助手一起使用?
  • 启动 MCP 服务器
  • 使用 MCP URL 将 Claude 连接到 MCP 服务器
  • 要求 Claude 搜索频道、检索消息或按模式过滤消息

使用教程

使用依赖

  1. 创建一个 .env 文件,包含您的 Telegram API 凭据:
TELEGRAM_API_ID=your_api_id
TELEGRAM_API_HASH=your_api_hash
TELEGRAM_PHONE_NUMBER=your_phone_number
PORT=3000  # 可选,MCP 服务器默认为 3000
  1. 安装依赖:
npm install

安装教程

  1. 使用上述 .env 文件配置环境变量
  2. 安装依赖
  3. 启动 MCP 服务器:
npm start

调试方式

  1. 运行示例客户端:
npm run client
  1. 测试 MCP 服务器:
npm run mcp-client
  1. MCP 服务器将在以下地址可用:
http://localhost:3000/mcp

许可证

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