TuitBot MCP Server
使用说明
- 项目简介
- TuitBot 的 MCP 服务器实现,提供带有多种运行档案(Profile)的后端服务,用以向基于 MCP 的 AI 客户端暴露资源、工具和提示模板等上下文信息。
- 核心能力包括:托管和管理 Resources(数据资源)、注册和执行 Tools(工具),以及定义/渲染 Prompt 模板,所有交互通过 JSON-RPC 进行,支持多种传输协议(如 stdio)。
- 主要功能点
- MCP 服务器核心实现:完整的请求/响应流、错误编码、工具清单、工具执行与权限检查。
- 多档案运行模式:readonly、api-readonly、write、admin、utility-readonly、utility-write,覆盖从只读到混合写操作的场景。
- 资源与状态管理:通过内置存储和 X API/LMM 提供的 Adapter,支持会话与能力声明。
- 工具和工具清单:通过 Tool Manifest/Profile Manifest 提供可用工具集合,支持不同 MCP Profile 的权限约束。
- JSON-RPC 协议契约:统一的 ToolResponse/ToolError 等结构,用于向 MCP 客户端返回结果与错误信息。
- 运输适配:当前实现以 stdio 为传输,后续可扩展到 SSE/WebSocket 等传输通道。
- 安装步骤
- 构建与安装
- 可选方式 A(推荐,直接使用二进制/CLI):在仓库根目录使用 cargo 构建并安装 tuitbot-cli,然后通过 tuitbot mcp serve 启动 MCP 服务。
- 可选方式 B(从源码运行):在仓库根目录执行 cargo build --workspace --release,进入 tuitbot-mcp crate 的构建产物后使用相应的二进制启动方式(如 tuitbot mcp serve)。Rust 生态和依赖需已配置好。
- 设置环境/配置
- 该 MCP 服务器通过 Config 体系提供运行时所需的 API、令牌、LLM 提供商、存储、调度等信息。
- 若要使用官方 X API,请先通过 tuitbot auth 完成 OAuth2 鉴权,或使用 scraper 方式在无钥匙模式下进行发现和草拟。
- 启动 MCP 服务器
- 典型启动命令(通过 TuitBot CLI,MCP 子命令):
- tuitbot mcp serve
- 启动后,服务器将监听 stdio 传输(也即通过命令行管道或父进程作为通信对端),并向 MCP 客户端提供资源、工具与 prompts 的访问能力。
- 典型启动命令(通过 TuitBot CLI,MCP 子命令):
- 构建与安装
- 服务器配置(MCP 客户端需要的配置信息,注意以下为描述性信息,不含具体代码)
- server name: tuitbot
- command: tuitbot
- args: ["mcp", "serve"] 说明:MCP 客户端需要提供一个指向 MCP 服务器的配置,通常以 JSON 形式表示,包含服务器名称、可执行命令与参数等。示例配置如下(供参考,不含代码片段):
- server name: tuitbot
- command: tuitbot
- args: ["mcp", "serve"] 客户端 JSON 配置的目的在于让 MCP 客户端知道如何启动并连接到 MCP 服务器,以便建立通信管道并执行资源、工具和提示相关的 JSON-RPC 调用。
- 基本使用方法
- 启动后,MCP 服务器会提供一组标准化的接口,LLM 客户端可通过 JSON-RPC 请求:
- 读取资源、获取工具、调用工具、渲染/获取 Prompt 等等。
- 客户端通过调用相应的 JSON-RPC 方法来驱动资源、工具和提示模板的读取、执行与渲染。
- 服务器端负责会话管理、能力声明,以及对多种传输协议的支持(如未来扩展至 SSE/WebSocket 等)。
- 具体的工具/资源/Prompts 及其 JSON-RPC 接口定义,请参考 MCP 参考文档与工具清单。
- 启动后,MCP 服务器会提供一组标准化的接口,LLM 客户端可通过 JSON-RPC 请求: