Skip to main content
Glama

cursor-agents-mcp

An MCP server that lets Claude Code delegate work to Cursor SDK agents — Grok by default — as detached, reusable, inspectable background jobs.

The point is cost. Frontier Claude models are expensive for work that does not need them. This hands that work to a cheaper model without giving up the orchestration, and without the orchestrator paying to read the result.

What it does

  • Async by default. spawn returns an id immediately. Nothing blocks.

  • Agents are reusable. follow_up sends another turn with the full prior conversation intact, instead of starting over.

  • Agents are inspectable. list for the overview, inspect for a compact per-agent digest that is never a transcript.

  • Agents are steerable. steer injects into a live turn without discarding its work; stop cancels but leaves the agent resumable.

  • Runs survive the session. Runners are detached, so closing Claude Code does not kill a refactor in progress.

  • Visible without asking. A background-task bridge puts each agent in Claude Code's task panel and notifies the orchestrator on completion; a status line shows what is running.

  • Project config is honored. AGENTS.md, .cursor/rules, .agents/skills and .cursor/mcp.json all work.

Related MCP server: opencode-mcp

Setup

Requires Node 22.13+ and a Cursor account.

npm install

Authenticate the SDK — note this is separate from the cursor-agent CLI login, which it will not reuse:

node -e "import('@cursor/sdk').then(m => m.Cursor.auth.login({ apiKeyName: 'cursor-agents-mcp' }))"

That mints a 90-day key into ~/.cursor/sdk/auth.json. A non-expiring key from the Cursor dashboard in CURSOR_API_KEY works too.

Register with Claude Code, in ~/.claude.json:

{
  "mcpServers": {
    "cursor-agents": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/cursor-agents-mcp/src/mcp-server.js"]
    }
  }
}

Defaults (model, effort, sandbox, fast-tier policy) are environment variables — see docs/configuration.md. For the status line, see docs/statusline.md.

Security

Worth reading before pointing this at a repo you care about.

Agents run with your permissions, not in a jail. By default spawn gives the agent shell access and write access to its working directory — the same reach Claude Code or the Cursor CLI already has. Nothing here asks you to approve individual commands, because a headless run has nobody to ask.

The sandbox is off by default, deliberately. Turning it on (sandbox: true) confines writes to cwd and blocks outbound shell network access — but it also blocks every MCP tool call, because an approval-gated call fails closed with no one to approve it. That trade is documented in docs/sandbox-and-passthrough.md. Pick the default that fits you; do not assume the shipped one is the safe one.

readOnly: true is the real containment switch. It runs the agent in plan mode with edit, delete, applyAgentDiff, piEdit and piWrite withheld. Use it for research, review, and anything you have not thought hard about.

Prompts are an injection surface. An agent that reads a web page, a dependency's README, an issue body, or any other untrusted text may act on instructions found there — with the shell access above. Treat a delegated agent the way you would treat piping untrusted input into your own shell, and reach for readOnly when the task involves reading things you did not write.

Runs outlive your session. Runners are detached on purpose, so closing Claude Code does not stop an agent mid-write. Use cursor-agents ls --active to see what is still going, and stop to end it.

Transcripts are stored in the clear. ~/.cursor-agents-mcp/agents/<id>/ holds every message of every run, including the contents of files the agent read. If your repo contains credentials, they now also live there. Delete the directory to clear it.

Your Cursor key is a real credential. Cursor.auth.login() writes a 90-day key to ~/.cursor/sdk/auth.json in plaintext. Revoke it from the Cursor dashboard's API-keys page if it leaks — deleting the local file alone does not invalidate it.

Docs

configuration.md

Environment variables for every shipped default

architecture.md

Process model, the on-disk record, why runners are detached

tools.md

The seven tools and their arguments

context-economy.md

Why no tool returns a transcript

models.md

Model namespaces, the fast-tier trap, 4.5 vs 4.6

sandbox-and-passthrough.md

Measured capability matrix; what loads automatically

statusline.md

Task panel bridge and status line setup

Development

npm test        # unit tests
npm run typecheck

State lives in ~/.cursor-agents-mcp/, overridable with CURSOR_AGENTS_STATE_ROOT.

License

MIT — see LICENSE.

Available Tools

7 tools
follow_upA

Send another turn to an existing agent, keeping its full conversation. Use this instead of spawning a fresh agent whenever the work builds on what that agent already did — it keeps the context and costs far less. The agent must have finished; use steer for a live run.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesShort agent id, e.g. ag_7f3k2m.
promptYesThe follow-up message.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden, and it does disclose meaningful behavior: the prior conversation is preserved, cost is lower than a fresh agent, and the target agent must be in a finished state (implying a failure mode otherwise). It stops short of describing error behavior, return values, or whether the turn is synchronous.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with zero filler. The capability statement comes first, then the alternative routing, then the precondition — correctly front-loaded for fast scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter tool with no output schema, the description supplies the precondition, the context-preservation semantic, the cost rationale, and the sibling alternative. Nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% — both 'id' (short agent id, e.g. ag_7f3k2m) and 'prompt' are documented in the schema. The description adds no format, binding, or constraint detail beyond it, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Send another turn to an existing agent') and immediately differentiates from siblings by naming both spawn (fresh agent) and steer (live run). An agent can place this tool precisely without opening any other schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing rules: use this instead of spawn when work builds on prior context, and use steer for a live run. It also states the hard precondition ('The agent must have finished'), so both when-to-use and when-not-to-use are covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inspectA

Show what one agent has done, as a compact digest — one line per tool call, not a transcript. Pass the since value from a previous call to get only new activity. The reply names the full transcript file; read it with shell tools only if the digest is genuinely insufficient.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesShort agent id, e.g. ag_7f3k2m.
sinceNoReturn only entries newer than this seq (from a prior inspect).
includeResultNoAppend the agent's final answer, if it has finished.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and does reasonably well: it discloses the output shape (one line per tool call, not a transcript), that the reply names the full transcript file, and a cost/effort warning against reading the full file. It omits failure modes (unknown id, agent still running beyond the includeResult hint) and any blocking/rate-limit behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with zero filler. The core scoping claim ('compact digest … not a transcript') is front-loaded, and each following sentence adds a distinct operational instruction (incremental since, fallback to transcript).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must convey return behavior — and it does: digest granularity plus the transcript filename it returns. Combined with full schema param coverage, an agent has enough to call it correctly, though per-parameter nuances (e.g. includeResult only applying to finished agents) live solely in the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 `id`, `since`, and `includeResult`. The description restates the incremental-polling intent of `since` but adds no format, range, or edge-case detail beyond the schema, which is the expected baseline when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource (show what one agent has done) and immediately bounds the scope with 'one agent' and 'a compact digest — one line per tool call, not a transcript.' That clearly separates it from a raw transcript reader, though it never names a sibling such as list or wait to disambiguate the agent-scoped vs. fleet-scoped view.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete usage guidance: pass the `since` value from a prior call for incremental polling, and read the full transcript with shell tools 'only if the digest is genuinely insufficient' — an explicit when-not-to-go-deeper rule. It stops short of naming alternatives like wait or follow_up for monitoring, and gives no guidance on invalid or finished agents.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

listB

List agents with their state, elapsed time, cost and latest activity. One line each.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNosession (default) = spawned by this Claude session; cwd = this directory; all = everything.
activeOnlyNoExclude finished, errored and cancelled agents.

TDQS

B3.4/5.0
Behavior3/5

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 usefully discloses the return fields and one-line-per-agent format, which partially substitutes for the missing output schema, but says nothing about ordering, pagination, limits, or auth requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the resource and return content, with zero filler. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter read tool with fully documented schema and no output schema, the description covers what the tool returns and its format. The remaining gap is behavioral (ordering, filtering interaction with scope), but nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both scope (enum, default documented) and activeOnly fully explained in the schema. The description adds no parameter meaning beyond that, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (agents), and enumerates the returned fields (state, elapsed time, cost, latest activity). Against siblings like inspect and spawn, the plural enumeration and 'One line each' clearly mark it as the overview tool, though it never names the contrasting sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use, when-not-to-use, or alternative is stated. 'One line each' hints at a summary role versus the detail-oriented inspect sibling, but the routing decision is left entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spawnA

Delegate a task to a Cursor agent (Grok by default) running detached in the background. Returns immediately with an agent id — it does NOT wait. The agent shares none of your context, so prompt must be a self-contained brief: name the files, the goal, and how to verify. Project AGENTS.md, .cursor/rules, .agents/skills and .cursor/mcp.json are honored automatically. After spawning, run the returned attachCommand via Bash with run_in_background:true, passing the returned attachDescription VERBATIM as the Bash tool's description. The task panel labels the row from that description, so a generic one hides what the agent is doing from the user. The task's exit notifies you when the agent finishes — do not poll.

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdNoWorking directory. Defaults to the project root.
modelNoBase model id: grok-4.6 (default) or grok-4.5.
titleYesShort imperative description shown to the user in the task panel and status line, e.g. "port auth tests to vitest". Not a generic label.
effortNoReasoning effort, default high. Use low for genuinely trivial work; high costs ~16s of latency floor.
promptYesSelf-contained brief for the agent.
sandboxNoEnable Cursor's sandbox. Blocks ALL MCP tool calls and shell network access. Off by default.
readOnlyNoPlan mode with edit/write/delete disallowed. Use for research and review.
allowFastNoPermit the fast model tier, which costs roughly double. Only with explicit user consent.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden and does so well: detached execution, immediate return, zero shared context with the caller, automatic honoring of AGENTS.md/.cursor/rules/.agents/skills/.cursor/mcp.json, and notification-on-exit instead of polling. It omits auth/permission requirements and failure/error behavior, which is why it is not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core action and return contract in the first sentence, then layers in the briefing requirement and the mandatory post-spawn attach step. Dense and slightly run-on, but each sentence carries a distinct, non-redundant instruction.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and no output schema, the description compensates by documenting return values (agent id, attachCommand, attachDescription), the required follow-up call, and the completion signal. That is enough for an agent to invoke and sequence the tool correctly; failure handling is the only notable gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description still adds meaning: it reinforces that `prompt` must name files, goal, and verification (beyond the schema's 'Self-contained brief') and confirms the default model is Grok. The other six parameters' semantics are left entirely to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Delegate a task to a Cursor agent ... running detached in the background') with precise semantics ('Returns immediately with an agent id — it does NOT wait'). The explicit non-waiting framing functionally separates it from the sibling `wait`, so an agent can distinguish the two without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear operational context: use it to delegate a self-contained brief, then run the returned attachCommand with run_in_background:true, and 'do not poll' because exit notifies you. It never names alternatives (follow_up, steer, stop) or states when not to delegate, so it stops short of full when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

steerA

Inject a message into an agent's turn while it is still running, without killing its work. Use this to correct course mid-run — it is strictly better than stopping and re-prompting.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesShort agent id, e.g. ag_7f3k2m.
textYesMessage to inject.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full behavioral burden. It usefully discloses that the operation is non-terminating and mid-run only, but says nothing about what happens if the agent is idle/finished (error? queued?), whether injection is delivered immediately or at the next turn boundary, or whether repeated calls are allowed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, action and rationale front-loaded, with zero filler. Every clause carries weight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter action tool with no output schema, the description covers what it does, when to use it, and why over an alternative. The main remaining gap is failure/edge behavior when the target agent is not running, which is minor at this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both 'id' (example format ag_7f3k2m) and 'text' documented in the schema itself. The description adds no syntax, format, or constraint detail beyond what the schema already carries, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a precise verb+resource: inject a message into a running agent's turn. It immediately distinguishes itself from the stop sibling by stating it works 'without killing its work', so an agent can tell it apart without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to 'use this to correct course mid-run' and names an alternative (stopping and re-prompting) with a claim of superiority. It does not draw the boundary against the sibling 'follow_up' (presumably for after a run ends), so the exclusions are incomplete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stopA

Cancel an agent's current run. The agent stays resumable via follow_up.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesShort agent id, e.g. ag_7f3k2m.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden and does disclose the non-obvious fact that cancellation is not terminal — the agent remains resumable via follow_up. It does not say what happens to in-flight work, whether cancellation is graceful, or what permissions are needed, so it is helpful but not complete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with zero filler; the action is front-loaded and the resumability caveat follows immediately. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with no output schema, the description covers what it does and the key follow-on behavior. What is missing is minor — side effects on in-flight execution and any preconditions — but nothing prevents correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single id parameter is well documented in the schema ("Short agent id, e.g. ag_7f3k2m"). The description adds no additional meaning about the id, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb ("Cancel") plus specific resource ("an agent's current run"), so the operation is unambiguous. It also names follow_up as the contrasting sibling, letting an agent separate cancellation from resumption without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly frames the use case (halt an in-progress run) and points to follow_up for the resumption case, giving usable routing context. It stops short of stating explicit exclusions, e.g. when wait or steer would be preferred over stopping.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

waitA

Block until the named agents finish. This blocks YOUR whole turn, so prefer the background-task bridge from spawn — use this only when there is genuinely nothing else to do. On timeout it returns progress rather than nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYesAgent ids to wait on.
modeNoReturn on the first finisher, or all. Default all.
timeoutSecNoSeconds to block. Default 120, max 600.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and does well: it discloses the critical behavioral trait that this blocks the entire agent turn, and that a timeout yields partial progress rather than an empty result. It does not cover what happens with invalid/unknown ids or concurrent blocking calls, so it falls short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the core action, followed by the cost warning and the alternative. No redundant restatement of the name or schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must hint at returns; it explains the timeout case but not the shape of a successful return (e.g., results per agent). The blocking-cost warning compensates for much of the rest, making this nearly complete for a 3-parameter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so ids, mode, and timeoutSec (with defaults and max) are already fully documented, establishing the baseline of 3. The description's note about timeout returning progress adds behavioral context for timeoutSec but no new parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (block/wait) and resource (named agents) with an explicit completion condition. An agent can distinguish this from spawn, steer, stop, and inspect without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when NOT to use it ('prefer the background-task bridge from spawn') and narrows the acceptable condition to 'only when there is genuinely nothing else to do.' It names the alternative tool and the selecting condition, which is exactly what usage guidance should do.

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.

  1. 7 tool updatesv0.1.0
    • First observedfollow_up
    • First observedinspect
    • First observedlist
    • First observedspawn
    • First observedsteer
    • First observedstop
    • First observedwait

TDQS

A4.1/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a clearly distinct action in the agent lifecycle. spawn creates, follow_up resumes finished agents, steer injects into live runs, stop cancels, list/inspect/wait provide distinct status, detail, and blocking behaviors. Descriptions explicitly disambiguate edge cases.

Naming Consistency5/5

All tool names are lowercase snake_case and follow a consistent imperative verb style (spawn, follow_up, steer, stop, list, inspect, wait). The single multi-word name follow_up adheres to the same convention.

Tool Count5/5

Seven tools precisely cover the core agent orchestration lifecycle without bloat. Each tool has a clear purpose and there are no redundant or missing operations for the stated scope.

Completeness4/5

The set covers spawn, monitor, interact, and stop comprehensively. Minor gap: there is no direct tool to retrieve an agent's final result or transcript as a first-class output—inspect provides a digest and directs users to shell tools, which is a small workaround.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers