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/加密通道等安全手段进行远端服务器访问,妥善管理凭证。 会话与分布式协作:确保多服务器、多渠道场景下的一致性与幂等性。
- 依赖准备