Claude Code Harness MCP 服务器
使用说明
-
项目简介
- 这是一个基于 MCP(Model Context Protocol)的服务器端实现,旨在向 LLM 客户端提供标准化的上下文服务。核心功能包括注册和执行 Tools(工具)、会话管理、Plans 的解析与传播,以及跨客户端的简易会话广播等能力。服务器通过 JSON-RPC 协议与客户端通信,支持多种传输方式(包括 STDIO)以便嵌入到不同场景中。
-
主要功能点
- MCP 核心协议支持
- 提供 ListTools 接口、CallTool 接口,支持客户端查询和执行注册的工具。
- 路由规则:对不同前缀工具进行分发处理(如 harness_session_、harness_workflow_、harness_status、harness_ast_ 等)。
- 工具集成与执行
- 已实现的工具集合包含:会话工具(session)、工作流工具(workflow)、状态工具(status)、代码智能工具(code-intelligence)等,客户端可通过 MCP 调用并获得文本内容响应。
- 会话管理
- 会话创建/销毁、会话列表、广播与 inbox 等能力,支持跨客户端的会话通知与消息传递。
- 多项目和 Plans 监控
- 支持多项目的 Plans 解析、Plans 变更广播;内置 Plans Parser,能够监控 Plans.md 的更新并向客户端广播计划变更。
- 传输与扩展
- 通过 MCP Server 框架暴露工具能力,且具备 STDIO、WebSocket 等传输的扩展潜力(实现中已有 StdIO 适配器)。
- MCP 核心协议支持
-
安装和运行
- 安装依赖
- 在 mcp-server 目录下安装依赖(npm install)。
- 启动服务器
- 直接运行 dist 版本(Node.js 支持的执行方式):node mcp-server/dist/index.js
- 或按项目文档的方式通过 npx 启动(npx harness-mcp-server,若提供打包发布包则以此命令启动)。
- 服务器对外暴露
- MCP 客户端通过 JSON-RPC 调用 ListTools/CallTool,服务器返回工具集合或执行结果。
- 安装依赖
-
服务器配置(MCP 客户端需要的最小配置信息) 说明:以下配置用于 MCP 客户端接入服务器(server_name、command、args 等字段为客户端所需信息,用于启动与连接服务器)。
{ "server_name": "harness-mcp-server", "command": "node", "args": [ "mcp-server/dist/index.js" ], "transport": "stdio", "notes": "运行环境应在仓库根路径下,dist/index.js 为 MCP 服务入口。按实际部署路径调整 args 字段。" }
配置注释要点
- server_name:服务器唯一标识,便于管理和日志追踪。
- command / args:启动 MCP 服务器的命令及参数。若使用已打包的发行版本,请确保路径指向 dist/index.js。
- transport:客户端与服务器通信的传输方式,此处以 STDIO 为示范;实际也可扩展为 WebSocket、SSE 等。
- notes:简要说明与部署路径的关系,便于快速对接 MCP 客户端。
-
基本使用方法(操作步骤)
- 启动服务器
- 在合适的环境执行上述 node mcp-server/dist/index.js,确保依赖安装完成。
- 客户端接入
- MCP 客户端通过 JSON-RPC 请求向服务器发送 ListTools 请求,获取可用工具清单。
- 客户端使用 CallTool 请求调用具体的工具(如 harness_session_list、harness_workflow_plan 等)。
- 交互示例(简述)
- 客户端发送 ListTools 请求,服务器返回工具数组。
- 客户端发送 CallTool 请求,带有 name 与 parameters,服务器执行并返回 content/响应。
- 客户端可以通过 session/broadcast/inbox 等工具实现跨客户端通信与会话协作。
- 安全与扩展
- 服务器具备基本的参数校验与路由机制,实际部署应结合环境安全策略(鉴权、审计、日志等)。
- 如需扩展资源、Prompts、或更多传输协议,可以在 MCP 服务器基础上增加相应的资源托管与模板渲染模块。
- 启动服务器