CLI-first orchestration for AI coding agents: run selected agents and models in parallel, compare raw answers, and coordinate review or implementation workflows.
515
stars
135
commits
Python
primary language
Aug 14, 2026
updated
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 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.
One agent gives you one perspective. MCO turns selected agents into a review or execution team:
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-paths validates MCO's requested scope; it is not an operating-system sandbox.--execution-mode yolo.--target-paths and 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, 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:
--agent chooses which calling agents receive the MCO Skill.--providers, saved providers config, or runtime --agent declarations choose the task invocations.npx @tt-a1i/mco@latest install --agent codex --agent claude-code --yes
mco doctor --skill-health --json
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.
| 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 test
MIT — see LICENSE.
Python
92.8%
JavaScript
4.2%
Shell
3.0%
CLI-first orchestration for AI coding agents: run selected agents and models in parallel, compare raw answers, and coordinate review or implementation workflows.
515
stars
135
commits
Python
primary language
Aug 14, 2026
updated
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 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.
One agent gives you one perspective. MCO turns selected agents into a review or execution team:
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-paths validates MCO's requested scope; it is not an operating-system sandbox.--execution-mode yolo.--target-paths and 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, 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:
--agent chooses which calling agents receive the MCO Skill.--providers, saved providers config, or runtime --agent declarations choose the task invocations.npx @tt-a1i/mco@latest install --agent codex --agent claude-code --yes
mco doctor --skill-health --json
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.
| 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 test
MIT — see LICENSE.
Python
92.8%
JavaScript
4.2%
Shell
3.0%