使用说明

  • 项目简介
    • 该仓库实现了一个基于 Model Context Protocol (MCP) 的后端服务器,专为 Claude Code 的 Telegram 插件提供上下文服务。服务器通过 JSON-RPC 与客户端通信,核心职责包括:管理和暴露资源/工具、执行工具调用、渲染和提供提示模板(Prompts)的能力,以及会话管理与日志等辅助功能。实现采用标准的 STDIO 传输,便于在本地进程间通信。
  • 主要功能点
    • Tool 相关
      • 提供可被 LLM 调用的工具(如 send_message、send_approval_request、poll_response、batch_notifications、start_listener、stop_listener 等),通过 MCP 的调用入口 handleToolCall 进行处理。
      • 支持工具参数校验、错误处理与结果包装,返回统一的 JSON-RPC 响应形式。
    • 资源与数据访问
      • 提供对消息、审批、队列等内部资源的访问与操作,支持批量通知、命令队列等能力。
    • Prompts 与渲染
      • 通过 Markdown 转 HTML 的格式化能力,确保 LLM 与前端组件显示的一致性与美观性。
    • 会话与能力声明
      • 服务器通过 Schema/Handlers 暴露能力,包含工具列表、工具调用入口,以及健康检查等运维能力。
    • 传输与部署
      • 通过 StdioServerTransport 实现 STDIO 传输,服务器可直接通过 node telegram-bot.js 启动并与 MCP 客户端建立通信。
  • 安装步骤
    • 克隆仓库并进入 mcp-server 相关目录,安装依赖:
      • 安装依赖(通常在 mcp-server 目录执行 npm install)
    • 运行 MCP 服务器(本地测试在 STDIO 模式下)
      • 运行命令:node telegram-bot.js
      • 该命令会创建一个 MCP Server 实例,使用 STDIO 传输接收客户端的请求,并对外暴露 ListTools、CallTool 等接口。
  • 服务器配置(MCP 客户端使用的配置示例) { "server_name": "telegram-bot", "command": "node", "args": ["telegram-bot.js"], "transport": "stdio", "version": "0.4.0", "description": "Telegram 插件的 MCP 服务器,提供工具调用与消息渲染能力" } 说明:
    • server_name: MCP 服务器的名称,与实现中的 Server 名称对应(telegram-bot)
    • command: 启动服务器的命令,这里使用 node
    • args: 启动命令的参数,包含入口脚本 telegram-bot.js
    • transport: 使用的传输协议,这里为 stdio(通过标准输入输出与客户端通信)
    • version: MCP 服务器版本信息,便于客户端进行版本对比
    • description: 服务器用途简述
  • 基本使用方法
    • 客户端连接:MCP 客户端通过 JSON-RPC 向服务器请求 ListTools 获取可用工具清单,再通过 CallTool 调用具体工具,服务器返回统一结构的响应数据。
    • 常见操作顺序:
      1. 通过 ListTools 请求获取 TOOL_SCHEMAS,了解每个工具的输入输出结构。
      2. 通过 CallTool 发起调用,例如发送消息、请求审批、批量通知等,服务器返回执行结果或等待中的状态。
      3. 根据需要,组合批量通知、监听状态、AFK 模式等能力实现对话与工作流自动化。
    • 注意事项:本 MCP 服务器需要在与 Claude Code/LMM 客户端对接时保持可用的 STDIO 通道,确保依赖的工具实现(如 Telegram 客户端、审批管理、消息队列等)在服务端正常工作。

信息

分类

AI与计算