Prodboard MCP 服务器实现

  • 项目简介
    • prodboard 是一个本地化的 AI 编码助手任务看板和调度系统,内置 MCP 服务器,向 LLM 客户端暴露资源、工具以及提示模板等能力。通过 JSON-RPC 方式实现与客户端的通信,支持会话管理、并发控制、工作树隔离、tmux 包裹执行等特性,便于跨会话保持上下文与能力。
  • 主要功能点(简易理解)
    • MCP 服务端:实现对工具、资源、以及提示模板的管理与执行,客户端通过统一的 MCP 调用进行读取、执行与渲染。
    • 资源与工具:为 LLM 提供任务看板相关数据和可执行外部功能的入口。
    • 提示模板渲染:根据板面数据动态渲染提示模板,以便与 LLM 进行更高效的对话。
    • JSON-RPC 通信:服务器通过 MCP 标准的 JSON-RPC 交互,与客户端进行请求与响应。
    • 会话与并发控制:内置会话标识、状态管理,支持并发运行与结果汇总。
    • 数据存储:使用 SQLite 持久化 board 状态、运行记录、评论等数据。
    • 运行方式与传输:默认使用标准输入输出(stdio)进行通信,后续也支持其它传输方式;包含对 tmux、工作树等执行环境的支持,便于调试和并发执行。
    • 集成能力:可与 Claude Code、OpenCode 等代理配合使用,通过不同驱动实现对外部工具的调用。
  • 安装与运行步骤
    1. 安装运行时环境
      • 需要具备 Bun 封装和运行能力,以及 Node 风格的脚本执行环境(仓库使用 Bun)。
    2. 安装依赖与构建
      • 按仓库提供的快速上手文档或 README 进行 bun 安装和依赖安装。
    3. 启动 MCP 服务器
      • 使用 MCP 客户端的约定启动命令,例如通过命令 bunx prodboard mcp 或等效方式启动服务器。服务器以标准输入输出(stdio)方式对接客户端。
    4. 客户端连接
      • MCP 客户端使用服务器提供的标准接口,通过配置指定启动命令与参数来建立与 MCP 服务器的连接(本仓库提供的 server 端实现可通过上述命令在同机交互运行)。
    5. 验证
      • 客户端发送 initialize、工具查询、以及调用测试工具等请求,验证服务器是否正确响应并返回数据。
  • 服务器配置(MCP 客户端需要提供的配置信息,JSON 格式,字段示例及说明)
    • server_name: prodboard // MCP 服务器的名称,用于标识
    • command: bunx // 启动服务器的可执行命令(用于本地运行时的客户端配置)
    • args: ["prodboard", "mcp"] // 启动参数,表示使用 prodboard 子命令的 mcp 模块启动 MCP 服务
    • transport: stdio // 传输方式,当前实现默认使用标准输入输出(stdio)
    • description: 本 MCP 服务器通过 stdio 传输与 MCP 客户端进行 JSON-RPC 通信,暴露工具、资源与板块数据等能力
    • 注:客户端配置通常只需要 server_name、command、args 即可,用于启动并连接至 MCP 服务器。以上字段根据仓库实现进行对齐,实际使用时以客户端文档为准。
  • 基本使用方法
    • 作为开发者/集成方,可以将以上配置交给 MCP 客户端使用,CLI 或 GUI 客户端会通过配置的启动命令来启动并连接 MCP 服务器。
    • 客户端通过 MCP 提供的工具集合(如 list_issues、get_issue、create_issue、update_issue、board_summary 等)进行数据交互和任务执行,同时服务器负责会话与执行上下文的管理。
    • 服务器还支持多代理运行、工作树隔离等能力,便于在本地环境中并行处理多个调度任务。

服务器信息