Content
# Agent Assemble (AA)
**Configurable, hierarchical multi-agent orchestration over MCP.**
You decide the org chart. Point a *front* agent at AA; it delegates coding tasks down a
hierarchy **you** define in one config file. The front doesn't have to be Claude and the
workers don't have to be Antigravity/Codex — wire any vendor into any position.
## Why
Most "PM agent → coder agent" setups hardcode who's boss. AA makes the hierarchy **data**:
one JSONC file describes the nodes and edges, and AA routes delegations accordingly —
including **nested** hierarchies (a worker that is itself a PM to deeper workers).
## The hierarchy is yours
```jsonc
{
"entry": "pm",
"agents": {
"pm": { "vendor": "claude", "role": "orchestrator", "delegates_to": ["coder", "designer"] },
"coder": { "vendor": "codex", "model": "gpt-5.5", "role": "both", "delegates_to": ["designer"] },
"designer": { "vendor": "antigravity", "model": "Gemini 3.1 Pro (High)", "role": "worker" }
}
}
```
This encodes `Claude → {Codex, Antigravity}` and `Codex → Antigravity`. Reshape freely.
## Quickstart
1. `cp config/aa.config.example.jsonc aa.config.jsonc` and edit your hierarchy.
2. Register AA as an MCP server for your front agent (e.g. Claude Code):
```
claude mcp add aa -- node /path/to/AA/aa-mcp.mjs
```
3. Ask the front agent to call `aa_hierarchy` (see the graph), then `aa_delegate` (hand a task down).
Requires Node ≥ 20 and [`oma`](https://github.com/) for dispatch (MVP). **Zero npm dependencies.**
## MCP tools
| tool | purpose |
|---|---|
| `aa_hierarchy` | inspect the configured graph (nodes + edges) |
| `aa_agents` | list agents (vendor / model / role) |
| `aa_delegate` | delegate a task to an agent — runs in an isolated git worktree, returns a diff |
| `aa_quota` | best-effort quota / health per vendor |
## Status
v0.1 MVP — see [`DESIGN.md`](DESIGN.md). Dispatch goes through `oma agent:spawn`; per-vendor
direct adapters (e.g. `agy`) are an extension point in [`adapters/`](adapters/).
## License
MIT