cmux MCP: expose first-class agent dispatch tools

Merged
TE
14d ago
+724-0

The cmux MCP server now exposes agent_dispatch, agent_steer, agent_briefs_list, and agent_report. Each tool routes through acpmux's structured dispatch RPC and carries brief ids, target host/session, stop condition, status, and sender metadata. Calls accept arbitrary registered harness names, including Qwen, OpenCode, and Pi, and never require scp, ssh, a remote path, or shell parsing.

Changelog

Added: harness-agnostic agent dispatch, steer, brief-list, and report MCP tools.

Validation

  • pr-overlap before edits: no overlap.
  • Rustfmt on changed files, git diff --check, and scripts/cmux-next/prepush-gate.py pass.
  • Focused MCP tests include a Qwen dispatch fixture and steer/list/report routing.
  • Full cargo checks are routed to the fleet; none ran on overloaded huge-blue.

Load and per-host capacity remain warn-only in the tool descriptions and acpmux contract; no launch is refused for load.

agent-identity footer


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

The MCP server now exposes agent_dispatch, agent_steer, agent_briefs_list, and agent_report, making agent dispatch available without shell-based handoffs.

  • Dispatch supports registered harnesses, target and host selection, stop conditions, and idempotency keys; harness and model are combined into the launcher selector.
  • Steer and report use persisted brief IDs; brief listing supports status and limit filters.
  • Fleet placement rules still apply, but load and per-host capacity remain warnings and do not block launches.
  • Where no acpmux daemon is reachable the tools fail as unavailable; timed-out mutations are marked in progress and retryable with the same idempotency key.