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.
Install the CLI and its bundled mco-cli Skill:
npx @tt-a1i/mco@latest installCheck the agents available on your machine:
mco doctor --jsonRun a read-only multi-agent review:
mco review \
--repo . \
--prompt "Review this repository for high-risk bugs." \
--providers claude,codex,piRun 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 writeMCO never silently chooses a provider/model team. If neither --providers nor --agent is supplied, ask the user which agents and models to use.
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.
MCO keeps answer text opaque. It does not turn natural-language output into findings, severity, confidence, consensus, or an automatic decision.
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.
| 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.
| 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."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.
See Provider and permission reference for the complete mapping.
MCO's CLI is self-describing. A calling agent can read mco -h, ask which providers the user wants, 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
--providerschooses which agents execute the current task.
npx @tt-a1i/mco@latest install --agent codex --agent claude-code --yes
mco doctor --skill-health --jsonYou 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.
| 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.
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 testMIT — see LICENSE.