Agents, ACP, and MCP
bro command reference for agents, acp, and mcp.
See Init and config for shared conventions and environment variables.
agents inspects ACP adapters, acp serve exposes one adapter over protocol-pure stdio, and mcp check verifies the upstream MCP servers declared in bitrouter.yaml. These are distinct directions: ACP connects a client to an agent; MCP connects BitRouter to upstream tools.
bro agents
Inspect ACP agent adapters, advertised capabilities, and configuration stubs
Usage: bro agents <COMMAND>
bro agents list
Show the bundled catalog of well-known agents and which of them are present under agents: in the loaded config. With --remote, also fetch and list the official ACP agent registry
Usage: bro agents list [OPTIONS]
| Flag | Description |
|---|---|
--remote | Also fetch the ACP agent registry (cdn.agentclientprotocol.com) and list its agents |
-c, --config <CONFIG> | Path to bitrouter.yaml. When omitted, the binary resolves in this order: ./bitrouter.yaml → $BITROUTER_HOME/bitrouter.yaml → ~/.bitrouter/bitrouter.yaml → zero-config in-memory defaults (bro init is the explicit way to scaffold a file) |
--socket <SOCKET> | Explicit local control socket for the daemon's accepted catalog |
bro agents inspect
Inspect commands advertised by a fresh ACP session
Usage: bro agents inspect [OPTIONS] <AGENT>
| Argument | Description |
|---|---|
<AGENT> | ACP agent id or friendly alias |
| Flag | Description |
|---|---|
--direct | Do NOT route this session's LLM traffic through the daemon — let the harness use its own provider auth. Routing is attempted by default when the harness supports headless redirection |
--base-url <BASE_URL> | Override the gateway base URL (else derived from server.listen) |
--model <MODEL> | Pin the harness's model (via its model env var / -c model=) |
--no-start | Never auto-start a local daemon when none is running — fail fast |
--wait-ms <MS> | How long to wait for the advertised command list [default: 2000] |
--source <SOURCE> | Show only commands answered by one source Possible values: |
- bitrouter: BitRouter's own commands | |
- config: | Prompt-expansion commands from the config |
- agent: | Commands the agent advertises |
-c, --config <CONFIG> | Path to bitrouter.yaml |
bro agents check
Spawn one agent, or every configured agent, and verify initialization
Usage: bro agents check [OPTIONS] [AGENT]
| Argument | Description |
|---|---|
[AGENT] | ACP agent id or friendly alias; omit to check configured agents |
| Flag | Description |
|---|---|
--direct | Do NOT route this session's LLM traffic through the daemon — let the harness use its own provider auth. Routing is attempted by default when the harness supports headless redirection |
--base-url <BASE_URL> | Override the gateway base URL (else derived from server.listen) |
--model <MODEL> | Pin the harness's model (via its model env var / -c model=) |
--no-start | Never auto-start a local daemon when none is running — fail fast |
-c, --config <CONFIG> | Path to bitrouter.yaml. When omitted, the binary resolves in this order: ./bitrouter.yaml → $BITROUTER_HOME/bitrouter.yaml → ~/.bitrouter/bitrouter.yaml → zero-config in-memory defaults (bro init is the explicit way to scaffold a file) |
bro agents check codex-acpSpawns the adapter, performs ACP initialization, and reports whether the configured route is usable.
bro agents conformance
Run the ACP-compatibility suite against a catalog agent and print the conformance: block to record in its runtime entry.
Needs no provider credentials: the agent is launched with its own routing pointed at an ephemeral loopback gateway that records what reached it. It does spawn the agent, so its package or binary must be installed.
Usage: bro agents conformance <ID>
| Argument | Description |
|---|---|
<ID> | Agent id, either <runtime>/<harness> or a bare harness id (local/ is the default runtime and may be elided) |
bro agents scaffold
Print a YAML stub for an agent (paste under agents: in bitrouter.yaml). Resolves from the bundled catalog first, then the ACP registry (npx/uvx distributions only)
Usage: bro agents scaffold <ID>
| Argument | Description |
|---|---|
<ID> | Agent id (see bro agents list / list --remote) |
bro mcp
Check configured upstream MCP servers
Usage: bro mcp <COMMAND>
bro mcp check
Connect, negotiate MCP capabilities, and list advertised tools
Usage: bro mcp check [OPTIONS] [SERVER]
| Argument | Description |
|---|---|
[SERVER] | Check only this configured server; omit to check all of them |
| Flag | Description |
|---|---|
-c, --config <CONFIG> | Path to bitrouter.yaml |
bro mcp check
bro mcp check docsConnects to one or every configured upstream, negotiates MCP capabilities, and lists the tools each server advertises.
bro acp
ACP client integration over stdio, plus compatibility commands.
serve exposes an ACP-compatible adapter process over protocol-pure stdio.
Usage: bro acp <COMMAND>
bro acp evolution
Control checkpoint feedback and policy-block evolution on the local daemon
Usage: bro acp evolution [OPTIONS] <COMMAND>
| Flag | Description |
|---|---|
-c, --config <CONFIG> |
bro acp evolution status
Inspect modes, blocks, scheduled checkpoints and judge task status
Usage: bro acp evolution status
bro acp evolution mode
Select feedback mode; automatic requires a configured judge model
Usage: bro acp evolution mode [OPTIONS] <MODE>
| Argument | Description |
|---|---|
<MODE> | [possible values: off, manual, automatic] |
| Flag | Description |
|---|---|
--judge-model <JUDGE_MODEL> |
bro acp evolution register
Register a complete policy-block experiment from a JSON definition
Usage: bro acp evolution register <FILE>
| Argument | Description |
|---|---|
<FILE> |
bro acp evolution revise
Start the next experiment for the same block; retain the previous evidence
Usage: bro acp evolution revise --expected-experiment <EXPECTED_EXPERIMENT> <FILE>
| Argument | Description |
|---|---|
<FILE> |
| Flag | Description |
|---|---|
--expected-experiment <EXPECTED_EXPERIMENT> |
bro acp evolution restore
Withdraw the current candidate and return to its supported baseline
Usage: bro acp evolution restore --expected-experiment <EXPECTED_EXPERIMENT> --expected-revision <EXPECTED_REVISION> --reason <REASON> <BLOCK>
| Argument | Description |
|---|---|
<BLOCK> |
| Flag | Description |
|---|---|
--expected-experiment <EXPECTED_EXPERIMENT> | |
--expected-revision <EXPECTED_REVISION> | |
--reason <REASON> |
bro acp evolution learning
Inspect the current evidence and proposed allocation without publishing
Usage: bro acp evolution learning [OPTIONS] <BLOCK>
| Argument | Description |
|---|---|
<BLOCK> |
| Flag | Description |
|---|---|
--experiment <EXPERIMENT> |
bro acp evolution improve
Reconcile current evidence against live routes and publish an eligible change
Usage: bro acp evolution improve [OPTIONS] <BLOCK>
| Argument | Description |
|---|---|
<BLOCK> |
| Flag | Description |
|---|---|
--experiment <EXPERIMENT> |
bro acp checkpoints
Freeze and evaluate already recorded native-session prefixes locally
Usage: bro acp checkpoints [OPTIONS] --agent <AGENT> <SESSION> <COMMAND>
| Argument | Description |
|---|---|
<SESSION> |
| Flag | Description |
|---|---|
--agent <AGENT> | |
-c, --config <CONFIG> |
bro acp checkpoints judge
Judge an existing checkpoint with an explicitly selected configured model
Usage: bro acp checkpoints --agent <AGENT> <SESSION> judge --model <MODEL> <CHECKPOINT>
| Argument | Description |
|---|---|
<CHECKPOINT> |
| Flag | Description |
|---|---|
--model <MODEL> |
bro acp checkpoints judge-job
Inspect a durable judge job, or resume it with its recorded input and model
Usage: bro acp checkpoints --agent <AGENT> <SESSION> judge-job [OPTIONS] <JOB_ID>
| Argument | Description |
|---|---|
<JOB_ID> |
| Flag | Description |
|---|---|
--resume |
bro acp checkpoints rubric
Prepare or submit evidence-grounded rubric scores from recorded content
Usage: bro acp checkpoints --agent <AGENT> <SESSION> rubric <COMMAND>
bro acp checkpoints rubric prepare
Export the fixed rubric library and cited evidence for a frozen checkpoint
Usage: bro acp checkpoints rubric prepare <CHECKPOINT>
| Argument | Description |
|---|---|
<CHECKPOINT> |
bro acp checkpoints rubric submit
Validate and store a structured rubric revision without invoking a model
Usage: bro acp checkpoints rubric submit <FILE>
| Argument | Description |
|---|---|
<FILE> |
bro acp checkpoints create
Freeze exactly the currently observed prefix; rejects a stale watermark
Usage: bro acp checkpoints --agent <AGENT> <SESSION> create --watermark <WATERMARK>
| Flag | Description |
|---|---|
--watermark <WATERMARK> |
bro acp checkpoints list
List immutable prefixes for this native session
Usage: bro acp checkpoints --agent <AGENT> <SESSION> list
bro acp checkpoints show
Read the original content versions referenced by a checkpoint
Usage: bro acp checkpoints --agent <AGENT> <SESSION> show <CHECKPOINT>
| Argument | Description |
|---|---|
<CHECKPOINT> |
bro acp checkpoints resources
Inspect resource snapshots, or refresh them from existing local records
Usage: bro acp checkpoints --agent <AGENT> <SESSION> resources [OPTIONS] <CHECKPOINT>
| Argument | Description |
|---|---|
<CHECKPOINT> |
| Flag | Description |
|---|---|
--refresh |
bro acp checkpoints submit
Import an idempotent assessment revision or explicit retraction from JSON
Usage: bro acp checkpoints --agent <AGENT> <SESSION> submit <FILE>
| Argument | Description |
|---|---|
<FILE> |
bro acp checkpoints history
Read immutable assessment revisions and their selection decisions
Usage: bro acp checkpoints --agent <AGENT> <SESSION> history
bro acp checkpoints effective
Inspect the selected assessment, including unassessed appends
Usage: bro acp checkpoints --agent <AGENT> <SESSION> effective
bro acp checkpoints family
Inspect related native forks with a union of observed request costs
Usage: bro acp checkpoints --agent <AGENT> <SESSION> family
bro acp recordings
Inspect or delete locally recorded ACP conversation content
Usage: bro acp recordings [OPTIONS] <COMMAND>
| Flag | Description |
|---|---|
-c, --config <CONFIG> | Config selecting the local content database |
bro acp recordings list
List recorded native sessions under a configured agent source
Usage: bro acp recordings list --agent <AGENT>
| Flag | Description |
|---|---|
--agent <AGENT> |
bro acp recordings show
Export canonical events, replay audit, gaps, and observed request links
Usage: bro acp recordings show --agent <AGENT> <SESSION>
| Argument | Description |
|---|---|
<SESSION> |
| Flag | Description |
|---|---|
--agent <AGENT> |
bro acp recordings delete
Delete this session's locally captured content
Usage: bro acp recordings delete --agent <AGENT> <SESSION>
| Argument | Description |
|---|---|
<SESSION> |
| Flag | Description |
|---|---|
--agent <AGENT> |
bro acp serve
Expose an ACP-compatible agent adapter over stdio for an ACP client
Usage: bro acp serve <AGENT> [OPTIONS]
| Argument | Description |
|---|---|
[AGENT] | Agent id — a bundled-catalog id (claude-acp, codex-acp, gemini-cli, opencode, pi-acp, hermes-acp, openclaw) or an entry under agents: in the config. A catalog id needs no config entry; bro agents check <agent> previews whether it will route or run direct |
| Flag | Description |
|---|---|
--turn-timeout <SECS> | Per-turn deadline in seconds. On elapse the agent is asked to cancel cooperatively; a turn that still doesn't finish errors |
--direct | Do NOT route this session's LLM traffic through the daemon — let the harness use its own provider auth. Routing is attempted by default when the harness supports headless redirection |
--base-url <BASE_URL> | Override the gateway base URL (else derived from server.listen) |
--model <MODEL> | Pin the harness's model (via its model env var / -c model=) |
--no-start | Never auto-start a local daemon when none is running — fail fast |
-c, --config <CONFIG> | Path to bitrouter.yaml. Resolves via the standard chain when omitted: ./bitrouter.yaml → $BITROUTER_HOME → ~/.bitrouter/bitrouter.yaml → zero-config defaults |
bro acp serve codex-acpExposes the selected adapter over stdio for an ACP client. It preserves the selected harness's session semantics; it does not create a durable BitRouter workflow.
How is this guide?