Klaus: Claude Code MCP 服务器

使用说明

  • 项目简介 Klaus 是一个基于 MCP 的后端服务,运行 Claude Code 编码代理,并通过 HTTP 提供 MCP 端点(/mcp)供 LLM 客户端与之交互。服务器具备任务执行、状态查询、结果获取等能力,并可选启用 OAuth 2.1 认证来保护 MCP 端点。

  • 主要功能点

    • MCP 端点:提供可流式传输的 /mcp 接口,遵循 MCP(Model Context Protocol)标准,与客户端按 JSON-RPC 进行请求与响应。
    • 基本工具集:实现 prompt(发送任务)、status(查询状态)、stop(终止任务)、result(获取完整结果)等工具,供 LLM 通过 MCP 调用 Claude Code。
    • Claude 集成:通过 Claude CLI 子进程运行并与其交互,支持单次任务和持久化会话模式。
    • 安全与配置:可通过 YAML 配置和环境变量覆盖进行细粒度配置,支持 OAuth 2.1 的可选启用与多种提供商(Dex、Google)。
    • 运行与健康:提供健康/就绪/状态等接口,支持 Prometheus 指标来观测性能与成本。
    • 拓展能力:内置扩展点,支持插件、子代理、技能等扩展,以满足复杂场景的上下文服务需求。
  • 安装步骤

    • 构建可执行文件
      • go build ./...
    • 运行服务
      • klaus serve
    • 访问 MCP 端点
      • MCP 端点默认位于 http://<主机>:8080/mcp
    • 运行在 Kubernetes/云环境时,请通过 Helm 或运维工具将 Klaus 部署为服务,并配置相应的证书与环境变量。
  • 服务器配置(MCP 客户端需要,示例仅用于客户端如何连接到服务器的参数描述,实际 MCP 客户端无需,该段仅用于帮助理解配置关系) 以下是一个描述性 JSON 配置示例,用于说明服务器端名称、启动命令和参数,供 MCP 客户端在连接时参考: { "server_name": "klaus", "command": "./klaus", "args": [ "serve", "--config", "/etc/klaus/config.yaml" ], "mcp_endpoint": "/mcp", "description": "启动 Klaus MCP 服务器,暴露 /mcp 流式接口,默认端口 8080。", "notes": "实际环境中请将可执行文件放置在正确路径并提供所需的 YAML 配置。若使用 OAuth,请在配置中开启并提供相应凭证。" }

  • 基本使用方法

    1. 准备配置
      • 提前准备 klaus/config.yaml,或通过环境变量覆盖需要的设置(例如模型、工作目录、OAuth 设置、端口等)。
    2. 启动服务器
      • klaus serve
    3. 与 MCP 客户端对接
      • 客户端通过 MCP 规范的 JSON-RPC 调用向 /mcp 端点发起请求,进行资源读取、工具调用、Prompt 渲染等操作。
    4. 监控与运维
      • 使用 /healthz、/readyz、/status、/metrics 等端点进行健康检查与指标收集。若启用 OAuth,请按照配置的提供方进行鉴权。

服务器信息