Telegram Communicator MCP服务器使用说明

项目简介

Telegram Communicator MCP服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,它充当 LLM 客户端和 Telegram 之间的桥梁。通过此服务器,LLM 可以利用预定义的工具,经由 Telegram Bot 与用户进行通信,实现诸如提问、发送通知、文件传输和项目打包等功能。

主要功能点

  • 用户交互工具: 提供 'ask_user' 工具,允许 LLM 向 Telegram 用户提问并获取回复。
  • 通知功能: 提供 'notify_user' 工具,允许 LLM 向 Telegram 用户发送单向通知消息。
  • 文件传输: 提供 'send_file' 工具,允许 LLM 通过 Telegram 向用户发送文件。
  • 项目打包与发送: 提供 'zip_project' 工具,允许 LLM 将项目目录(支持 '.gitignore' 规则)打包成 zip 文件并通过 Telegram 发送给用户。
  • 异步响应: 对于提问等需要用户响应的工具,服务器支持异步等待用户回复。
  • 安全验证: 服务器只处理来自预配置的 Telegram Chat ID 的消息,保障通信安全。
  • 易于集成: 符合 MCP 协议标准,可以方便地与支持 MCP 协议的 LLM 客户端集成。

安装步骤

  1. 安装 Node.js: 确保你的系统已安装 Node.js (v14 或更高版本)。
  2. 全局安装: 打开终端,运行命令 'npm install -g mcp-communicator-telegram' 全局安装 Telegram Communicator MCP服务器。
  3. 获取 Telegram Bot Token:
    • 在 Telegram 中搜索 @BotFather,按照指示创建一个新的 Bot。
    • 复制 BotFather 提供的 API Token。
  4. 获取 Telegram Chat ID:
    • 运行命令 'npx mcptelegram-chatid'。
    • 按照提示,向你的 Bot 发送一条消息。
    • 在终端中复制显示的 Chat ID。
  5. 配置环境变量: 你的 MCP 客户端需要配置 'TELEGRAM_TOKEN' 和 'CHAT_ID' 两个环境变量,分别设置为你获取的 Bot Token 和 Chat ID。具体配置方式请参考 MCP 客户端的文档。

服务器配置

要将 Telegram Communicator MCP服务器添加到你的 MCP 客户端配置中,你需要提供服务器名称、启动命令和参数。以下是一个典型的 JSON 配置示例,适用于 'cline_mcp_settings.json' 文件:

{
  "mcpServers": {
    "telegram-communicator": {  // 服务器名称,可以自定义
      "command": "npx",  // 启动命令,这里使用 npx 运行
      "args": ["mcptelegram"],  // 命令参数,运行 mcptelegram 命令
      "env": {  // 环境变量
        "TELEGRAM_TOKEN": "YOUR_TELEGRAM_BOT_TOKEN",  // 替换为你的 Telegram Bot Token
        "CHAT_ID": "YOUR_TELEGRAM_CHAT_ID"  // 替换为你的 Telegram Chat ID
      }
    }
  }
}

注意:

  • '"server name"' 可以自定义,用于在 MCP 客户端中唯一标识此服务器。
  • '"command"' 和 '"args"' 指定了启动 Telegram Communicator MCP服务器的命令。全局安装时可以使用 'npx mcptelegram' 简化命令。
  • '"env"' 部分配置了服务器运行所需的环境变量,请务必替换 'YOUR_TELEGRAM_BOT_TOKEN' 和 'YOUR_TELEGRAM_CHAT_ID' 为你实际的值

基本使用方法

配置完成后,在你的 MCP 客户端中,你可以通过服务器名称 '"telegram-communicator"' 和工具名称来调用 Telegram Communicator MCP服务器提供的工具。例如,要使用 'ask_user' 工具向 Telegram 用户提问,你可以在 MCP 客户端中使用类似以下的调用:

const response = await use_mcp_tool({
  server_name: "telegram-communicator", //  配置的服务器名称
  tool_name: "ask_user",
  arguments: {
    question: "你想了解什么信息?" //  要向用户提出的问题
  }
});
console.log("用户回复:", response.content[0].text);

更多工具的使用方法和参数说明,请参考仓库的 README 文档或工具的 Input Schema 定义。

信息

分类

通信与社交