@heretyc/subagent-mcp
MCP server that launches Claude Code/Codex sub-agents and routes tasks to Claude Messages or OpenAI-compatible API providers.
Versions
3.2.0latest3.2.0-beta.13.1.123.1.12-beta.13.1.11+ show 68 moreshow less
3.1.11-beta.03.1.103.1.10-beta.03.1.93.1.83.1.8-beta.03.1.73.1.63.1.6-beta.13.1.53.1.5-beta.13.1.43.1.33.1.3-beta.13.1.23.1.13.1.03.0.33.0.23.0.13.0.02.15.02.14.02.13.02.12.212.12.202.12.192.12.182.12.172.12.162.12.152.12.142.12.132.12.122.12.112.12.102.12.92.12.82.12.72.12.52.12.5-beta.22.12.5-beta.12.12.5-beta.02.12.42.12.32.12.22.12.12.10.42.10.32.10.22.10.12.10.02.9.22.9.02.8.92.8.82.8.72.8.62.8.52.8.32.8.22.8.12.8.02.7.12.7.02.6.22.6.12.6.0Tools 16
launch_agent Spawn a sub-agent session. CONTRACT: `prompt` states objective + output format + tools/sources + boundaries; the server auto-upserts \
get_status Return live in-memory MCP session state. `session_start_time` is the MCP server process boot time because smcp-activate runs as a separate hook process and cannot update this server
poll_agent Get an agent
kill_agent Terminate a live agent/session (status `processing`, `stalled`, or turn-finished but still interactive) by immediately force-killing its managed driver. A finished agent is force-killed automatically after 6 minutes of no `send_message`/`poll_agent` activity; call `kill_agent` sooner to free resources immediately. No-op for already-terminal closed agents.
respond_permission Answer a parked permission request for an agent. One-time only; does not create session-wide approvals. If request_id is omitted, answers the agent
send_message Enqueue a user message for an open interactive agent session. Observe output with poll_agent or wait.
list_agents List all agents with token-efficient core metrics (status, `alive`, `idle_seconds`). `stalled` is ALIVE-but-quiet, NOT dead (full status semantics on poll_agent). Use `poll_agent` for per-agent stream items, hints, and final output.
wait Blocks until one or more sub-agents reach a reportable state (turn-finished, errored, stopped, or zombie_killed), returning exit code when known + local-time timestamp; or returns the live-job list after a 15-minute timeout. This is how you learn an agent finished — do NOT poll-loop. A `finished` agent with null exit_code is still alive and accepts `send_message`; `send_message`/`poll_agent` activity keeps it alive, and 6 minutes idle auto-kills it. A `stalled` agent is still ALIVE and does NOT end the wait. `verbose: true` adds each finished agent
__test_park_yolo_wait_permission Test-only yolo wait pending-permission fixture.
orchestration-mode Toggle or query per-project ORCHESTRATION MODE. `enabled`: true = ON, false = OFF for THIS session only, omit = query. SOLE CHANNEL holds in BOTH states: subagent-mcp is the only sanctioned way to launch sub-agents; toggling OFF does not lift that. WHAT: when ON act as a delegate-ONLY orchestrator; delegate every step, inline-by-right does not exist, a non-delegable atomic step needs a one-time user-approved exception via the structured-question tool. Default is OFF each session; setup writes no orchestration state. enabled:true explicitly turns ON or re-enables mid-session; enabled:false is a session-keyed 2h-TTL opt-out, HONORED even after the 15% latch or metering fail-safe forces ON. PERSISTENCE: a permitted disable applies only to THIS keyed session; after the 2h backstop the current session may latch/fail-safe ON, while each new keyed session returns to default OFF. Keyless or undetectable metering remains fail-safe ON; a hookless host may use only the one-time non-persisted conversational opt-out. DISABLE: never on your own initiative; you may PROPOSE OFF on task-fit mismatch, but only EXPLICIT user permission may set enabled:false. Per-turn injection fires only in CLI hosts that load the bundled hook; desktop hosts toggle the marker but inject nothing.
model-selection-mode Set or query per-project MODEL SELECTION MODE, which gates launch_agent
handoff-write Write a handoff for this working directory so the NEXT session can resume cleanly. UNLOCKS only at >=20% context utilization with readable metering (voluntary from 20%; a fresh write becomes MANDATORY at >=80%); below 20%, or if context size is undetectable, this tool returns an affirmative unavailable error (never silent). BEFORE calling, ask the user 10 clarifying questions via the structured-question tool to build a /goal prompt for the next session. content <=4000 chars; use overflow (<=8000 more chars) for anything beyond that, referenced by full path inside content. A successful fresh write creates a prepared handoff record; it does NOT mandate an immediate new session -- keep working. On success, relay the tool
handoff-read Read the saved handoff for this working directory (if any). Call this first; after reading any saved handoff, confirm the user
handoff-clear Delete the saved handoff for this working directory, including any overflow file. The voluntary write/read/clear cycle reopens at each successor session
configure List, read, or update subagent-mcp configuration by canonical key. `action=list` enumerates settings; `action=get` requires `key`; `action=set` requires `key` and, for settable keys, string `value`. Secrets are always redacted. Machine-global and mode-owned settings are read-only here: edit the reported global file as a human or use `orchestration-mode`/`model-selection-mode`. Provider and .env writes are validated, backed up, and atomic; responses report `restart_required`.
subagent-mcp Launches local Claude and Codex sub-agent sessions and can route configured tasks to direct Claude Messages or OpenAI-compatible API providers.
Permissions 4
network medium filesystem low shell high env_vars low