使用说明

项目简介

'telegram_mcp' 是一个基于 Node.js 构建的 MCP 服务器,它允许 LLM (大型语言模型) 客户端通过 Model Context Protocol (MCP) 协议访问 Telegram 的功能。该服务器通过 REST API 和 MCP 协议提供接口,使得 LLM 能够获取 Telegram 对话列表、读取消息、发送消息以及执行 Telegram API 的各种方法。

主要功能点

  • Telegram API 访问: 允许 LLM 客户端通过标准接口访问 Telegram 的核心功能,例如获取对话列表、读取聊天消息、发送消息等。
  • MCP 协议支持: 实现了 Model Context Protocol,可以方便地与支持 MCP 协议的 LLM 客户端(如 Goose AI-agent)集成。
  • REST API: 除了 MCP 接口,还提供了易于理解和使用的 RESTful API,方便开发者直接调用 Telegram 功能。
  • 会话管理: 服务器端管理 Telegram 会话,支持通过电话号码作为会话 ID 进行操作,并持久化会话信息。
  • API 文档: 提供 Swagger/OpenAPI 格式的 API 文档,方便开发者和 AI 系统理解和使用该服务器。

安装步骤

  1. 克隆仓库: 使用 'git clone https://github.com/kdoronin/telegram_mcp' 命令克隆代码库到本地。
  2. 安装依赖: 进入项目目录,运行 'npm install' 安装项目所需的 Node.js 依赖包。
  3. 配置环境变量:
    • 复制 '.env.example' 文件并重命名为 '.env'。
    • 编辑 '.env' 文件,填写你的 Telegram API ID 和 API Hash。你需要在 my.telegram.org 申请 API ID 和 API Hash。
  4. 启动服务器: 运行 'npm start' 命令启动服务器。如果需要开发模式并自动重启,可以使用 'npm run dev'。

服务器配置 (MCP 客户端)

{
  "server name": "telegram",
  "command": "node",
  "args": ["src/index.js"],
  "url": "http://localhost:3000/mcp"
}
  • 'server name': 自定义的服务器名称,例如 "telegram"。
  • 'command': 启动服务器的命令,这里是 'node' (假设 Node.js 可执行文件在系统 PATH 中)。
  • 'args': 传递给命令的参数,这里是服务器入口文件 'src/index.js'。
  • 'url': MCP 服务器的 URL 地址,客户端通过此地址与服务器通信。

基本使用方法

服务器启动后,LLM 客户端(如果支持 MCP)可以通过配置连接到 'http://localhost:3000/mcp' 这个 MCP 端点,并调用 'getDialogs', 'getMessages', 'sendMessage', 'executeMethod' 等工具来与 Telegram 互动。 对于不使用 MCP 客户端的场景,开发者也可以直接调用 REST API 端点,例如:

  • 获取对话列表: 'GET http://localhost:3000/api/dialogs?session=YOUR_PHONE_NUMBER'
  • 发送消息: 'POST http://localhost:3000/api/send' (请求体为 JSON: '{ "session": "YOUR_PHONE_NUMBER", "chatId": "CHAT_ID", "message": "Hello" }')

信息

分类

通信与社交