Telegram Bot MCP Server

使用说明

项目简介

Telegram Bot MCP Server 是一个基于 Model Context Protocol (MCP) 构建的应用后端,专注于 Telegram 机器人集成。它作为一个 MCP 服务器,对外提供一系列工具 (Tools),允许 LLM 客户端通过标准化的 MCP 协议调用 Telegram Bot API 的功能。这使得开发者可以轻松地将 Telegram 机器人的能力集成到各种 LLM 应用中,例如智能助手、自动化工作流等。

主要功能点

  • 丰富的 Telegram Bot API 工具集: 提供了包括消息发送、照片发送、用户踢出/解封、获取聊天信息、获取聊天成员信息、设置/获取机器人信息(名称、描述、命令列表)等一系列常用的 Telegram Bot API 功能。
  • 基于 MCP 协议: 遵循 MCP 协议标准,易于与任何兼容 MCP 协议的 LLM 客户端集成。
  • 标准化接口: 通过 JSON-RPC 协议进行通信,工具的输入和输出都有明确的 Schema 定义,方便 LLM 理解和调用。
  • 易于部署和配置: 使用 Node.js 开发,提供详细的安装和配置步骤,只需简单的配置即可运行。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/siavashdelkhosh81/telegram-bot-mcp-server.git
    cd telegram-bot-mcp-server
  2. 获取 Telegram Bot Token:

    • 在 Telegram 中搜索 @BotFather 并启动对话。
    • 运行命令 '/newbot' 并按照提示创建新的机器人。
    • BotFather 会提供一个 API token,请妥善保存。
  3. 安装依赖并构建:

    yarn
    yarn build
  4. 配置 MCP 客户端: 在您的 MCP 客户端配置中添加以下 server 配置,以便连接到 Telegram Bot MCP Server。

    {
      "mcpServers": {
        "telegram_bot": {  // 服务器名称,在客户端中用于标识和调用
          "command": "node", // 启动服务器的命令
          "args": ["/ABSOLUTE/PATH/TO/PARENT/FOLDER/.build/index.js"], // 服务器启动参数,指向编译后的入口文件
          "env": {
            "TELEGRAM_BOT_API_TOKEN": "your bot token" // 环境变量,用于配置 Telegram Bot API Token,请替换为您的实际 Token
          }
        }
      }
    }

    注意: 请将 '/ABSOLUTE/PATH/TO/PARENT/FOLDER/.build/index.js' 替换为您的项目编译后 'index.js' 文件的绝对路径。

基本使用方法

  1. 启动 MCP 服务器: 按照上述安装步骤配置 MCP 客户端后,启动您的 MCP 客户端,它会自动启动并连接到 Telegram Bot MCP Server。
  2. 调用工具: 在您的 LLM 应用中,通过 MCP 客户端向 'telegram_bot' 服务器发送 JSON-RPC 请求,调用所需的工具 (Tools)。例如,要发送消息,可以调用 'send-message' 工具,并提供 'chatId' 和 'text' 参数。
  3. 查看响应: MCP 服务器会将工具执行结果以 JSON-RPC 响应的形式返回给客户端。

示例工具调用 (send-message):

假设您要调用 'send-message' 工具发送消息,您需要构造一个符合 MCP 协议的 JSON-RPC 请求,并通过 MCP 客户端发送给 'telegram_bot' 服务器。 请求的 'params' 应该包含 'chatId' 和 'text' 字段。

请参考 Model Context Protocol (MCP) 官方文档和您的 MCP 客户端文档,了解如何构建和发送 MCP 请求,以及如何处理服务器返回的响应。

服务器信息