使用说明
MCP代理
MCP服务器 增强任务工具 使用Claude Agent SDK,提供会话恢复和独立代理执行。
重要提示:替换任务工具
当此MCP处于活动状态时,它会替换本机任务工具。 中定义的所有代理 .claude/agents/ 必须通过执行 run_agent,而不是通过任务。
为什么使用这个而不是任务?
| 功能 | 任务工具 | 运行代理(MCP) |
|---|---|---|
| 会话恢复 | 否 | 是 |
| 后续提示 | 否 | 是 |
| 独立会议 | 否 | 是 |
| 自动压缩 | 否 | 是(SDK) |
| 摘要仅返回 | 否 | 是 |
代理位置
代理从加载 与Claude Code的本地代理位于同一位置:
~/.claude/agents/ ← User-level (global)
{cwd}/.claude/agents/ ← Project-level (overrides user-level)
不需要重复。 您现有的Claude Code代理使用此MCP。
安装
cd mcp-agents
npm install
npm run build
配置
添加到您的 .mcp.json:
{
"mcpServers": {
"mcp-agents": {
"command": "node",
"args": ["/path/to/mcp-agents/dist/index.js"]
}
}
}
不 AGENTS_DIR 需要-代理从加载 .claude/agents/ 自动。
MCP工具
run_agent
替换任务工具。 运行一个自主的子代理。
// New task
run_agent(agent: "researcher", task: "Research rate limiting best practices")
// Follow-up prompt (resume session)
run_agent(agent: "researcher", task: "Focus on token bucket algorithm", resume: "session-id")
参数:
| 名称 | 必填 | 描述 |
|---|---|---|
agent |
是 | 来自的代理名称 .claude/agents/ |
task |
是 | 任务提示(或恢复时的跟进) |
resume |
否 | 后续提示的会话ID |
fork |
否 | 创建独立分支 |
退货:
{
success: boolean;
session_id: string;
summary: string;
artifacts?: string[]; // Files created/modified
error?: string; // Present on failure
}
run_agents_batch
真正的并行执行。 使用Promise.all()同时运行多个代理。
run_agents_batch({
tasks: [
{ id: "research", agent: "researcher", task: "Find API docs" },
{ id: "analyze", agent: "analyzer", task: "Check patterns" },
{ id: "test", agent: "tester", task: "Run tests" }
]
})
为什么要用这个?
- 多个
run_agent调用按顺序执行(Claude代码限制) run_agents_batch并行执行所有任务- 总时间=最长任务,而不是所有任务的总和
退货:
{
all_success: boolean;
succeeded: number;
failed: number;
total_duration_ms: number;
results: BatchTaskResult[]; // Each with id, success, session_id, summary
}
get_agent_sessions
列出可恢复的会话以进行后续提示。
cancel_agent
取消正在运行的代理会话。
代理格式
格式与Claude Code代理相同:
---
name: my-agent
description: |
Description of what this agent does.
Examples:
- <example>
Context: When to use
user: "Example request"
assistant: "Example response"
</example>
---
# System Prompt
Your agent instructions here...
主要特点
会话恢复
1. run_agent(agent="coder", task="Implement auth module")
→ session_id: "abc123"
2. run_agent(agent="coder", task="Add password reset", resume="abc123")
→ Agent continues with full context
多个代理呼叫
多个 run_agent 一条消息中的调用在独立的会话中运行。每个代理的失败都不会影响其他代理。
注: 由于Claude Code的MCP处理,执行目前是按顺序进行的。真正的并行执行依赖于客户端支持(MCP规范2025-11增加了并行工具调用)。
自动压实
Claude Agent SDK处理长时间运行的任务的上下文管理。
环境传承
代理从ClaudeCode会话继承环境(使用订阅,而不是API密钥)。
运作原理
- MCP从以下位置加载代理
.claude/agents/每次会话开始时 - Claude在上下文中已经有代理描述(来自同一文件夹)
- 工具说明说“使用run_agent,而不是Task”
- 当
run_agentMCP使用Claude Agent SDKquery()函数 - Agent使用所有Claude Code工具自主运行
- 只返回摘要(不是完整的对话)
- 会话可以通过后续提示恢复
许可证
麻省理工学院
