使用说明
游标子代理MCP服务器
MCP服务器,用于在Cursor中组织多代理开发。允许UI Cursor中的主代理通过 cursor-agent CLI。
为什么?
🧠 上下文不膨胀
在处理一个大任务时,主代理的上下文很快就会饱和。多代理方法:
- 每个子代理在 孤立的环境
- 主代理仅存储 结果 代理工作
- 您可以在不失去上下文的情况下执行任何复杂的任务
🛠️ 灵活性和定制
您完全控制您的代理:
- 代理是通过项目中的Markdown文件定义的
- 您可以更改工业应用程序,创建新角色和自定义行为
- 易于根据您的项目或堆栈定制代理
📝 默认代理(Default Agents)
不要从零开始。您可以初始化一组标准的已验证代理:
- 9专业角色 (分析师、建筑师、开发人员等)
- 每个开发阶段的精密工业零件
- 现成的相互作用结构
🔄 运行良好的Workflow
开发过程是结构化和可预测的:
- 分析→架构→规划→开发
- 每个阶段包括迭代限制的审查
- 关键问题自动停止
⚡ 并行工作
子代理通过单独的过程运行 cursor-agent:
- 不阻止主代理
- 可以为不同的任务使用不同的模型
- 结果缓存并重新使用
建筑
flowchart TB
subgraph CursorUI ["Cursor UI"]
User["👤 User<br/><i>Задача...</i>"]
Orchestrator["🎯 Orchestrator Agent<br/><i>Claude в UI</i>"]
end
subgraph MCPServer ["cursor-subagent MCP Server"]
subgraph ServerLayer ["server.py<br/>Точка входа"]
Server["FastMCP<br/>Регистрация тулов"]
end
subgraph ToolsLayer ["tools/<br/>MCP-тулы"]
GetGuide["orchestration.py<br/>get_orchestration_guide()"]
InvokeSubagent["invoke.py<br/>invoke_subagent()"]
CheckStatus["status.py<br/>check_status()"]
SetupCLI["setup.py<br/>setup_cursor_cli()"]
InitAgents["create_agent.py<br/>init_default_agents()"]
end
subgraph ExecutorLayer ["executor/<br/>Выполнение CLI"]
Runner["runner.py<br/>invoke_cursor_agent()"]
CLI["cli.py<br/>find_cursor_agent()"]
Installer["installer.py<br/>install_cursor_cli()"]
end
subgraph ConfigLayer ["config.py<br/>Конфигурация"]
Config["get_config()<br/>load_agents()"]
end
end
subgraph Files ["Файлы пользователя"]
AgentsDir["agents/<br/><i>.md файлы агентов</i>"]
OrchestratorMD["orchestrator.md"]
end
subgraph CLIAgents ["cursor-agent CLI"]
Executor["executor"]
Analyst["analyst"]
Developer["developer"]
Other["..."]
end
User -->|"задача"| Orchestrator
Orchestrator -->|"MCP"| Server
Server -->|"регистрирует"| GetGuide
Server -->|"регистрирует"| InvokeSubagent
Server -->|"регистрирует"| CheckStatus
Server -->|"регистрирует"| SetupCLI
Server -->|"регистрирует"| InitAgents
GetGuide -->|"использует"| Config
InvokeSubagent -->|"использует"| Config
InvokeSubagent -->|"использует"| Runner
CheckStatus -->|"использует"| Config
CheckStatus -->|"использует"| CLI
SetupCLI -->|"использует"| Installer
InitAgents -->|"создает"| AgentsDir
Config -.->|"читает"| AgentsDir
Config -.->|"читает"| OrchestratorMD
Runner -->|"subprocess<br/>cursor-agent --output-format stream-json"| CLIAgents
CLIAgents -->|"NDJSON stream<br/>(events)"| Runner
Runner -->|"обработка событий<br/>(assistant messages, tool calls)"| Runner
Runner -->|"результат<br/>{success, output, session_id}"| InvokeSubagent
InvokeSubagent -->|"результат"| Orchestrator
Orchestrator -->|"context"| Orchestrator
Orchestrator -->|"итог"| User
Workflow如何工作
- 用户 给Cursor UI中的Orchestrator Agent任务
- 编排器 引起
get_orchestration_guide()-获取说明和可用代理列表(从文件夹)agents/) - 编排器 制定计划,轮流呼叫合适的代理
- 每个代理的结果通过参数传递给下一个代理
context - 编排器 返回最终结果给用户
快速启动
1.安装
git clone https://github.com/your-repo/cursor-subagent-mcp
cd cursor-subagent-mcp
uv sync
2.MCP配置
添加到您的 ~/.cursor/mcp.json (或项目设置):
{
"mcpServers": {
"cursor-subagent": {
"command": "/Users/<user>/.local/bin/uv",
"args": [
"--directory",
"/path/to/cursor-subagent-mcp",
"run",
"cursor-subagent-mcp"
],
"env": {
"CURSOR_AGENTS_DIR": "/absolute/path/to/your/agents/dir",
"CURSOR_AGENT_LOG_FILE": "true"
}
}
}
}
重要的是:
- 替换
/path/to/cursor-subagent-mcp去存储库。CURSOR_AGENTS_DIR指定在哪里查找代理定义。默认情况下,搜索文件夹agents在项目的根。CURSOR_AGENT_LOG_FILE将日志文件。
- 如果未指定:禁用文件登录(建议)。
true/1:写日志在./logs/在工作目录中。/absolute/path/to/file.log:将日志写入指定的文件。
3.代理初始化
第一次在项目?请代理创建标准文件:
Вызови init_default_agents для создания базовых агентов
这将创建一个文件夹 agents/ 文件 .md 对于每个代理(Analyst、Developer等)。现在你可以编辑他们的应用程序!
4.安装Cursor Agent CLI
问代理:
Вызови setup_cursor_cli для установки cursor-agent
或手动:
curl -L https://cursor.com/install | gunzip | bash
# Добавление в PATH (для bash)
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
# Или для zsh
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
4.核查
Вызови check_status
预期答复:
{
"cursor_agent_available": true,
"cursor_agent_message": "cursor-agent found at: /Users/.../.local/bin/cursor-agent",
"config_loaded": true,
"agent_count": 9
}
使用
给代理一个任务:
Разработай REST API для управления пользователями с авторизацией через JWT.
代理自动:
- 引起
get_orchestration_guide() - 读取您的代理配置
agents/ - 启动Workflow调用代理
MCP工具
tool描述
|------|----------|
| get_orchestration_guide() | ⭐ 呼叫第一! 返回说明+可用代理列表›
| invoke_subagent(agent_role, task, context) ≫根据子代理的角色(文件名)调用子代理≫
| create_agent_scaffold(path, name) 为新代理做准备
| init_default_agents(force) 将标准代理复制到您的项目中。
| check_status() 检查状态和配置。
| setup_cursor_cli() 安装CLI。
代理
代理只是文件夹中的Markdown文件 agents/.
文件名(无扩展名)成为 role 代理。
例子 agents/developer.md:
---
name: Developer
description: Реализует код по плану
default_model: composer-1
---
# Invocation Rules
Вызывай этого агента, когда нужно написать код...
# Prompt
Ты опытный разработчик...
标准集(在initu defaultu agents之后)
角色描述档案
|------|----------|------|
| executor 简单的任务,研究。 executor.md |
| analyst 他创造了TZ。 analyst.md |
| tz_reviewer 检查TZ tz_reviewer.md |
| architect 设计建筑。 architect.md |
| developer 写代码。 developer.md |
| ... | ... | ... |
技术细节
配置
代理配置从中指定的文件夹动态加载。 CURSOR_AGENTS_DIR (或) ./agents).
agents.yaml 不再使用-每个代理在FrontMatter(文件开头的YAML标题)中描述自己的元数据。
流处理
服务器使用 cursor-agent CLI旗帜 --approve-mcps 在子代理运行期间自动批准对MCP服务器的请求。
许可证
麻省理工学院
