extra

extra

MCP.Pizza Chef: extra-org

Extra reads one written setup file describing each assistant — what it is responsible for and what it is allowed to reach — then runs the result as a working service for your product. A question about billing goes to the billing assistant and never sees the returns assistant's information, and that separation is what keeps answers accurate. Each assistant can call your own functions or reach MCP tools you already run. Sign-in handling and a full trace of every request come included.

Coding
Communication

Use This MCP client To

Add a support assistant to my product without building the engine Keep billing questions away from the returns assistant Connect an assistant to MCP tools my company already runs Add a new capability by adding one entry to a file Trace exactly what happened on a single request Keep our sign-in credentials out of the model and the logs

README

Extra

Turn your app into an agentic product — from one YAML file.
Give any application a smart, domain-aware agent layer, without building the engine yourself.

Docs Version License

Documentation · Quick Start · How it works · Learn more · Contributing


What Extra is

Extra is a lightweight engine that adds an agentic layer to any application. You describe your agents in a simple YAML file — what each one is responsible for and what it can access — and Extra turns that into a running system that routes each request to the right agent and answers it accurately.

Every agent has a single, clear responsibility and is scoped to its own domain, with its own prompt, tools, and data. That scoping is what keeps answers grounded: a request about billing never reaches the returns agent, so there's no context bleeding between domains and no hallucinated hand-off. You get tools, MCP servers, authentication, provider connectors, and observability out of the box — so your app can be agentic in a day, not a quarter.

How it works

You define a small graph in YAML: one orchestrator that routes, and focused agents that do the work. Extra runs it — picking the right agent per request and keeping each one inside its own domain.

flowchart TD
    U([User request]) --> R{{Orchestrator<br/>routes by domain}}
    R -->|billing| A1[Billing agent]
    R -->|orders| A2[Orders agent]
    R -->|docs| A3[Docs agent]

    A1 --- P1[/prompt · tools · MCP · auth/]
    A2 --- P2[/prompt · tools · MCP · auth/]
    A3 --- P3[/prompt · tools · MCP · auth/]

    A1 --> RESP([Grounded response])
    A2 --> RESP
    A3 --> RESP
Loading

Each agent only sees its own tools and data, so the model stays focused and answers correctly for that part of your business. Add a new capability by adding an agent to the file — no routing code to write.

Here's the same idea in YAML:

extra FAQ

Do I have to write routing code?
No. You declare which assistant covers which area, and Extra sends each request to the right one.
Can I use this to put a chat helper on my own product?
Yes — it serves your assistants over the web and ships a chat widget, with a full walkthrough in the documentation.
Does it need a paid key?
Yes, you bring your own model provider key. The quick start passes an Anthropic key to the container.
How hard is setup?
This is a developer product. You run it in Docker, write the setup file, and fill in the code stubs it generates for your own logic.
Can it use MCP tools we already have?
Yes. You list a tool server once and any assistant that needs it refers to it by name.
Is there help getting the setup file right?
Yes. An official setup helper installs into Claude Code, Cursor, or Codex and walks you through creating or repairing it.