Harness MCP Server v2
使用说明(简要):
-
项目定位
- 该仓库实现的是一个完整的 MCP 服务器,能够通过 JSON-RPC 与 LLM 客户端通信,提供资源管理、工具调用与提示渲染等核心能力,且支持多种传输协议(stdio、HTTP),以满足本地开发和远程部署两种场景。
-
主要功能点
- MCP 资源与工具注册:内置 10 种通用工具和 119+ 种资源类型,按工具集分组,提供统一调度与路由。
- MCP 请求/响应处理:实现标准 MCP 服务器端流程,处理初始化、调用工具、查询资源、执行操作等 JSON-RPC 交互。
- Prompts 与 Templates:提供丰富的提示模板(Prompts)以引导 LLM 进行工作流设计、诊断、成本优化等任务。
- 服务器传输模式
- Stdio 模式:本地和桌面端(如 Claude Desktop、Cursor、Windsurf 等)直接通过标准输入输出通信。
- HTTP 模式:对外暴露 '/mcp' JSON-RPC 接口,支持无状态会话,便于服务端/网关部署。
- 安全与治理:实现 API 请求限流、会话隔离、跨域控制与日志输出等安全相关特性(与实现细节一起在代码中体现)。
-
安装与运行
- 路线 A(快速使用,推荐):使用 npx harness-mcp-v2,默认 stdio 传输。
- 路线 B(远程/自建部署):使用 http 传输模式,在命令中指定端口,例如 http --port 8080。
- 构建与本地调试:克隆仓库后,安装依赖、构建、启动即可调试运行。
-
服务器配置(客户端连接配置) MCP 客户端需要提供一个配置来连接服务器,配置项包含服务器名称、启动命令及参数等信息,示例如用词说明如下(请以 JSON 字符串形式提供给客户端;以下非代码块文本用于描述字段含义):
- serverName: Harness MCP Server v2
- command: npx
- args: ["harness-mcp-v2"]
- HARNESS_API_KEY: 使用 Harness 的个人访问令牌或服务账户令牌(用于 HTTP 调用 Harness API 的认证)
- HARNESS_ACCOUNT_ID: Harness 账户ID,若使用 PAT 可以从密钥中自动推断;若使用非 PAT 的 API key,请显式设置
- HARNESS_BASE_URL: Harness 的基础地址,默认为 https://app.harness.io
- HARNESS_TOOLSETS: 启用的工具集,用逗号分隔,如 pipelines,services,environments 等;若为空则使用全部工具集
- HARNESS_DEFAULT_ORG_ID: 默认组织 ID,便于简化调用;若客户端可动态发现则可不设置
- HARNESS_DEFAULT_PROJECT_ID: 默认项目 ID,便于简化调用
- HARNESS_API_TIMEOUT_MS: Harness API 请求超时,单位毫秒,默认为 30000
- HARNESS_MAX_RETRIES: Harness API 调用重试次数,默认为 3
- HARNESS_RATE_LIMIT_RPS: 客户端对 Harness API 的速率限制,单位请求/秒,默认为 10
- HARNESS_MAX_BODY_SIZE_MB: HTTP 传输模式下的请求体上限(MB),默认为 10
- HARNESS_READ_ONLY: 是否以只读模式暴露资源(仅 list/get,禁止 mutate),默认为 false
- LOG_LEVEL: 日志等级(debug/info/warn/error),默认为 info
注释(便于理解,不是代码展示):
- 上述字段用于 MCP 客户端在连接服务器时的基本配置,JSON 形式的完整配置旨在帮助客户端理解如何与服务器建立会话与路由请求。客户端本身无需实现服务器端逻辑,只需按照此配置正确连接并发起请求即可。