claude-orchestrator
This MCP server lets Cursor's main agent orchestrate Claude CLI subagents to run development tasks, monitor them, and resume sessions without blocking.
dispatch_task: Launch a single task to a Claude CLI subagent, with optional sync/async mode, custom system prompt, model, allowed tools, working directory, and max turns.
dispatch_parallel: Fan out multiple independent tasks concurrently to separate Claude CLI subagents.
dispatch_goal (per README): Dispatch a goal-driven task where the subagent keeps working until a measurable completion condition is met.
get_task_status: Query a task's current status and recent log output.
get_task_result: Fetch a task's final result snapshot; optionally wait up to 120 seconds for completion.
list_tasks: List all tasks managed by the server, optionally filtered by status.
send_instruction: Resume a completed or stopped task's session with a new instruction; returns a new task ID.
stop_task: Stop a running task and optionally remove it from the registry.
Tasks run as background
claude -pchild processes; dispatch tools returntask_idimmediately, and monitoring tools are read-only and non-blocking.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@claude-orchestratordelegate implementing user auth endpoints to a Claude subagent and run tests"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
claude-orchestrator
让 Cursor 主 Agent 通过 MCP 协议调度 Claude CLI 作为子代理
这是什么?
一个 MCP Server,它在 Cursor IDE 和 Claude CLI 之间架起桥梁。Cursor 的主 Agent 作为规划者和协调者,通过 MCP 工具将实际开发任务派发给 Claude CLI(子代理)执行。
┌──────────────────────────────────┐
│ Cursor 主 Agent │
│ 理解需求 → 拆分任务 → 汇总结果 │
└────────────┬─────────────────────┘
│ MCP Protocol (stdio)
┌────────────▼─────────────────────┐
│ claude-orchestrator MCP Server │
│ 任务注册表 + CLI 封装 + 8个工具 │
└────────────┬─────────────────────┘
│ spawn: claude -p --output-format stream-json
┌────────────▼─────────────────────┐
│ Claude CLI (子代理) │
│ 编写代码 / 运行测试 / 代码审查 │
└──────────────────────────────────┘Related MCP server: subagents
为什么需要它?
Cursor 内置的 subagent 能力有限。Claude CLI(Claude Code)拥有完整的开发工具集:
✅ 完整的文件系统操作
✅ 会话可续接(
--resume,对应send_instruction)✅ 自定义系统提示和模型选择
✅ 结构化结果指标(cost / duration / turns)
✅ 灵活的工具配置
安装
git clone https://github.com/lilyjem/cursor-subagent.git
cd cursor-subagent
npm install前置要求:
Node.js >= 20
Claude CLI 已安装并认证
配置 Cursor
将以下内容添加到 Cursor 的 MCP 配置中(~/.cursor/mcp.json):
{
"mcpServers": {
"claude-orchestrator": {
"command": "npx",
"args": ["tsx", "/path/to/cursor-subagent/src/index.ts"]
}
}
}重启 Cursor 后,MCP Server 会自动启动。
8 个 MCP 工具
工具 | 用途 |
| 派发单个任务,立即返回 |
| 派发目标驱动任务,子代理持续工作到条件达成为止 |
| 并行派发多个任务(每项 |
| 查询任务状态与最近日志(纯读取,不阻塞) |
| 取任务结果快照(含 cost / duration / turns),不等待 |
| 列出全部任务( |
| 向已有会话追加指令,返回新任务的 |
| 停止运行中的任务,可选清理记录 |
没有 mode / wait 参数:派发类工具立即返回 task_id,查询类工具只读快照,全部零阻塞。
使用示例
派发任务(立即返回)
dispatch_task({
prompt: "编写一个 Express REST API 的用户注册端点",
system_prompt: "你是 Node.js 后端开发专家"
})
// → { task_id, pid, status: "running" }
// 注意:派发返回值里【没有】session_id —— init 事件到达后由 get_task_status 取目标驱动任务(dispatch_goal)
派发一个完成条件,让子代理自己干到条件达成为止:
dispatch_goal({
goal: "npm test 退出码为 0,且在输出中贴出测试通过数;不得修改 test/ 与 package.json;or stop after 20 turns"
})写条件的四条要诀:
一个可测量的终态 —— 「
npm test退出码为 0」「git status干净」「无 TS 编译错误」,而不是「代码更好」说明怎么证明 —— 评估器不读文件、不跑命令,只看会话里出现过的证据,所以要让子代理把证据留在输出里
附上约束 —— 「且未修改
test/与package.json」。别写「不修改test/之外的文件」:那等于允许改test/,子代理只要把断言改弱就能「达成」条件加轮次上限 ——
or stop after 20 turns(Claude Code 原生支持的子句)
条件上限 4000 字符,超长会被直接拒绝(不会启动 CLI)。主观目标(「让代码更优雅」)不适用。
跟踪与取结果
get_task_status({ task_id: "...", include_logs: true }) // 进度行,运行中的任务也能看
get_task_result({ task_id: "..." }) // 结果快照,任务还在跑就返回 running并行任务
dispatch_parallel({
tasks: [
{ prompt: "实现用户注册 API", system_prompt: "后端专家" },
{ prompt: "实现用户登录 API", system_prompt: "后端专家" },
{ goal: "认证中间件全部单测通过,且贴出测试输出", system_prompt: "安全专家" }
]
})追加指令
send_instruction({ task_id: "...", message: "把错误处理补上" })
// → 返回的是【新任务】的 task_id;原任务保留自己的结果代码审查
dispatch_task({
prompt: "审查 src/api/ 目录下的所有代码,关注安全性和性能",
system_prompt: "你是资深代码审查专家,关注 OWASP Top 10 安全风险"
})Cursor Rule
项目包含 .cursor/rules/claude-orchestrator.mdc,它会自动教 Cursor 主 Agent:
何时使用子代理 vs 自己做
如何构造有效的 dispatch 调用
何时用
dispatch_goal、怎么写完成条件最佳实践(提供完整上下文、并行独立任务等)
技术架构
src/
├── index.ts # 入口:stdio 传输
├── server.ts # MCP Server:注册 8 个工具
├── types.ts # 共享类型定义
├── constants.ts # 常量(goal 字符上限、日志缓冲上限等)
├── claude-cli/
│ └── cli-adapter.ts # 纯函数:argv 构建 + stream-json 行解析
├── runtime/
│ └── task-runner.ts # 子进程生命周期 + 日志环形缓冲
├── registry/
│ └── task-registry.ts # 内存任务注册表
└── tools/
├── dispatch.ts # dispatch_task / dispatch_goal / dispatch_parallel
├── monitor.ts # get_task_status / list_tasks
├── result.ts # get_task_result
└── control.ts # stop_task / send_instruction测试
npm test # 运行所有测试(95 个用例)
npm run test:watch # 监听模式
npm run smoke # 真实 CLI 端到端冒烟(会调用 Claude CLI 并产生费用)工作原理
只有一条执行通道:MCP Server 自己 spawn 一个 claude -p 子进程,不等待,立即返回 task_id,任务状态此后由子进程退出事件驱动。
派发:
claude -p --output-format stream-json --verbose --dangerously-skip-permissions -- "<prompt>"--终止选项解析:--allowedTools是变长参数,实测会连同后面的 prompt 一起吞掉(claude 2.1.272)stdout 逐行是 JSON,解析成事件;
system/thinking_tokens(实测占输出体积 86.4%)与 thinking 块直接丢弃最后的
result事件给出 result / cost / duration_ms / num_turns / session_id
Goal 任务:把条件包装成
/goal <条件>作为位置参数传入/goal是 Claude Code 的 slash 命令(v2.1.139+),-p下一次调用内跑完整个循环评估器是 session 级 prompt Stop hook,由独立的小模型判定条件是否达成
会话续接:
claude -p --output-format stream-json --verbose --dangerously-skip-permissions --resume <session_id> -- "<message>"send_instruction用它续接会话,产生新任务记录(resumedFrom指回原任务),不用重复说明上下文
停止:kill 子进程(SIGTERM),会话保留,仍可
--resume
注意事项
⚠️ 使用
--dangerously-skip-permissions跳过权限确认,子代理拥有完整文件系统访问权限⚠️ 失去
claude attach/claude agents可见性:子代理不再出现在 Claude Code 的后台会话列表里,人类无法 attach 接管⚠️ Server 退出(含 Cursor 重载)会中断在跑的子代理:任务注册表在内存中,重启后全部丢失
⚠️ 每个子代理任务的成本不可忽略:四组真实任务的实测成本为 $0.0357(goal 任务)/ $0.0405(带
allowed_tools的普通任务)/ $0.0986、$0.13(更早的探针);按 $0.04–0.13 估算,dispatch_parallel扇出 3 个任务约 $0.12–0.40(3 × 上述区间)⚠️
dispatch_goal依赖 Claude Code 的 hooks 系统与 workspace 信任:/goal的评估器是 settings 里的 session 级 prompt Stop hook,disableAllHooks或allowManagedHooksOnly会让它不可用,未信任的目录同理⚠️ 需要有效的 Claude CLI 认证(API Key 或 OAuth)
License
MIT
Available Tools
7 toolsdispatch_parallelB
并行派发多个任务给不同的 Claude CLI 子代理。所有任务以 async 模式执行。
| Name | Required | Description | Default |
|---|---|---|---|
| tasks | Yes | 任务配置数组 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the async execution mode, which is a key behavioral trait, but does not explain consequences like needing to poll for results or handling partial failures.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It is concise but arguably too terse given the complexity of the tool; still, it earns a 4 for efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of parallel dispatch and async execution, the description is incomplete. It does not mention what the tool returns (e.g., task IDs), how to retrieve results, or error handling behavior, and there is no output schema to fill the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool description adds no parameter-level detail beyond what the schema provides. While the schema covers the top-level 'tasks' parameter, nested fields like max_turns, allowed_tools, system_prompt, and working_directory lack descriptions and the tool description does not compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool dispatches multiple tasks in parallel to different Claude CLI subagents, clearly distinguishing it from single-task siblings like dispatch_task. It is a specific verb+resource description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as dispatch_task. The description does not mention conditions, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dispatch_taskA
派发任务给 Claude CLI 子代理。sync 模式等待完成返回结果,async 模式后台执行立即返回 task_id。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 执行模式,默认 sync | |
| model | No | 模型名称(如 claude-sonnet-4-20250514) | |
| prompt | Yes | 任务描述/指令 | |
| max_turns | No | 最大对话轮次 | |
| allowed_tools | No | 工具白名单(如 ["Bash", "Read", "Edit"]) | |
| system_prompt | No | 自定义系统提示(如:你是代码审查专家) | |
| working_directory | No | 工作目录,默认为项目根目录 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose a key behavioral trait beyond the schema: sync blocks until completion and returns results, while async returns immediately with a task_id. However, it omits side effects, failure modes, resource implications of spawning a CLI subagent, and how the async result is later retrieved — meaningful gaps for a zero-annotation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler: the first establishes the verb+resource, the second front-loads the two execution modes with their consequences. Every clause earns its place, and the most decision-relevant information (sync vs. async behavior) is placed immediately after the purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool the schema covers parameter semantics fully, and the description covers the core execution behavior. But with no output schema and no annotations, the description should explain the return shape of sync results and the async follow-up flow (e.g., that async task_id can be queried via get_task_status/get_task_result). These omissions leave an agent guessing about the post-dispatch workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 7 parameters and the baseline is 3. The description adds some value by tying 'mode' to concrete behavioral outcomes (sync returns results, async returns task_id), which the schema's '执行模式,默认 sync' does not, but it adds nothing about the other six parameters. Adequate but not compensating-driven.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific verb+resource: '派发任务给 Claude CLI 子代理' (dispatch tasks to Claude CLI subagents), and adds a concrete behavioral distinction between sync (wait for results) and async (background, immediate task_id). This is clear enough to separate it from status/result/list/stop siblings by verb alone, but it never explicitly names a sibling or the case it is not (e.g., dispatch_parallel), so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit mode-level guidance: choose sync when you want to wait and receive results, async for background execution with immediate task_id. However, there is no tool-level guidance versus alternatives — notably dispatch_parallel, which is the most confusable sibling — and no exclusions or prerequisites (e.g., that async tasks should later be polled via get_task_status/get_task_result). Usage is implied rather than fully routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_task_resultA
获取已完成任务的最终结果。如果任务仍在运行,返回当前状态。
| Name | Required | Description | Default |
|---|---|---|---|
| wait | No | 任务未完成时是否等待(最多 120 秒),默认 false | |
| task_id | Yes | 任务 ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It does explain the main conditional behavior (completed vs running), but it omits details about wait semantics, error cases, and what 'current status' includes. It is not misleading, but it is not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. The primary action is front-loaded, and the conditional behavior is stated in the second sentence efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with full schema coverage, the description plus schema is mostly sufficient. A minor gap is that the return format of the final result or status is not described, but the core calling requirements are covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% because both task_id and wait have descriptions in the input schema. The tool description itself adds no parameter meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the final result of a completed task, and it adds the conditional behavior of returning current status if the task is still running. It is specific about the resource (task result) but does not explicitly differentiate itself from the sibling get_task_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The conditional phrase '如果任务仍在运行,返回当前状态' implies when the tool is useful, but there is no explicit guidance about when to prefer get_task_status or when waiting is appropriate. Usage context is implied rather than clearly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_task_statusB
查询指定任务的当前状态和最近日志输出。
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | 任务 ID | |
| include_logs | No | 是否包含最近日志,默认 true |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It does indicate a read-style behavior ('查询') and discloses the output (status and recent logs), but it does not mention error behavior, log size limits, or whether any side effects occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every word contributes to defining the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with two well-documented parameters, the description is minimally adequate. However, without annotations or an output schema, it could have clarified what status values are returned and how logs are formatted, and it gives no usage context relative to sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both task_id and include_logs. The description adds no additional meaning about parameter formats, defaults, or how include_logs affects output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb '查询' (query) and names the exact resource ('指定任务' / specified task) and what it returns (current status and recent logs). It is clear, though it does not explicitly contrast itself with siblings like get_task_result or list_tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus siblings such as get_task_result, list_tasks, or dispatch_task. The description states only what the tool does, leaving the agent to infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tasksB
列出所有由本 MCP Server 管理的任务。
| Name | Required | Description | Default |
|---|---|---|---|
| status_filter | No | 按状态过滤,默认 all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it only states that the tool lists tasks. It does not disclose whether the result is paginated, ordered, read-only, or shaped in any particular way, nor does it mention potential side effects or absence thereof.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no filler. The key scope ('all tasks managed by this MCP Server') is front-loaded, making it immediately clear what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with only one optional parameter, so the description is nearly sufficient arbiter for basic invocation. However, it omits any mention of the optional status filter, output shape, or how this tool relates to get_task_status, leaving the agent to infer context from the schema and sibling names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the status_filter parameter already has an enum and a clear description with default value. The tool description adds no extra meaning about the filter, so it neither helps nor hurts beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb, '列出' (list), and a clear resource: '所有由本 MCP Server 管理的任务' (all tasks managed by this MCP Server). It clearly indicates a collection-level listing operation and is easily distinguished from sibling tools like get_task_status, which target individual tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as get_task_status or dispatch_task. There is no explicit 'use this when...' context, no exclusions, and no mention of which sibling tool to prefer for single-task lookups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_instructionA
向已完成或已停止的任务发送后续指令(resume 会话)。对运行中的任务会先停止再续接。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 续接模式,默认 async | |
| message | Yes | 追加的指令内容 | |
| task_id | Yes | 任务 ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly states that running tasks are stopped before resuming, a critical side effect. It does not cover other states (e.g., failed) or potential errors, but the disclosed behavior is meaningful and helpful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no redundancy. The primary purpose is front-loaded, and the special behavior for running tasks is added as a separate clarifying clause. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three parameters and no output schema, the description covers the core purpose and behavioral nuance. It does not explain the mode parameter's effect or expected return, but these are either covered by the schema or not essential for invoking the tool correctly. The description is adequate, though it could mention more about post-resume outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters (task_id, message, mode) are already documented in the schema. The description adds no additional parameter context beyond what the schema provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('send instruction'), resource ('task'), and target states (completed or stopped), and explicitly notes the behavior for running tasks (stop then resume). This clearly distinguishes it from siblings like dispatch_task (creating new tasks) and stop_task (only stopping).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool—for resuming sessions of completed/stopped tasks—and explains the special case for running tasks. It does not explicitly name alternatives or exclusions, but the context of sibling tools and the described behavior makes the usage scenario clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stop_taskA
停止运行中的任务。cleanup=true 时同时从注册表和 CLI 中移除。
| Name | Required | Description | Default |
|---|---|---|---|
| cleanup | No | 是否同时清理,默认 false | |
| task_id | Yes | 任务 ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose the cleanup=true side effect of removing the task from the registry and CLI, but it does not explain reversibility, error behavior, or consequences for tasks that are not running.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely compact, front-loads the core action, and then adds the conditional cleanup detail. Every word contributes value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter tool, the description covers the core action and the cleanup option, but with no output schema and no annotations it omits return/error behavior and edge cases such as stopping a task that is not running. The description is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, which gives a baseline of 3. The description adds concrete meaning beyond the schema by specifying that cleanup=true removes the task from the registry and CLI, which is more informative than the schema's generic '是否同时清理' phrasing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('stop') and a specific resource ('running task'), and it adds the cleanup behavior. This clearly distinguishes it from sibling tools like dispatch_task, get_task_status, and list_tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for stopping a running task, but it does not explicitly say when to use it versus alternatives, nor does it mention exclusions such as already-stopped or completed tasks. No alternative routing is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
v0.1.0- First observed
dispatch_parallel - First observed
dispatch_task - First observed
get_task_result - First observed
get_task_status - First observed
list_tasks - First observed
send_instruction - First observed
stop_task
TDQS
Scored across 7 tools
每个工具都有明确且独特的职责:派发任务(单/并行)、查询状态、获取结果、列出任务、发送指令、停止任务,没有重叠或模糊之处,代理可以清晰区分。
所有工具名遵循一致的动词_名词模式(如dispatch_task, get_task_status, stop_task),风格统一,可预测性强。
7个工具数量适中,覆盖了任务编排的核心操作,没有冗余或缺失,每个工具都有明确用途。
覆盖了任务生命周期的主要阶段(创建、查询、结果、停止、续接),但缺少显式的删除/清理任务工具(虽然stop_task有cleanup选项),整体完整度较高。
Maintenance
Related MCP Connectors
Real-time chat for AI agents. Claude Code, Cursor, Cline and Codex join channels over MCP.
- DazbenchOAuthapp.dazbench
Task management your AI agents can actually run. One line becomes a context-ready task over MCP.
Agent-native collaboration network: orchestrate a team of long-running agents from any MCP client.
Real-time chat hub for AI agents — Claude Code, Cursor, Cline, Codex over MCP or REST.
Related MCP Servers
- AlicenseBqualityFmaintenanceEnables orchestrating multiple AI CLI agents (Claude Code, Codex, Gemini CLI, Copilot CLI) through a unified MCP interface for task delegation, cross-agent comparison, and specialized tools like code review and debugging.144 npm14MIT
- AlicenseNot gradedqualityFmaintenanceAn MCP server that enables Cursor to delegate complex, multi-step tasks to specialized subagents, including general-purpose and explore agents, with automatic discovery of existing Claude subagents.4 npm1MIT
- FlicenseAqualityBmaintenanceAn MCP server that lets Claude spawn Cursor subagents as async, bounded workers, enabling non-blocking task delegation with asynchronous completion notifications.8-
- AlicenseNot gradedqualityBmaintenanceEnables MCP clients like Claude Code to delegate coding tasks to the local Cursor Agent CLI, with persistent per-workspace sessions that resume across calls.12 npmMIT