Telegram MCP Server 使用说明
项目简介
Telegram MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,它扩展了 LLM 应用与 Telegram 平台交互的能力。通过此服务器,LLM 可以调用预设的工具,例如向 Telegram 用户发送消息或请求用户回复,从而实现更丰富的 Telegram 机器人应用场景。
主要功能点
- 发送消息: LLM 可以通过 'send_message' 工具向指定的 Telegram 聊天 ID 发送文本消息。
- 请求用户输入: LLM 可以通过 'request_user_input' 工具向 Telegram 用户发送提示消息,并等待用户在 Telegram 中的回复,获取用户输入内容。
- 安全验证: 服务器配置允许的 Telegram 聊天 ID 列表,只处理来自白名单用户的消息,增强安全性。
- 配置灵活: 通过 'config.json' 文件配置 Telegram Bot Token 和允许的聊天 ID,方便管理和部署。
安装步骤
- 克隆仓库: 将 GitHub 仓库 'https://github.com/lane83/mcp-telegram' 克隆到本地。
- 安装 Node.js: 确保你的系统已安装 Node.js 18 或更高版本。
- 安装依赖: 在项目根目录下,打开终端并运行 'npm install' 命令安装项目依赖。
- 配置 config.json:
- 在项目根目录下创建 'config.json' 文件。
- 根据 'config.template.json' (如果仓库中有提供) 或以下模板,配置你的 Telegram Bot Token 和允许的聊天 ID 列表。
{ "telegram": { "botToken": "YOUR_TELEGRAM_BOT_TOKEN", // 替换为你的 Telegram Bot Token "allowedChatIds": [CHAT_ID_1, CHAT_ID_2] // 替换为允许交互的 Telegram 聊天 ID 列表,可以添加多个 } }- 获取 Telegram Bot Token: 在 Telegram 中搜索 @BotFather 并按照指示创建新的 Bot,获取 Bot Token。
- 获取 Telegram Chat ID: 可以通过 Telegram Bot (例如 @userinfobot) 获取你的或群组的 Chat ID。
- 构建和运行: 在终端中运行 'npm run build && npm start' 命令,构建并启动 Telegram MCP Server。
服务器配置 (MCP 客户端配置)
MCP 客户端需要配置以下 JSON 信息以连接到 Telegram MCP Server:
{ "serverName": "telegram-server", "command": "node", "args": [ "src/telegram-server/index.js" ] // "serverName": MCP 服务器的名称,用于标识和管理连接。 // "command": 启动服务器的命令,这里使用 Node.js 运行 JavaScript 文件。 // "args": 启动命令的参数,指向服务器入口文件 'src/telegram-server/index.js'。 }
基本使用方法
- 启动服务器: 按照安装步骤启动 Telegram MCP Server。
- 配置 MCP 客户端: 在你的 MCP 客户端应用中,配置上述服务器配置信息,建立与 Telegram MCP Server 的连接。
- 调用工具: 通过 MCP 客户端,你可以调用服务器提供的 'send_message' 和 'request_user_input' 工具,实现 LLM 应用与 Telegram 的交互。例如,调用 'send_message' 工具时,需要提供 'chatId' (目标 Telegram 聊天 ID) 和 'message' (要发送的消息内容) 作为参数。调用 'request_user_input' 工具时,需要提供 'chatId' (目标 Telegram 聊天 ID) 和 'prompt' (用户提示语)。
- 处理响应: MCP 客户端会接收到服务器返回的 JSON-RPC 响应,包含工具执行的结果。例如,'send_message' 工具成功执行后会返回 "Message sent successfully" 的文本内容, 'request_user_input' 工具会在用户在 Telegram 中回复后返回用户输入的文本内容。
信息
分类
通信与社交