Xanadu
dispatcher · live · MIT, publishing 2026

An MCP server that turnsClaude Code into a controlled fleet.

MCP server for sub-agents. Cost caps, audit ledger, BYOT keys. Drops into Claude Code, Cursor, Cline.

v0.4 · python 3.11+xanadu.run/mcpMIT (source publishing 2026)
what it does

Four properties.

Budget caps, audit ledger, BYOT keys, provenance trailers. Each one solves a problem you have today with sub-agents.

  1. 01
    Hard budget caps before spawn.

    Every agent has a monthly cap. Every tenant has a monthly cap. The dispatcher refuses runs that would exceed either before the sub-agent spawns. Concurrent dispatches share an exclusive lock so two runs cannot jointly overshoot.

  2. 02
    Append-only ledger.

    One row per dispatch: agent, model, duration, raw cost, markup, billed cost, status, dispatch_id. xanadu billing audit catches drift before xanadu billing push reaches Stripe. The ledger is yours.

  3. 03
    Bring your own provider keys.

    X-Anthropic-Key, X-OpenRouter-Key, X-GitHub-Token forwarded per-request, gated by the agent's allowlist, never persisted to disk or logs. We collect the routing fee. Your provider quota stays yours.

  4. 04
    Provenance trailers in commits.

    Each dispatch stamps the system prompt with a dispatch_id the sub-agent threads into commit messages. From any commit you trace back to a ledger row, a cost, and the exact agent that ran.

quickstart

One JSON blob in your orchestrator’s .mcp.json.

Email hello@xanadu.run with your team name and we mint a tenant_id (10 seconds, no card for the public beta). Paste the snippet, restart your orchestrator, ask in plain language.

{
  "mcpServers": {
    "xanadu": {
      "type": "http",
      "url": "https://xanadu.run/mcp",
      "headers": {
        "X-Xanadu-Tenant-Id": "your_tenant_id",
        "X-Anthropic-Key":    "sk-ant-...",
        "X-GitHub-Token":     "ghp_..."
      }
    }
  }
}

The orchestrator now sees three tools: dispatch_agent, list_agents, ledger_summary. From inside Claude Code, say “use the code-reviewer agent via xanadu to review the recent diff.”

agents shipping now

Six agents. One catalog.

Each agent is a markdown file with YAML frontmatter, a monthly budget cap, an env-var allowlist, and a timeout. Copy them, fork them, or write your own.

claude
ticket-implementer

Implement a Linear ticket, GitHub issue, or plain spec. Multi-file change, runs project tests, opens a PR. 60-min timeout, $5 cap.

anthropic/claude-opus-4.7
claude
code-reviewer

Focused review of a diff or file, priority-ordered, with a verdict.

anthropic/claude-sonnet-4.6
claude
refactorer

Behavior-preserving refactor for readability or perf; smallest viable change.

anthropic/claude-sonnet-4.6
claude
test-writer

Tests that match the project’s own conventions.

anthropic/claude-sonnet-4.6
claude
git-committer

Drafts a clean commit message from a staged diff.

anthropic/claude-haiku-4.5
opencode
kimi-reviewer

Same review duty via OpenRouter to Kimi K2.6. Self-host only until upstream fixes #61.

openrouter/moonshotai/kimi-k2.6
how it fits in the stack

Adopt the Dispatcher today. Add sovereign compute when privacy demands it.

Today: the Dispatcher routes any AI task through the providers you already use. Next: the Confidential Cloud runs the actual inference inside a Swiss TEE. Later: persistent encrypted Memory layers under it.