mcsc · v0.1.0 · 2026-09-25 · sha256 7147256cb05d7550
mcsc v0.1.0A
Immutable. This exact content never changes and is served at /api/v1/blob/7147256cb05d7550.
---
name: mcsc
description: Delegate a task to another installed CLI harness (Antigravity/agy, OpenCode, Codex) from inside an AOS repo. Use this instead of shelling out to that CLI directly whenever one is installed — it wraps the wrapper flags for you and streams live tool-call telemetry to agenttrail, which is why the board updates in real time. Reach for it any time you're about to delegate work to another harness.
category: bdb-core
metadata:
version: "0.1.0"
---
# mcsc — Multi-CLI Subagent Configurator
mcsc (`mcps/mcsc/`) is AOS's own cross-harness delegation engine. It is the
mandatory path for delegating work to another CLI harness inside an
AOS-installed repo — not a Claude-Code-only convenience.
## Why this exists
Three separate, harness-specific delegation paths already exist (the Claude
Code plugins `antigravity:antigravity-delegate`, `opencode:opencode-rescue`,
`codex:codex-rescue` — see AGENTS.md's "Delegating to an external CLI"). Those
are fine for interactive delegation *from a Claude Code session*, but they are
Claude-Code-only, and none of them tell agenttrail's live board what is
happening. mcsc's adapters
(`mcps/mcsc/packages/core/src/adapters/{agy,codex,opencode}.js`) wrap each CLI
once, work from any harness, and call `emitTrail()` around every delegated run
— `SessionStart`/`SessionEnd`, plus live `PreToolUse`/`PostToolUse` where the
underlying CLI supports structured/streaming output — so a delegated run shows
up on the board the moment it starts, without any extra setup.
Skipping mcsc doesn't just lose convenience — it makes the delegated agent
invisible to anyone watching the live map, and to anyone in this repo who asks
"what are the other agents doing right now."
## How to use it
Once installed (`mcsc` in `mcp_config.json`, entry point
`mcps/mcsc/server.js`), it registers up to four MCP tools — one per
installed CLI, only exposed when that CLI is detected as `ready` in the local
inventory, and never offered back to a caller that's already running as that
same CLI (`MCSC_CALLER` env var, avoids self-delegation loops):
- `delegate_agy` — `{ prompt, model? }` → Antigravity / Gemini
- `delegate_opencode` — `{ prompt, model?, variant? }` → OpenCode
- `delegate_codex` — `{ prompt, model? }` → Codex
- `delegate_smart` — `{ task_type, prompt }` → reads `rulebook.yaml` (or the
bundled default) and picks the best CLI for that task type automatically
Call the tool that matches the harness you want, with a complete,
self-contained `prompt` — the adapter underneath handles the CLI's actual
flags, streams tool-call telemetry to agenttrail as it runs, and returns the
final output. `variant` (OpenCode only) maps to `--variant` (reasoning
effort).
## What it is not
- Not a replacement for the Claude Code delegation plugins for a quick,
interactive, single-turn ask inside a Claude Code session — those remain
fine for that case.
- Not itself a review/QA step — verify a delegated result the same way
AGENTS.md already says to: read the actual diff, never trust the returned
status field alone.