使用说明
- 项目简介
- 该仓库实现了一个基于 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 客户端建立通信。
- Tool 相关
- 安装步骤
- 克隆仓库并进入 mcp-server 相关目录,安装依赖:
- 安装依赖(通常在 mcp-server 目录执行 npm install)
- 运行 MCP 服务器(本地测试在 STDIO 模式下)
- 运行命令:node telegram-bot.js
- 该命令会创建一个 MCP Server 实例,使用 STDIO 传输接收客户端的请求,并对外暴露 ListTools、CallTool 等接口。
- 克隆仓库并进入 mcp-server 相关目录,安装依赖:
- 服务器配置(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 调用具体工具,服务器返回统一结构的响应数据。
- 常见操作顺序:
- 通过 ListTools 请求获取 TOOL_SCHEMAS,了解每个工具的输入输出结构。
- 通过 CallTool 发起调用,例如发送消息、请求审批、批量通知等,服务器返回执行结果或等待中的状态。
- 根据需要,组合批量通知、监听状态、AFK 模式等能力实现对话与工作流自动化。
- 注意事项:本 MCP 服务器需要在与 Claude Code/LMM 客户端对接时保持可用的 STDIO 通道,确保依赖的工具实现(如 Telegram 客户端、审批管理、消息队列等)在服务端正常工作。
信息
分类
AI与计算