Connect an AI app (MCP)
Zabio runs an MCP server (Model Context Protocol, the standard AI apps use to call outside tools). Connect an app such as Claude to it and the app can look up Zabio’s docs, models and prices, read your project’s usage and recent calls, and send tasks to Zabio’s models, all from a chat.
Two addresses
Section titled “Two addresses”| Address | Sign-in | What it offers |
|---|---|---|
https://mcp.zabio.ai/public |
none | Zabio’s docs, models, prices, hosts and status. Nothing about your account. |
https://mcp.zabio.ai/mcp |
your Zabio account, once, when you connect the app | the same tools, plus your project’s usage and calls, and asking Zabio’s models |
Use /public to explore Zabio before you sign up, or in an app you do not want to give access to your account. Use /mcp for everything else.
Set up Claude.ai and the Claude apps
Section titled “Set up Claude.ai and the Claude apps”Custom connectors work on every Claude plan (the Free plan allows one).
- In Claude, open Customize, then Connectors.
- Click + Add, then Add custom connector.
- Name it
Zabioand enterhttps://mcp.zabio.ai/mcpas the URL. Click Continue. - Keep the authentication settings Claude detects and click Add.
- Claude opens Zabio’s connection page. Sign in to Zabio if you are not, make your choices (see What you choose when you connect) and click Allow.
To use it in a chat, click + at the lower left of the chat, then Connectors, and turn Zabio on.
If Zabio’s page did not offer Ask Zabio’s models questions when you connected Claude, the first time Zabio is asked to run a task Claude shows a card to approve it: see Allowing ask later.
On a Team or Enterprise plan, an owner adds the connector under Organization settings, Connectors: Add, Custom, Web, with the same URL. Each member then clicks Connect on it under Customize, Connectors, and makes their own choices on Zabio’s page. Each member’s connection is their own.
The connector added in Claude.ai also works in Claude Desktop and the Claude mobile apps.
Set up Claude Code
Section titled “Set up Claude Code”In a terminal:
claude mcp add --transport http --scope user zabio https://mcp.zabio.ai/mcpThen, in Claude Code, run /mcp, choose zabio and follow the steps in your browser: sign in to Zabio if you are not, make your choices and click Allow. You can also sign in from the shell with claude mcp login zabio.
If ask is missing, Claude Code says the call needs additional permissions: run /mcp, choose zabio, reconnect and tick Ask Zabio’s models questions (see Allowing ask later). A Zabio connector added in Claude.ai also shows in Claude Code as claude.ai Zabio; it is a connection of its own, with its own choices.
--scope user makes Zabio available in every project on your computer. Leave it out to add it to the current project only.
Without a Zabio account, add the public tools instead:
claude mcp add --transport http --scope user zabio-public https://mcp.zabio.ai/publicSet up Codex
Section titled “Set up Codex”Codex CLI and the Codex app share the same setup. In a terminal:
codex mcp add zabio --url https://mcp.zabio.ai/mcpcodex mcp login zabioThe login opens Zabio’s connection page in your browser: sign in to Zabio if you are not, make your choices and click Allow. Run the login once, then start a new Codex session so it picks up the connection.
Set up Cursor
Section titled “Set up Cursor”Add Zabio to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):
{ "mcpServers": { "zabio": { "url": "https://mcp.zabio.ai/mcp" } }}Under Cursor Settings, MCP, Zabio shows that it needs a sign-in: click it, then make your choices on Zabio’s page and click Allow.
Set up VS Code
Section titled “Set up VS Code”Add Zabio to .vscode/mcp.json in your workspace (or run MCP: Add Server from the Command Palette and choose HTTP):
{ "servers": { "zabio": { "type": "http", "url": "https://mcp.zabio.ai/mcp" } }}Start the server from the file or from the MCP: List Servers command. VS Code asks you to sign in: allow it, then make your choices on Zabio’s page and click Allow.
Set up OpenCode
Section titled “Set up OpenCode”Add Zabio to opencode.json:
{ "$schema": "https://opencode.ai/config.json", "mcp": { "zabio": { "type": "remote", "url": "https://mcp.zabio.ai/mcp" } }}Then run opencode mcp auth zabio, make your choices on Zabio’s page and click Allow. If Zabio’s page did not offer Ask Zabio’s models questions when you connected, run opencode mcp auth zabio again to allow it (see Allowing ask later).
Other apps
Section titled “Other apps”Any MCP app that connects to remote servers over streamable HTTP and signs in with OAuth can connect to https://mcp.zabio.ai/mcp: add the URL as a remote server and the app opens Zabio’s connection page. Zabio accepts apps that identify themselves with a client metadata document and apps that register themselves, so the app needs no client id or secret from you. https://mcp.zabio.ai/public needs no sign-in at all.
Zabio is also listed in the official MCP Registry as ai.zabio/zabio, so an app that browses the registry can find it by name.
This page gives steps only for the apps we have connected ourselves. More will follow as we test them.
What you choose when you connect
Section titled “What you choose when you connect”Zabio’s connection page (on app.zabio.ai) shows the app’s name, how it identified itself and where it returns to. When it returns to a program on your own computer, as Claude Code does, the page says so: connect it only if you started the connection yourself just now. Your email address must be confirmed first.
- Organization and Project. Any member of an organization can connect an app, in the projects they can use. The app sees that project’s usage and calls only, never another project’s.
- What the app may do. It may always read: this project’s usage, spend and recent calls, and Zabio’s models, prices and docs. Tick Ask Zabio’s models questions to let it use the
asktool, which spends your organization’s credit. - Daily spend limit (USD). The most the app can spend in a day, reset at 00:00 UTC. The page shows today’s default and the most you can choose.
- Connection expires in 7, 30, 90 or 365 days. After that, connect the app again.
Click Allow to connect or Deny to refuse; the app is told either way.
Connecting an app again. When an app that signs in through a web address (Claude.ai, VS Code, Cursor) is approved again for the same organization and project, the new connection replaces your earlier one: the page says so before Allow, and the earlier connection and its key stop working when you click it. Apps on your own computer (Claude Code, Codex, OpenCode) keep every connection, since you may use them on more than one computer.
Allowing ask later
Section titled “Allowing ask later”A connection made with read only still lists the ask tool when its app never asked for ask. Using it makes Zabio ask the app for the permission, and the app asks you: Claude shows a card in the chat, and VS Code asks you to sign in again. In Claude Code run /mcp and reconnect zabio; in OpenCode run opencode mcp auth zabio. On Zabio’s page, tick Ask Zabio’s models questions and click Allow. Until 2026-10-14, Zabio’s sign-in named read only, so Claude, OpenCode, VS Code and Cursor never offered ask; if the page did not offer it when you connected, this is how your connection gets it.
If the app asked for ask and you left it unticked, the connection does not list ask. To change that, disconnect it in Connected apps and connect the app again.
One API key per connection. Allow creates an API key for the connection, named MCP: and the app’s name (for example MCP: Claude Code), in the project you chose, with your daily limit as a daily spend limit and the connection’s expiry. It appears in Keys and in Logs like any key, its secret is never shown, and the model access you set for the account, organization and project applies to it (see Model access). These keys do not count toward the Free plan’s two keys. An organization can have only a few connected apps at once (the page says how many); when it is full, the page lists them so you can disconnect one first.
The tools
Section titled “The tools”On both addresses:
| Tool | What it does |
|---|---|
search_docs |
Searches Zabio’s docs, in English or Spanish, and returns the best matching sections with their links |
read_doc |
Reads a docs page, whole or one section |
models |
Lists the models Zabio serves: vendor, tier, whether auto can pick it today, capabilities and prices per million tokens (off-peak and batch prices where the model has them) |
model_hosts |
Shows every host that serves a model through Zabio, where it processes requests, its price and its off-peak hours |
status |
Zabio’s service status, as zabio.ai/status shows it |
ping |
Checks that the server answers |
The prices models and model_hosts return are what Zabio bills: the provider’s price with Zabio’s service fee of (see the pricing page) included. On /mcp they follow your organization’s plan and show only the models your connection may use.
On /mcp only:
| Tool | What it does |
|---|---|
usage |
The project’s usage for a period (today, 7 days, 30 days, this month, or dates you give): calls, errors, what was billed, the providers’ cost, Zabio’s fees, what routing saved, tokens, and the organization’s balance. Grouped by model, day or key if you ask |
recent_calls |
The project’s latest calls, newest first: time, key, the model asked for and the model that answered, tokens, cost, saving (none for a call made while the key’s baseline was pending, marked baseline_pending), latency and outcome. Never the text of a request or an answer |
get_call |
One call by its id (call_... as Logs and every response’s zabio.call_id show it, or the chatcmpl-... form): its details, how its cost splits into the provider’s price and Zabio’s fees, the saving (as recent_calls states it), why routing chose its model and, when Zabio split a big request, how and what the split saved (Split and route) |
feedback |
Tells Zabio an answer was bad or good, by the call’s id, with an optional reason (up to 500 characters). A bad answer makes Zabio choose the model for that session again on its next turn. Spends no credit |
ask |
Sends a task to a model through Zabio and returns the answer. Only when you allowed asking |
No tool creates or changes keys, settings, payments or plans.
Asking Zabio’s models
Section titled “Asking Zabio’s models”ask runs as the connection’s key, through the same path as a call to the API: model access, the daily limit, the fees and Logs all apply. By default it uses auto, which picks the cheapest model able to do the job; the app can name a line (auto/cheap, auto/balanced, auto/best) or a model instead. It is billed like any other call with that model (see Billing).
The app can also set the answer’s length cap (max_output_tokens), the reasoning effort (low, medium, high), and a session_id so related questions share the prompt cache and routing. A very long task is refused with its size and the limit; send it to the API instead.
Every answer ends with one line:
Answered by gpt-6-luna. Cost 0.000292 USD, saved 0.0011 USD against claude-sonnet-5-5.The answer also says, in split, when Zabio answered a big task from an excerpt of it, as the API’s zabio.split does.
The saving is counted against the key’s baseline, as on any call. A new connection’s key has no baseline until it has made 20 calls, so the line says how many calls remain instead of a saving (see What a call costs). When you connect the same app to the same project again, the new key carries on from the previous one: its baseline, or its calls towards one, are kept.
ask waits up to about a minute and a half for an answer when the app does not show progress; apps that show progress can wait longer. A call that runs out of time tells the app to ask for a shorter answer.
Managing connections
Section titled “Managing connections”Settings, Connected apps lists every app you connected: its organization and project, what it may do, its daily limit, when it was connected and last used, and when it expires. Disconnect ends the connection at once and revokes its key. Revoking the key on the Keys page disconnects the app too.
A connection also ends when it expires, when you leave the organization or lose access to the project (within an hour), and when the organization or your account is closed. Signing out of the web app does not end connections.
Requests to /mcp are limited per connection, and requests to /public per address; an app that sends too many gets rate_limit_exceeded and can try again a minute later.