The Problem

One AI coding agent gives one perspective. Teams that rely on a single agent inherit its blind spots, and running several agents manually means duplicating prompts, collating outputs, and reconciling conflicting results. MCO solves this by acting as a neutral orchestration layer: one prompt in, parallel execution across multiple agents, one synthesized consensus out.

What This Does

MCO dispatches the same task to Claude Code, Codex CLI, Gemini CLI, OpenCode, and Qwen Code simultaneously, then reviews and merges their outputs. It runs from any IDE or plain shell, making it a provider-agnostic tool rather than another agent to learn.

The core logic lives in runtime/cli.py (entry point, 1,566 lines), runtime/review_engine.py (consensus and review orchestration), and runtime/contracts.py (shared data types). The runtime/adapters/ directory handles per-provider communication, while runtime/bridge/ connects to external tools like evermemos. A substantial tests/ suite (77 files) and docs/ (135 files) cover the adapter contract and design decisions.

How It Is Wired

Execution starts at main in runtime/cli.py:1412, which reaches 311 functions. From there, control flows through run_review (called from 57 places) into the review engine, which coordinates the provider adapters. The system touches the outside world through three main paths: spawning provider subprocesses (subprocess.Popen from runtime/acp/adapter.py), reading/writing files for configuration and state, and one outbound network call.

The most-connected modules are runtime/cli.py and runtime/contracts.py, each imported by 25 other modules. runtime/cli.py is also in a circular import cycle with runtime/session/client.py and runtime/session/manager.py, which makes changes to those files higher-risk than their line counts suggest. runtime/review_engine.py is the functional hub: 63 functions, called from 15 files, and it performs secret generation and file I/O.

The runtime/bridge/evermemos_client.py handles memory persistence via MCP, runtime/formatters.py renders output for different channels, and runtime/config.py manages YAML-based configuration with fallback parsing for edge cases.

How To Use It

Setup: The repo has both pyproject.toml (Python) and package.json (npm). Install with either pip install . or npm install, depending on your preferred toolchain.

Configuration: No environment variables are documented in the repo. Provider credentials are handled by the individual CLIs (e.g., claude, codex), which MCO shells out to.

Running it:

# From the repo root
python runtime/cli.py "your prompt here"
# Or via the npm/bin wrapper
./bin/mco.js "your prompt here"

The README shows mco -h for help and mco "prompt" for execution.

Real-World Use

A team running a security review on a codebase can invoke MCO with a single command:

mco "Review this repo for OWASP Top 10 vulnerabilities, focusing on injection and auth flaws"

MCO dispatches the prompt to Claude, Codex, and Gemini in parallel, collects their findings, runs them through the review engine for consensus, and outputs a merged report. The team gets three perspectives without managing three sessions.

Code Health & Issues

Static analysis (not opinion) found 60 issues: 15 high, 44 medium, 1 low.

  • High - runtime/cli.py and runtime/review_engine.py are oversized (1,566 and 1,000+ lines), making them hard to modify safely.
  • High - Circular import cycle involving runtime/cli.py, runtime/session/client.py, and runtime/session/manager.py.
  • High - Duplicated code: 109 repeated 6-line blocks across 42 files, concentrated in runtime/acp/adapter.py and runtime/adapters/shim.py.
  • High - GitHub Actions pinned to mutable tags (pypa/gh-action-pypi-publish@release/v1) instead of commit SHAs, a known supply-chain risk.
  • Medium - 11 instances of broad exception handling that swallow errors; 5 files open without context managers.
  • Medium - No lockfile for package.json, so builds are not reproducible.
  • Medium - GITHUB_TOKEN permissions not declared in 2 workflows; no Dependabot configured.

The Bottom Line

MCO is a well-documented, tested orchestration tool for teams already using multiple AI coding agents. The architecture is sound but the core files carry too much responsibility, and the CI pipeline needs supply-chain hardening before production use. Worth adopting if you want multi-agent consensus without building the plumbing yourself.