Plandb MCP 服务端
以下为使用指南(以便快速接入 MCP 客户端):
- 项目简介
- plandb 是一个本地 SQLite 任务图管理工具。其 MCP 组件实现了 Model Context Protocol,允许 LLM 客户端通过 JSON-RPC 方式读取资源、注册并执行 Tools、以及获取和渲染 Prompt 模板等上下文服务。
- MCP 服务端采用 STDIO 形式的 JSON-RPC 请求/响应循环,读取标准输入的 JSON-RPC 请求并输出相应的响应到标准输出。
- 主要功能点
- MCP 核心:接收初始化、工具列表、工具调用等请求并返回标准化 JSON-RPC 响应。
- 资源与工具:托管可访问的数据资源与可执行的外部工具,LLM 可以调用外部功能。
- 上下文与 prompts:定义并渲染 Prompt 模板,提供可定制的交互模式。
- 会话与能力声明:服务器端维护会话状态,并对客户端能力进行声明。
- 多传输入口:尽管 MCP 部分以 STDIO 为主,仓库也提供 CLI、HTTP 接口等入口,方便本地开发和集成。
- 安装步骤
- 通过 Rust 工具链构建:
- 在仓库根目录执行:cargo build --release
- 构建完成后得到的二进制可直接执行,进入 MCP 模式。
- 通过 Rust 工具链构建:
- 服务器配置(MCP 客户端所需的配置信息)
下面的 JSON 配置用于 MCP 客户端将服务器注册为名为 "plandb" 的 MCP 服务端。注释为说明用途,不作为代码执行的一部分:
{
"mcpServers": {
"plandb": {
"name": "plandb",
"command": "plandb",
"args": ["mcp"]
}
// 如需要扩展,后续可添加更多 MCP 服务端实例
}
}
注解说明:
- name: 服务端在用户侧的标识名称,需与服务端实现对齐。
- command: 启动 MCP 服务端的可执行名称,与生成的二进制保持一致(本仓库的 Rust 二进制名为 plandb)。
- args: 启动参数,MCP 的入口选项为 "mcp",表示以 MCP 服务器模式启动。
- 基本使用方法
- 启动 MCP 服务端(确保命令能在环境 PATH 中找到):
- 运行 plandb mcp(或按客户端集成方式通过配置启动)。
- 客户端初始交互流程(简述):
- 客户端向服务器发送初始化请求,获取能力信息。
- 客户端通过 tools/list 获取工具集合,通过 tools/call 调用具体工具。
- 客户端请求资源、Prompts,并按需渲染、执行上下文任务。
- 若使用 HTTP/CLI/其他接入点,参阅仓库 README 的 MCP 设置与提示。
- 启动 MCP 服务端(确保命令能在环境 PATH 中找到):
- 设计与集成要点
- MCP 服务器通过 JSON-RPC 与客户端通信,按规范处理 initialize、tools/list、tools/call 等方法。 通过整合的数据库组件,服务器能够在背后管理会话、能力声明和任务图状态,提供统一的上下文服务入口。