Harness MCP Server 2.0

  • 适用对象
    • 需要将 Harness 平台能力对接给大语言模型(LLM)的开发者/团队,构建统一的上下文服务层,以便 LLM 调用资源、执行工具、获取提示模板等能力。
  • 核心功能要点
    • 资源管理(Resources):通过 MCP 工具对 Harness 平台的资源进行列、获取、创建、更新、删除等操作。
    • 工具注册与执行(Tools):提供 10 种通用工具集,集中路由不同资源类型的操控请求,避免端点数量爆炸。
    • 提示模板(Prompts):内置 26+ 提示模板,支持 DevOps、FinOps、DevSecOps、GitOps 等工作流场景。
    • MCP 兼容与传输:实现对 MCP 协议的 JSON-RPC 请求/响应处理,支持 stdio、HTTP(无状态会话)等传输模式,并兼容各种网关。
    • 会话与权限:集成会话管理、能力声明、节流与重试策略,并对写操作启用 elicitation(人机交互确认)以增强安全性。
  • 安装与运行方式(Quick Start)
    • 快速运行(无需安装,推荐)
      • npx harness-mcp-v2
      • 以 Harness API Key 启动:HARNESS_API_KEY=pat.xxx.xxx.xxx npx harness-mcp-v2
      • 以 HTTP 传输模式暴露远端端点:HARNESS_API_KEY=pat.xxx.xxx.xxx npx harness-mcp-v2 http --port 8080
    • 全局安装
      • npm install -g harness-mcp-v2
      • harness-mcp-v2
    • 从源码构建
      • git clone https://github.com/thisrohangupta/harness-mcp-v2.git
      • cd harness-mcp-v2
      • pnpm install
      • pnpm build
      • pnpm start # Stdio transport
      • pnpm start:http # HTTP transport
      • pnpm inspect # MCP Inspector 调试
  • 重要运行时配置
    • 环境变量
      • HARNESS_API_KEY:Harness 的个人访问令牌或服务账户令牌,必须提供(用于访问 Harness REST API)。
      • HARNESS_ACCOUNT_ID:账户ID,若 API Key 不是 PAT 形式需显式设置。
      • HARNESS_BASE_URL: Harness 服务的基地址,默认 https://app.harness.io。
      • HARNESS_DEFAULT_ORG_ID、HARNESS_DEFAULT_PROJECT_ID:默认的组织/项目作用域,可选,LLM 可通过 harness_list/harness_get 等动态发现。
      • HARNESS_TOOLSETS、HARNESS_READ_ONLY、HARNESS_MAX_BODY_SIZE_MB 等:工具集筛选、只读模式、HTTP 请求体大小等。
    • 客户端配置(示例说明,客户端无需执行以下代码)
      • MCP 客户端通常需要一个配置对象,包含 server 名称、启动命令及参数等信息,以便将 MCP 服务器接入到客户端。以下为可选的配置说明(非代码片段,仅用于理解):
        • server_name: harness-mcp-v2
        • command: npx
        • args: ["harness-mcp-v2"]
        • 注释:
          • server_name 描述要连接的 MCP 服务器名称,便于在多服务器场景中区分。
          • command 与 args 指定启动该 MCP 服务器的命令和参数,客户端据此启动并建立连接。
          • 还可在环境变量中配置 HARNESS_API_KEY 等认证信息,以及 HARNESS_BASE_URL、ORG/PROJECT 的默认作用域等。
  • 基本使用方式
    • 启动后,客户端通过 MCP 传输(stdio/http)与服务器交互,发送 JSON-RPC 请求,接收 JSON-RPC 响应或通知。
    • 通过 Harness 提供的 10 种通用工具,以 resource_type/operation 进行资源操作;通过 prompt/diagnose 等工具模板,进行工作流场景的交互式诊断与规划。
    • 如需安全性增强,可开启 HTTP 网关(MCP Gateway/Portkey 等)对多服务器进行统一鉴权与审计。
  • 部署与扩展
    • 服务器侧实现了完整的工具注册、资源注册、提示模板注册,支持按 toolsets 过滤加载,以及对资源类型进行描述、搜索和摘要输出。
    • 可以通过修改 registry/toolsets 及 prompts 目录下的 YAML/TS 数据来扩展新的资源类型、工具集和提示模板,无需改动核心服务器逻辑。
    • HTTP 模式为无状态,利于无服务器化部署;Stdio 适合本地调试和 Claude Desktop 等本地客户端。
  • 使用注意事项
    • 写操作(create/update/delete/execute)会通过 MCP elicitation 进行确认,需客户端支持相应能力。
    • HTTP 模式有请求大小和速率限制,请按配置调整 HARNESS_MAX_BODY_SIZE_MB、HARNESS_RATE_LIMIT_RPS 等。
    • 资源与工具的命名尽量遵循 registry 与 toolsets 的约定,以确保 LLM 的提示与调用的一致性。

服务器信息