CLI-first orchestration for AI coding agents: run selected agents and models in parallel, compare raw answers, and coordinate review or implementation workflows.
MCO
Orchestrate AI coding agents. Compare perspectives. Act with confidence.
English ยท ็ฎไฝไธญๆ
MCO is a lightweight, CLI-first orchestration layer for AI coding agents. Give one task to the agents and models you choose, run them in parallel, and compare their raw answers before you act.
Use MCO for code review, implementation, architecture analysis, CI checks, and any workflow where one model's blind spots matter.
It works from a terminal or from another coding agent such as Claude Code, Codex, Cursor, Copilot, Pi, or OpenClaw.
MCO is actively maintained. For a browser workbench with persistent agent identity and a shared task graph, see Hive.
Quick start
Install the CLI and its bundled mco-cli Skill:
npx @tt-a1i/mco@latest install
Check the agents available on your machine:
mco doctor --json
Run a read-only multi-agent review:
mco review \
--repo . \
--prompt "Review this repository for high-risk bugs." \
--providers claude,codex,pi
Run a coding task with workspace write access:
mco run \
--repo . \
--prompt "Implement the requested change and run the relevant tests." \
--providers codex,pi \
--execution-mode write
MCO never infers a provider/model team from detected binaries. If neither --providers nor --agent is supplied, a top-level providers config entry is used as the saved default; without one, the team must be selected explicitly. A calling agent should still show and confirm the resolved provider/model team with the user before dispatch.
Why MCO
One agent gives you one perspective. MCO turns selected agents into a review or execution team:
- Choose โ explicitly select the agents for the task.
- Dispatch โ run them in parallel, chain their work, or divide the scope.
- Compare โ retain each invocation's complete raw answer and operational status.
- Decide โ inspect evidence, disagreements, and failures before acting.
For explicit review coordination, --perspectives-json adds a Provider-specific prompt focus. --divide files excludes ignored/local/build directories and round-robins the remaining sorted repository files without overlap, while --divide dimensions rotates review lenses in declaration order without changing target paths. These choices are visible in dry-run and arrange only the prompt or scope; the returned invocation answers remain raw.
Built-in providers
| Provider | CLI | Provider ID | |----------|-----|-------------| | Claude Code | claude | claude | | Codex CLI | codex | codex | | Gemini CLI | gemini | gemini | | OpenCode | opencode | opencode | | Qwen Code | qwen | qwen | | GitHub Copilot CLI | copilot | copilot | | Hermes | hermes | hermes | | Pi | pi | pi | | Grok Build | grok | grok | | Cursor CLI | cursor / agent | cursor |
Each provider CLI remains responsible for its own installation, authentication, model access, and native sandbox behavior.
Common workflows
| Goal | Command | |------|---------| | General multi-agent task | mco run --providers claude,codex --prompt "..." | | Thin raw-answer code review | mco review --providers claude,codex --prompt "..." | | Compare multiple models | mco run --agent fast=pi:model-a --agent careful=pi:model-b --prompt "..." | | Preview without execution | mco review --providers claude,pi --dry-run --json | | Live terminal progress | mco review --providers claude,codex --stream live | | Machine-readable events | mco review --providers claude,codex --stream jsonl | | File-backed chain | mco run --agent first=pi:model-a --agent next=pi:model-b --chain --result-mode artifact | | Debate and synthesis | mco review --providers claude,codex --debate --synthesize --result-mode both | | Discover provider models | mco agent models --providers codex,pi --json |
Pin models for one run without changing provider CLI defaults:
mco review \
--providers codex,pi \
--provider-models-json '{"codex":"gpt-5.4","pi":{"provider":"seal","model":"deepseek-v4-pro"}}' \
--prompt "Review this repository for bugs."
Permissions and safety
MCO translates one execution profile into each provider's native flags:
| Mode | Intended use | Default | |------|--------------|---------| | read_only | Inspect and review without workspace mutation | mco review | | write | Create and edit workspace files | mco run | | yolo | Use the provider's broadest bypass profile | Explicit opt-in only |
Important boundaries:
--allow-pathsvalidates MCO's requested scope; it is not an operating-system sandbox.- Provider sandbox strength depends on the underlying CLI.
- Hermes oneshot bypasses approvals and therefore requires explicit
--execution-mode yolo. - ACP terminal access is a trusted-agent capability. Use isolation for untrusted agents or prompts.
- MCO does not create or manage worktrees. If the user selects parallel writers, partition ownership with non-overlapping
--target-pathsand warn about edit conflicts.
Use MCO from another agent
MCO's CLI is self-describing. A calling agent can read mco -h, resolve saved defaults, confirm the provider/model team with the user, preview the policy, and then execute.
โUse MCO to run a security review with Claude and Codex, and an architecture review with Pi.โ
The installer and runtime use two different selections:
- Installer
--agentchooses which calling agents receive the MCO Skill. - Runtime
--providers, savedprovidersconfig, or runtime--agentdeclarations choose the task invocations.
npx @tt-a1i/mco@latest install --agent codex --agent claude-code --yes
mco doctor --skill-health --json
How it works
You or a calling agent
โ
โผ
mco run / review
โ
โโโ Claude โโโ
โโโ Codex โ
โโโ Gemini โโโโบ raw answers / file-backed stages โโโบ output
โโโ Pi โ
โโโ ... โโโโ
โ
text ยท JSON ยท JSONL ยท Markdown artifacts
Provider processes are isolated behind a shared adapter contract: detect, run, poll, cancel, and transport decode. One invocation failure does not discard successful provider answers.
Documentation
| Topic | Guide | |-------|-------| | Installation, first run, and common workflows | Workflow guide | | Providers, models, and permission mappings | Provider reference | | CLI flags, outputs, artifacts, and exit codes | CLI reference | | Config files and custom agents | Configuration reference | | Machine-readable error contract | Error contract | | Invocation and artifact contract | Invocation contract | | Provider permission contract | Permission contract | | Release process | RELEASING.md | | Release history | CHANGELOG.md |
Run mco <command> --help for the authoritative option list installed with your version.
Development
git clone https://github.com/mco-org/mco.git
cd mco
python3 -m pip install -e .
python3 -m unittest discover -s tests -p 'test_*.py'
npm test
License
MIT โ see LICENSE.