Sub-Agents MCP Server

使用说明(Markdown 格式)

  • 项目简介

    • 该项目实现了一个基于 MCP(Model Context Protocol)的后端服务器,用来向 MCP 客户端暴露工具、资源和提示模板,并能执行子代理、管理资源、处理会话上下文,提供统一的上下文服务。
  • 主要功能点

    • 资源管理:托管与读取“资源(Resources)”,帮助 LLM 客户端获取数据与能力。
    • 工具注册与执行:注册并执行 Tools,允许 LLM 调用外部功能(如执行子代理)。
    • Prompt 模板管理:定义与渲染用于 LLM 交互的 Prompt 模板,支持可定制的交互模式。
    • 会话管理:会话维持与历史记录,便于多步任务的上下文传递。
    • MCP 协议实现:使用 JSON-RPC 风格的请求/应答,提供对 ListTools、CallTool、ListResources、ReadResource 等请求的响应。
    • 多种传输与日志:通过标准输出/输入的 Stdio 传输实现 MCP 通信,并提供结构化日志和可控的日志级别。
    • 安全性与健壮性:对输入进行校验,隔离会话上下文,处理错误而不阻塞主流程。
  • 安装与运行

    • 环境要求:Node.js 20 及以上版本。
    • 依赖安装:在项目根目录执行依赖安装。
    • 启动服务器的通用方式:可以通过 npx 子命令直接启动 MCP 服务器,后台将以 MCP 客户端的方式对接相应的执行引擎。
    • 运行时要确保 AGENTS_DIR 指向包含你代理定义文件的绝对路径,该目录中的 .md/.txt 文件将被 AgentManager 发现并作为代理加载。
  • 服务器配置(MCP 客户端需要了解的配置示例) 说明:MCP 客户端启动 MCP 服务器时通常需要指定启动命令与参数,以及代理定义所在目录等环境信息。以下为准确的服务器端可用配置要点,按 json 结构描述,便于 MCP 客户端在配置文件中设置启动命令及参数(实际配置请把绝对路径替换为你的环境路径): { "mcpServers": { "sub-agents": { "command": "npx", "args": ["-y", "sub-agents-mcp"], "env": { "AGENTS_DIR": "/absolute/path/to/your/agents", // 绝对路径,代理定义所在目录 "AGENT_TYPE": "cursor" // 代理执行引擎类型,可以是 "cursor"、"claude"、"gemini"、"codex" } // 说明:客户端仅需要知道以上字段,即可启动并连接到 MCP 服务器。若需要变更执行超时、设置目录等,可按需要扩展 ENV 变量。 } } }

  • 基本使用方法

    • 启动 MCP 服务器
      • 在有依赖与环境配置的前提下,通过客户端的配置,类似“npx -y sub-agents-mcp”的方式启动服务器进程,服务器将与执行引擎(Cursor/Claude/Gemini/Codex)协同工作。
    • 使用 MCP 客户端调用工具与读取资源
      • 通过 MCP 客户端的工具调用接口,选择 run_agent 等工具,将 agent、prompt、cwd 等参数传入,服务器将返回带有结果的 MCP_JSON 结构以及可选的结构化内容。
    • 读取代理资源
      • 使用 list_resources 读取代理资源列表,通过 read_resource 读取具体代理的详细信息。
    • 会话管理
      • 当使用带会话的任务时,可以通过 session_id 维持上下文,服务器会将历史转换为 Markdown 形式的历史记录用于高效的 LLM 处理。
  • 重要注意

    • MCP 客户端一般需要明确的启动命令和参数来连接 MCP 服务器,示例配置中的绝对路径请替换为实际环境中的路径。
    • 代理定义与资源的读取涉及对代理定义文件的解析,请确保代理定义文件格式符合仓库中 AgentManager/AgentDefinition 的要求。
    • 安全性:代理执行涉及对工作目录、参数的控制,请仅使用可信来源的代理定义。

服务器信息