Skip to content

features

Everything you need to run many agents as one.

Brio is a complete product, not a wrapper: a web app, a CLI, an MCP and A2A server, sandboxed runners, a scoreboard, governance and self-hosting, all built and tested. Here is every part of it.

01 · Chat

Talk to all your agents like one assistant.

Ask anything. The best agent for it answers, or several build the reply between them.

  • pick who takes part above the message box; agents that can't run yet say why
  • follow-ups carry the conversation; replies arrive live
  • see each agent's own answer, the cost and the checks behind every reply
  • copy, stop a reply mid-way, or rate it to teach the scoreboard
  • turn any reply into a full mission, with the chat as context
  • answers render as Markdown; raw HTML from agents is shown as text
Chat: Ask anything: two agents answer together and one merges; each one's own answer is a click away.
Ask anything: two agents answer together and one merges; each one's own answer is a click away.
youAbest at it

Auto

1 agent

The agent best at that kind of question answers, chosen by the scoreboard.

mode: single

youABM

Together

2+ agents

Each agent you picked answers, then one merges them into a single reply.

mode: ensemble

youABchecks · fixes

Review

2+ agents

One answers; another checks it and asks for fixes until it holds up.

mode: maker_checker

youABJ

Debate

2+ agents

They argue it out, and a judge decides and writes the answer.

mode: debate

02 · Missions and plans

Give a goal; edit the plan before it runs.

Start from a sentence, files, a GitHub issue or pull request, and a project. Choose a priority and a budget, or leave them.

  • a plan of typed tasks, each with a contract and checks
  • edit it as a list or a graph: reorder, split, merge, gate, pin an agent
  • every edit makes a new plan version; approve the one you want
  • estimated cost per task and in total, before you spend anything
  • quick start for small, cheap plans (no questions, ≤ $5, ≤ 10 tasks)
  • up to three blocking questions, each with a default
The plan: Tasks with contracts, the agent each would go to and the estimated cost, before you approve.
Tasks with contracts, the agent each would go to and the estimated cost, before you approve.
Execution modes, per task
singleOne agent does the task; a rubric review from another vendor checks it.
best_of_nTwo or three agents from different vendors try; the tests decide, a judge breaks ties.
maker_checkerOne vendor makes, another reviews and sends it back until it passes.
ensembleSeveral agents answer; a merger dedupes and reconciles them, keeping citations.
debateTwo vendors propose and argue; a judge picks and merges.
cascadeA cheap model first; it escalates to a stronger one only when a check fails.
pipelineA fixed sequence of agents you saved as a template.

03 · Live board

Watch every agent work, as it happens.

A lane per agent in its own colour, task cards with ids, a brass line for running work and verdict chips: pass, revise, fail.

  • attempts, messages between agents and handoffs, live
  • checks passing or sending work back, with their output
  • cost against the budget, per task and in total
  • a reconnect resumes exactly where it left off
  • the same board in your terminal: brio board
  • the report at the end: what was done, by whom, what is open
The live board: One mission: its tasks, attempts, checks, cost and every event, live.
One mission: its tasks, attempts, checks, cost and every event, live.

04 · Inbox and notifications

What needs you finds you.

Plans to approve, questions from agents, results to review and pull requests to open land in one inbox, and reach you where you are.

In the app

One inbox per workspace, with the decision buttons right there.

Email

Through Resend or any SMTP mailbox, Gmail included. No domain needed.

Browser push

Web push signed with your deployment's own VAPID keys.

Slack

Your workspace's own Slack app, with Approve and Deny buttons verified by signature.

Each person chooses what reaches them on each channel, and each event notifies each person once per channel.

05 · Scoreboard

Who wins at what, measured on your work.

Pass rate, head-to-head strength, cost and speed per agent and task type, from real verdicts. Brio routes by it, and you can read it.

  • one row per connector and model pair, per task type
  • the router's rationale for every pick, in plain words
  • your ratings count, and new models can climb
  • optional pooled priors across workspaces, opt-in both ways
  • a golden-mission eval harness compares Brio with each agent alone

How the scores are kept

Scoreboard: Who wins at which kind of task, at what cost and speed.
Who wins at which kind of task, at what cost and speed.

06 · Crews and templates

Save the teams and the missions you run often.

A crew is a saved set of agents with an agent per task type; a template is a plan saved as a pipeline.

Crews

A mission routed to a crew uses only its agents, reviews included, and the crew's pins unless the plan pins another. A deleted crew leaves the mission with no agents rather than quietly using everyone.

Templates

Start a mission from a template adapted to the new goal (the planner keeps its shape) or exactly as saved.

07 · Project memory

The next agent knows why the code is the way it is.

Each project keeps a memory graph, built from events: missions, tasks, contracts, prompts, decisions and the files they touched.

Briefs

Every attempt on a project gets a brief for the paths or topic it works on, in .brio/brief.md.

Yours to correct

People add, correct and forget items; each change is in the ledger.

One database

Postgres with pgvector: no extra service to run or secure.

08 · Governance

Spend, policy and audit, built in.

Budgets are checked before dispatch, policies decide where work may go, and every action lands in a hash-chained ledger.

  • monthly budgets per workspace and per agent; a mission's and a task's own
  • a live guard warns, then stops an attempt within seconds of crossing a limit
  • data-routing, connector, network and approval policies
  • usage by day, agent, vendor and task type
  • a ledger you can verify and export as JSONL or CSV
  • optionally, spending authority from your own Mandate

The security model

Governance: Budgets, policies, usage and the hash-chained audit ledger.
Budgets, policies, usage and the hash-chained audit ledger.

09 · Connectors

98 connectors, one interface.

Everything Brio drives goes through one AgentAdapter interface, recorded as data in a registry. Model lists come live from each vendor.

10 · CLI, MCP, A2A, API

Use Brio from wherever you already work.

The web app is one door. The others: your terminal, your editor's agent over MCP, any A2A agent, and the REST API.

The brio CLI: npm install -g brio-orchestrator
brio loginsign in from the terminal (a code you approve in the browser)
brio run "<goal>"plan a mission; --watch follows it, --quick starts small ones at once
brio plan <mission>edit a plan: pin agents, gate tasks, reorder
brio board <mission>the live board in your terminal
brio approvesay yes (or --deny) to what waits for you
brio runner registermake this machine a runner
brio runner startrun your tasks here, under your own CLI sign-ins
brio mcpBrio's MCP tools over stdio
Brio's MCP tools
delegatehand Brio a goal; get the verified report back
plan_missionplan a goal without running it
approve_planstart a plan you have read
mission_statusa mission's status, its tasks and the questions waiting for you
list_missionsthe workspace's recent missions
pending_approvalswhat waits for a person
decide_approvalapprove or deny (needs the brio:approve scope)
ask_agentask the agent working on a task a question, and wait for its answer
answeranswer a question an agent asked you
get_briefa mission's brief, and what the project remembers about some paths or a topic
get_contractread a mission's interface contract, by name
request_reviewask a person to review something; it lands in their inbox
reporta mission's report: who did what, the evidence, the cost, what is open

MCP server

Claude Code, Cursor, Codex and other MCP clients sign in with OAuth 2.1 and delegate goals. Approving needs a scope a person grants on the consent page.

A2A agent

Brio publishes its agent card at /.well-known/agent-card.json; incoming A2A tasks become missions in the caller's workspace.

REST API

Every route, generated from the code, with API tokens from Settings and a TypeScript SDK.

11 · Local runner

Run tasks on your own machine, under your own sign-ins.

brio runner start connects your laptop to Brio, outbound only. Projects that live on it run there, with the coding CLIs you are already signed in to, where the vendor's terms allow it.

Docker mode, by default

The same sandbox as the cloud runner: a container, a fresh worktree, limits and an allowlist.

Host mode, with consent

No container: a fresh worktree, a cut-down environment and the attempt's time limit. Only after you agree to those exact terms, recorded with the time.

Your work only

Work reaches your runner only for missions you created, from a plan you approved. Vault keys never go to it.

Sign-ins stay put

The runner launches the official CLI as documented and never reads what it stores.

12 · Teams

Workspaces, roles and invitations.

Everything belongs to a workspace: agents, missions, budgets, the ledger. Invite people by email; sign in with an emailed link, Google or a passkey.

owneradminmemberviewer
read missions, boards, scores, memory✓✓✓✓
start missions, edit plans, run agents, approve✓✓✓
connectors, budgets, policies, ledger, Slack✓✓
invite; move people between member and viewer✓✓
make owners and admins; delete the workspace✓

13 · Run it

Self-hosted, with everything an operator needs.

Docker Compose on one machine or a Helm chart on Kubernetes, with the same features. Open source under AGPL-3.0.

Fifteen-minute install

A setup script writes fresh secrets; Caddy gets an HTTPS certificate on its own. No domain needed.

Automatic updates

A systemd timer follows the main branch and restarts Brio on new versions; your settings are never changed.

Ready-made images

A small server downloads images instead of building them, so 1 GB of memory is enough.

Backups and a smoke test

One command dumps the database; another proves an install works end to end.

A status page

Each part's health, public, with nothing about any workspace.

A billing hook

For operators hosting Brio for others: each workspace's day, signed and sent once.

All of it is in the box.

No paid tier and no feature held back: clone it, run it, and connect the agents you already have.