KubeClaw MCP 服务器实现

使用说明(Markdown 格式)

  • 项目简介

    • 该仓库实现了一个基于 MCP 的服务器端组件,提供主机侧工具与资源的暴露,供 MCP 客户端通过标准化的 JSON-RPC 调用进行查询、执行工具、以及获取/渲染提示模板。核心概念包括资源管理、工具注册与执行、以及对话上下文的会话管理。
  • 主要功能点

    • MCP 服务端实现:通过 FastMCP 模式注册工具,自动推断输入/输出 schema,并支持跨工作区的工具调用。
    • 主机端工具暴露:git_info、read_secret、github_api、host_approve 等工具,具备调用主机实际资源的能力。
    • 嵌入式执行运行时:EmbeddedRuntime 在进程内执行代理代理任务,具备会话级记忆(MemoryToolSet)等扩展。
    • 内存与日志支持:MemoryStore/MemoryToolSet 提供跨会话记忆与日记(journal)能力,便于上下文持久化。
    • 多通道适配支持:绑定表(BindingTable)与嵌入式运行结合,可通过 CLI、Discord 等通道实现对 MCP 客户端的服务。
    • 安全与审计:host_approve 提供对危险操作的批准机制(可注入回调以实现具体的审批流程)。
  • 安装步骤

    • 确认依赖的 Python 环境已就绪(推荐使用虚拟环境)。
    • 安装所需依赖(项目中包含所需库的导入路径,实际环境中需通过 poetry / pip 安装依赖)。
    • 运行前请确保具备所依赖的工具与 API 的密钥/令牌(示例中包含 Google GenAI / GitHub 等集成)。
    • 将 MCP 客户端与本 MCP 服务器进行对接(请参照服务器配置部分的示例注释,配置客户端以连接到对应的服务器)。
  • 服务器配置(MCP 客户端所需的启动信息) 以下为配置示例(JSON 格式,客户端需要的仅为参考注释,实际客户端不需要执行此脚本;服务器端实现为代码级嵌入式暴露工具): { "serverName": "claw-mcp-server", "description": "KubeClaw MCP 服务器,暴露主机端工具供 MCP 客户端调用", "command": "python3", "args": [ "-m", "adk_claw.mcp.server", "--lane-id", "test-lane", "--workspace-path", "/path/to/workspace" ] } 说明:

    • serverName 用于标识该 MCP 服务器。
    • command 与 args 提供了一个可运行的启动信息示例,便于在需要时对接外部 MCP 客户端。当前实现的服务器在仓库内部通过代码实例化 FastMCP 对象,测试用例直接通过对象调用工具方法,因此实际部署时可将该配置信息作为对接说明。
  • 基本使用方法

    • 客户端通过标准的 MCP 调用流程,向服务器发起对 git_info、read_secret、github_api、host_approve 等工具的调用请求。
    • 服务器端在接收到请求后,按工具定义执行对应的主机端逻辑并返回结果,支持流式事件(思维过程、最终输出、错误信息等)以便对接方显示。
    • 如需本地开发/调试,可在 Python 环境中直接创建 MCP 服务器对象(如 tests 所示),通过调用工具实现端到端验证,确保工具在主机上的执行逻辑符合预期。

服务器信息