项目简介

Agent MCP 是一个基于 Model Context Protocol (MCP) 的框架后端,旨在构建协调高效的多智能体系统。它为不同的 AI 代理(Agent)提供一个中心化的平台,管理共享的项目上下文、任务分配与状态,并提供工具调用能力,促进智能体之间的协作开发。

主要功能点

  • 多智能体框架: 支持创建和管理不同职责的 AI 代理(如 Admin Agent, Worker Agents)。
  • 任务管理与协调: 提供任务的创建、分配、状态更新、父子任务及依赖管理。
  • 共享上下文与知识库 (RAG): 维护中心化的项目上下文(如项目计划 MCD),并支持通过检索增强生成 (RAG) 方式高效访问代码文件、文档、任务信息等项目知识。
  • 工具注册与执行: 智能体可以通过 MCP 协议调用预定义的工具集,执行文件操作、上下文读写、任务管理、RAG 查询等后端功能。
  • 交互式仪表板: 提供一个可视化界面,监控智能体活动、任务状态、文件占用和它们之间的关系。
  • 多种传输协议: 支持 SSE (Server-Sent Events) 和 Stdio (标准输入输出) 等方式与 MCP 客户端(如 Cursor, Claude Code 等 AI 编码助手)进行通信。

安装步骤

  1. 环境准备: 确保已安装 Python 3.8+ 和 'uv' (推荐使用 'uv' 进行包管理)。
  2. 克隆仓库:
    git clone https://github.com/rinadelph/Agent-MCP.git
    cd Agent-MCP
  3. 配置环境: 复制 '.env.example' 为 '.env' 文件。
    cp .env.example .env
  4. 设置 API Key: 编辑 '.env' 文件,添加您的 OpenAI API Key。
    OPENAI_API_KEY=your_openai_api_key_here
  5. 安装依赖: 使用 'uv' 或 'pip' 安装项目依赖。
    uv venv && uv pip install -e .
    # 或者使用 pip
    # pip install -e .

服务器配置

Agent MCP 服务器通过命令行启动,并监听一个端口(默认为 8080)或使用 Stdio 进行 MCP 通信。MCP 客户端(如您的 AI 编码助手)需要通过配置,指定如何启动此服务器进程以及如何连接。以下是 MCP 客户端通常需要的服务器启动信息示例(JSON 结构 + 参数注释):

{
  // 服务器名称,用于标识此MCP服务,可自定义
  "name": "Agent MCP Server",
  // 启动服务器的可执行文件或模块命令。
  // 对于 Agent-MCP,通常通过 Python 模块方式启动
  "command": ["uv", "run", "-m", "agent_mcp.cli"],
  // 传递给服务器启动命令的参数列表
  "args": [
    "--port", "8080", // 服务器监听的端口。客户端需要连接到此端口的 /messages 路径
    "--transport", "sse", // 指定传输协议,通常为 "sse" 以支持 Web 请求
    "--project-dir", "/path/to/your/project" // **必填:** 您希望服务器管理的项目根目录的绝对路径。'.agent' 文件夹将在此创建。
    // "--admin-token", "your_admin_token" // 可选:直接通过命令行指定管理员令牌。如不提供,服务器会从数据库加载或生成新令牌
    // "--debug", "true" // 可选:开启调试模式以获取更详细日志
    // "--advanced" // 可选:启用高级嵌入模式(3072维度,包含代码和任务索引)
  ],
  // 其他客户端连接所需信息
  "connection": {
    // 服务器的URL,通常是 http://host:port/messages/ 用于工具调用。
    // 客户端应配置为连接到此地址。
    "url": "http://localhost:8080/messages/",
    // 客户端用于身份验证的令牌(管理员令牌或特定代理令牌)。
    // 客户端在调用工具时需在请求头或参数中包含此令牌(通常在 Authorization 头部)。
    "token": "请在服务器启动后从日志或数据库中获取并替换为管理员令牌或特定代理令牌" 
  }
}

请根据您的实际安装路径、端口设置和所需的项目目录,修改上述配置信息,并将其提供给您的 MCP 客户端。

基本使用方法

  1. 启动服务器: 在您的项目目录(或您指定的 '--project-dir' 目录)中运行安装步骤中的启动命令。
    uv run -m agent_mcp.cli --port 8080 --project-dir /path/to/your/project
    服务器启动后,会显示或提示您查找管理员令牌(默认保存在 '.agent/mcp_state.db' 数据库中)。
  2. 连接 MCP 客户端: 配置您的 AI 编码助手作为 MCP 客户端,使用服务器地址(如 'http://localhost:8080/messages/')和获取的管理员令牌进行连接。
  3. 初始化 Admin Agent: 在 AI 助手对话中,使用管理员令牌初始化一个 Admin Agent。通常通过一个特定的 Prompt 指导 AI 助手使用该令牌。例如:"Initialize as an admin agent with this token: [your-admin-token]"
  4. 添加项目上下文 (MCD): 创建一个 'MCD.md' 文件详细描述您的项目。使用 Admin Agent 调用 'update_project_context' 等工具将 MCD 内容或其他重要信息添加到服务器的共享项目上下文中。
  5. 创建 Worker Agents: 使用 Admin Agent 调用 'create_agent' 工具创建专注于特定任务(如前端开发、后端开发)的 Worker Agent。Admin Agent 会为您提供每个 Worker 的唯一令牌。
  6. 初始化 Worker Agents: 打开新的 AI 助手对话(或使用支持多光标/会话的工具),使用 Worker Agent 的令牌和特定的 Prompt 初始化它们。Prompt 应指导 Worker Agent 使用 'view_tasks' 查看分配给它们的任务,使用 'ask_project_rag' 查询项目上下文,并使用其他工具执行任务。
  7. 任务分配与协作: Admin Agent 使用 'assign_task' 工具将具体任务分配给 Worker Agents。Worker Agents 自主工作,通过共享上下文和工具协作完成任务。
  8. 监控: 访问 'http://localhost:8080' 查看仪表板,监控智能体和任务状态。

信息

分类

AI与计算