使用说明
项目简介
'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 系统理解和使用该服务器。
安装步骤
- 克隆仓库: 使用 'git clone https://github.com/kdoronin/telegram_mcp' 命令克隆代码库到本地。
- 安装依赖: 进入项目目录,运行 'npm install' 安装项目所需的 Node.js 依赖包。
- 配置环境变量:
- 复制 '.env.example' 文件并重命名为 '.env'。
- 编辑 '.env' 文件,填写你的 Telegram API ID 和 API Hash。你需要在 my.telegram.org 申请 API ID 和 API Hash。
- 启动服务器: 运行 '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" }')
信息
分类
通信与社交