ARCH MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • ARCH 仪表盘与 Agent Runtime 的核心组件之一,提供一个可扩展的 MCP 服务器,用于在 LLM 客户端与后端 Agent 之间中介和协作。服务器负责注册和管理工具、控制访问、渲染和提供 Prompts/模板,以及在需要时提供 GitHub 集成的能力。
  • 主要功能点

    • MCP 服务器核心协议支持:通过 SSE/HTTP 提供 MCP 服务,支持客户端查询工具、执行工具、获取上下文等。
    • 工具/catalog 管理:定义 Worker、Archie-only 和系统工具,以及可选的 GitHub 工具集合,按角色权限动态分发。
    • 访问控制与权限流:区分 Archie 与 Worker 的工具集,系统工具对所有代理可访问;集成运行时允许列表与权限请求工作流(handle_permission_request)。
    • GitHub 集成(可选):在配置中启用后,提供创建/列出 Issue、Close Issue、Update Issue、Create Milestone 等工具。
    • 多代理协调:支持 Archie 与工作代理并发工作,工具调用可通过 MCP 服务器分发到对应的代理会话。
    • 服务器与会话生命周期:MCP 服务器实例可按代理逐个创建、挂载到对应会话并路由工具调用和消息流。
    • 安全与自治:设计中包含自定义许可、运行时工具限制、以及对会话上下文(如 BRIEF、Open PR、会话历史)的支持。
    • 流式输出与事件:通过 Stream/SSE 逐步输出事件,便于前端 UI(如 Textual Dashboard)或客户端实时解析。
    • 配置驱动:结合 StateStore/Worktree/SessionManager 等组件,提供完整的端到端工作流支持。
  • 安装与运行要点

    • 该仓库的 MCP 服务器作为 ARCH 生态的一部分存在,通常与 Arch orchestrator 一同启动。测试用例使用 MCPServer 在内存状态或临时状态目录下启动,示范了以 uvicorn 作为后台服务的运行方式。
    • 运行前应确保依赖项满足,如 Python 环境、mcp 1.26+(包含 sseclient/ClientSession)、Git、Docker 与 gh CLI(如启用 GitHub 功能时)。
  • 服务器配置示例(JSON 配置,供 MCP 客户端使用)

    • 服务器端配置用于 MCP 客户端与服务端间的对接,通常包含服务器名称、启动命令及参数等。以下信息仅为描述性文本,实际客户端无需修改服务器端代码:
    • server name: arch
    • command: 启动服务器的命令(示例性描述,实际在代码中通过运行环境启动)
    • args: 启动参数(如端口、配置路径、是否启用沙箱、并发配置等)
    • 说明:MCP 客户端需要的配置通常由 generate_mcp_config 等工具输出,用于指向服务器的 URL 和连接方式(如 SSE 的 URL、端点路径等)。
  • 基本使用方法

    • 启动与连接:启动 ARCH 的 MCP 服务端,与客户端建立 SSE 连接,获取工具列表并执行工具调用。
    • 工具执行:通过 MCP 的工具调度,在 Archie/Worker 之间分发工作、发送消息、更新状态、保存进度等。
    • 运行时权限:当需要临时权限时,系统会通过权限请求对话进行处理,支持“仅这次”、“始终允许”或拒绝等选项。
    • GitHub 集成使用:在配置启用 GitHub 时,Archie 可以访问与操作 GitHub 相关的工具,如创建 Issue、拉取 Milestone 等。
  • 进一步使用的关键信息

    • MCPServer 提供的工具集合按角色分组,Archie 拥有更广泛的工具集,Worker 仅暴露通用工作工具。
    • 服务器设计包含对 GitHub、容器化代理、以及 BRIEF.md 的协作性操作,为复杂的 AI 协作工作流提供上下文服务。
    • 流式输出与事件驱动为前端 UI(如仪表盘)或客户端实现提供实时反馈能力。

服务器信息