Distributed Claude Code MCP 后端服务器

使用说明(Markdown 格式)

  • 项目简介

    • 该仓库实现一个 MCP 服务端的完整生态,核心在于为 LLM 客户端提供可注册的“资源”(Resources)、可注册并执行的“工具”(Tools)、以及可渲染的“提示模板”(Prompts)。服务端通过 Claude Agent SDK 的 MCP 服务能力,将这些能力暴露给客户端,通过任务派发、工具调用、以及对话上下文管理,支撑多前端接入与分布式执行。
  • 主要功能点

    • MCP 服务端工具集合:实现为每个 Project/任务提供可注册并执行的工具集,如 assign_worker、task_complete、pull_user_messages、ask_user、update_task_list、append_log、update_worker_config 等,用以驱动工作流和任务完成。
    • 会话与状态管理:维护每个项目的会话、提示哈希、插件配置等,以便在多轮任务中实现状态持久化、热加载与角色内存继承。
    • 资源与提示渲染:支持在工作目录下的 CLAUDE.md、工作区内的角色内存文件等内容对提示进行扩展,确保上下文可追溯并可重复加载。
    • 与远端守护进程的整合:提供 MCP 服务实例与工具集合,结合远端守护进程(daemon)的注册、任务调度、状态查询、事件流等能力,形成完整的 MCP 工作流。
    • 多前端接入:Web UI、Telegram 前端等客户端通过路由器路由调用 MCP 服务,前端可以订阅进度、查看日志、查看任务队列、以及管理映射关系。
    • 安全与健壮性:提供会话恢复、插件配置热加载、错误处理与日志记录等,确保在分布式场景下的鲁棒性。
  • 安装与运行步骤

    • 依赖准备
      • Python 3.10+,以及相关的依赖(如 claude_agent_sdk、aiohttp、uv 等)。
    • 启动远程 MCP 服务器端守护
      • 使用示例命令在远端启动守护进程,监听指定端口并暴露 MCP 服务接口,例如: python3 -m tools.orchestrator_daemon --port 8200 --name server-a --callback-url http://127.0.0.1:9120
      • 该守护进程将作为 MCP 服务端的资源/任务执行体,与路由器(Router)和前端进行交互。
    • 配置 MCP 客户端(参考配置示例,客户端无需运行代码,仅了解结构)
      • MCP 客户端通过一个 JSON 配置来注册一个“服务器实例”,包含服务器名称、目标主机、执行端口、以及启动该 MCP 服务器的命令与参数(command 与 args)。
      • 配置示例要点(以文本描述形式呈现,避免直接给出代码块):
        • server name:daemon 或 server-a
        • host:远端服务器地址,例如 user@host
        • command:启动 MCP 服务器的执行命令,例如 python3
        • args:启动参数,例如
          • -m tools.orchestrator_daemon
          • --port 8200
          • --name server-a
          • --callback-url http://127.0.0.1:9120
        • 备注:该配置仅用于 MCP 客户端侧的说明,真正的连接细节应按实际部署环境配置并确保安全凭证管理。
    • 运行与对接前端
      • 在 Router 启动后,Frontends(如 Web、Telegram)将通过路由器与 MCP 服务进行通信,路由器将 MEC 服务与远程守护进程的端点整合在一起,提供任务派发、进度流、日志以及频道映射等能力。
    • 基本使用
      • 在 MCP 客户端配置完毕并启动后,LLM 客户端可通过 MCP 的标准接口读取资源、调用工具、渲染与获取 Prompt 模板等,路由器将负责会话管理、权限控制与任务编排。
      • 系统会对任务、日志、进度等事件进行持久化与分发,前端可以订阅并展示给终端用户。
    • 注意事项
      • 安全性:务必通过 SSH/加密通道等安全手段进行远端服务器访问,妥善管理凭证。 会话与分布式协作:确保多服务器、多渠道场景下的一致性与幂等性。

服务器信息