Ohno-MCP-服务器

使用说明(Markdown 格式)

  • 项目简介

    • Ohno-MCP-服务器是一套基于 MCP 的后端服务,围绕 Ohno 的任务管理数据模型,暴露一组 MCP 工具用于查询、修改任务、故事、史诗等对象,并提供一个可运行的 MCP 服务端实现。通过标准的 MCP JSON-RPC 接口,LLM 客户端可以读取资源、注册并调用工具、获取和渲染 Prompt 模板等能力,进而实现上下文驱动的对话与任务协作。
  • 主要功能点

    • MCP 服务端实现:实现 ListTools 和 CallTool 两类请求,支持通过 stdio 传输进行通信。
    • 36 个工具定义:包括获取项目状态、获取任务、创建任务/故事/史诗、更新任务状态、依赖关系、Handoff、WIP、任务失败记录等多类功能。
    • 数据存储与持久化:使用纯 JavaScript 的 SQLite(sql.js)实现本地化数据存储,支持在内存和磁盘之间切换、基于 .ohno 目录结构的数据库文件。
    • 数据一致性与校验:通过 Zod 模式校验工具参数,确保 MCP 请求的输入格式符合定义。
    • 安全与可扩展性:默认基于 STDIO 传输,避免对外暴露网络接口,具备可扩展的工具集与可插拔的传输实现。
  • 安装与运行步骤

    • 运行环境:Node.js 环境
    • 快速启动(本地测试用):
      • 使用 npx 启动 MCP 服务器:npx @stevestomp/ohno-mcp
      • 也可以通过 OHNO_DB_PATH 指定数据库路径,例如 OHNO_DB_PATH=/path/to/.ohno/tasks.db
    • 初始化与数据目录
      • 运行 ohno-mcp 之前,请确保有一个 .ohno 目录和 tasks.db 数据库(可通过仓库内提供的工具初始化)。
    • MCP 客户端配置注意点
      • MCP 客户端需要提供服务器配置以建立连接,包含服务器名称、启动命令及参数等信息(见下方的服务器配置格式范例)。
    • 运行日志与定位问题
      • 服务器启动完成后会输出提示信息,指向本地执行的端口/地址(若使用网络传输则会另外输出信息,在本实现中以 STDIO 为主)。
  • 服务器配置(MCP 客户端所需配置,JSON 格式,便于导入到客户端设置中)

    • server_name: ohno
    • command: npx
    • args: ["@stevestomp/ohno-mcp"]
    • 注释说明:
      • server_name 用于标识 MCP 客户端的目标服务器名称,填写与实际服务器实现一致的标识。
      • command 与 args 指向启动服务器的命令及参数,客户端将通过 MCP 协议连接到该服务器以执行工具调用与上下文查询。此处配置对应仓库中 ohno-mcp 的启动方式。
  • 基本使用方法

    • 启动后,LLM 客户端通过 MCP 协议向服务器发送请求(如获取任务、更新任务、调用特定工具等),服务器返回 JSON-RPC 风格的响应。
    • 客户端可以通过调用工具实现对 Ohno 数据的上下文化获取与操作,从而在对话中持续维护任务上下文、handoff 信息、WIP 状态等。
    • 服务器端提供的 36 种工具覆盖了任务/史诗/故事的创建、查询、更新、依赖、活动记录、WIP、Handoff、统计等能力,便于在对话中实现端到端的任务协作流程。
  • 重要说明

    • MCP 服务端实现使用 STDIO 传输进行通信,适合嵌入式流程或在管道中与 LLM 客户端(如 Claude Code、LangChain 等)协作。若需要通过网络暴露,请在未来扩展传输层(如 WebSocket、SSE 等)。
    • 所有工具都带有严格的输入校验,确保传入参数符合定义,提升鲁棒性。
    • 本实现强调本地化存储与自包含能力,尽量减少对云服务的依赖,便于离线开发和本地化部署。

服务器信息