任务代理增强工具

一个通过Claude Agent SDK增强任务工具的MCP服务器,支持会话恢复和独立代理执行。

  • by LorenzoNava99
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 LorenzoNava99/mcp-agents

使用说明

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密钥)。

运作原理

  1. MCP从以下位置加载代理 .claude/agents/ 每次会话开始时
  2. Claude在上下文中已经有代理描述(来自同一文件夹)
  3. 工具说明说“使用run_agent,而不是Task”
  4. 当 run_agent MCP使用Claude Agent SDK query() 函数
  5. Agent使用所有Claude Code工具自主运行
  6. 只返回摘要(不是完整的对话)
  7. 会话可以通过后续提示恢复

许可证

麻省理工学院