TuitBot MCP 服务器
使用说明(Markdown 格式)
-
项目简介
- 该仓库中的 MCP 服务器实现提供了基于 MCP 的后端服务能力,核心职责包括向 LLM 客户端提供可访问的资源数据、注册并执行 Tools、定义与渲染 Prompts,以及通过 JSON-RPC 风格的消息进行通信。服务器端实现了多种运行档案(Profile),以满足不同的安全性与能力需求,并通过标准输入输出(stdio)作为传输通道与客户端通讯。
-
主要功能点
- 资源与数据访问:提供对资源和存储的访问能力,支持后端数据持久化与查询能力。
- 工具注册与执行:暴露可调用的工具集合,LLM 客户端可通过 RPC 调用外部功能与服务。
- Prompt 模板与渲染:定义/管理用于与 LLM 交互的提示模板,便于灵活渲染对话上下文。
- JSON-RPC 通信:服务器端接收 MCP 客户端的请求并返回标准化的 JSON-RPC 响应 envelopes。
- 会话与能力声明:服务器维护会话状态、能力声明,并根据配置暴露不同的工具集。
- 支持多种传输(示例实现为 stdio,便于在本地与 CLI 集成测试使用,未来可扩展到 SSE/WebSocket 等)。
- 版本化和清单:提供工具清单、工具规格以及按 Profile 过滤的工具集合,便于 MCP 客户端按需加载。
-
安装步骤(本地开发环境)
- 使用工作区构建:在项目根目录执行构建命令,以便编译 MCP 服务及其依赖。
- 直接使用已有二进制:在 Releases 页获取预编译二进制进行部署,或通过 cargo 构建得到 tuitbot-mcp 二进制并运行。
- 启动命令示例(以 Write 配置为例):
- 启动服务器以 Write 配置运行(需先准备好对应的配置文件或环境变量);
- 服务器将通过 stdio 作为传输通道对接 MCP 客户端,客户端需要通过一个 JSON-RPC 客户端来与之通信。
- 注:具体运行方式在 CLI 集成中体现,例如通过 tuitbot mcp serve 子命令启动。
-
服务器配置(适用于 MCP 客户端的连接配置,JSON 格式) 说明:MCP 客户端需要的配置以 JSON 表达,其中包含服务器名称、启动命令以及参数,以便在运行时自动化连接到 MCP 服务器。以下为针对本仓库实现的准确示例描述(非代码块展示):
- server_name: "tuitbot-mcp"
- command: "tuitbot"
- args: ["mcp", "serve", "--profile", "Write"] 注释说明:
- server_name 指定要连接的 MCP 服务器的逻辑名称,便于在客户端的注册表中识别。
- command 指定启动 MCP 服务器的客户端程序名称,这里为 tuitbot(集成在仓库中的 CLI 工具之一)。
- args 指定启动参数,包含子命令 mcp、serve,以及以 Write 配置运行的的 profile 标识,以确保客户端能够以目标 Profile 与服务器建立上下文一致的交互。 该配置用于 MCP 客户端在连接 MCP 服务器时进行自动化注册与对接,实际使用时客户端会加载此 JSON 并据此启动相应的服务端进程。
-
基本使用方法
- 启动与连接
- 通过命令行启动 MCP 服务器实例(对应的启动方式在项目中有实现,例如 tuitbot mcp serve),确保服务端在连接后能接收客户端发送的 MCP 请求。
- MCP 客户端使用前需把上述 JSON 配置导入,指向服务器名称/启动命令与参数,以建立对 MCP 服务器的连接。
- 调用与返回
- 客户端通过 JSON-RPC 向服务器发送请求(如读取资源、执行工具、获取 Prompt 等),服务器返回符合 MCP 协议标准的 JSON-RPC 响应或错误码。
- 运行模式与扩展
- 可以在 Write、Admin、Readonly、ApiReadonly 等 Profile 之间切换,以调整工具集、权限和能力集合。
- 未来可扩展为 SSE/WebSocket 等传输通道,当前实现基于 stdio 传输,方便嵌入式场景和本地开发。
- 启动与连接
-
额外说明
- 该 MCP 服务端实现具备完整的工具、资源、以及提示系统的后端能力,并与 TuitBot 的其它组件(如 X API、LLM、存储、调度等)进行集成,确保在不同 Profile 下提供一致的 MCP 接入点。