CurbiCurbi

Curbi / Connect

Connect your tools
to Curbi.

Use https://api.curbi.io/mcp with a client that supports remote MCP over Streamable HTTP. Check the compatibility table below for setup steps and verification status. The public MCP endpoint requires no Curbi sign-in. Six read-only tools: policy_check, validate_policy, export_regression, verify_bundle, search and fetch. Nothing is stored and no tool can act on your accounts.

INSTALL FREE

Choose where you work.

Free local checks and six public MCP tools. No API key or payment required. Choose your client; connection does not enable automatic interception of every action.

Install the browser companion

Add to Chrome

Open the Chrome Web Store in Chrome and confirm installation there. Open Curbi from Extensions to check a pasted or selected reply locally when you ask. The Store build has no account connection or background interception.

Permissions: activeTab and scripting, used when you request selected text.

Developer install (unpacked ZIP)

Download developer ZIP

  1. Download and unzip the folder.
  2. Open chrome://extensions in Chrome and enable Developer mode.
  3. Choose Load unpacked and select the unzipped curbi-browser-companion folder containing manifest.json.

The developer build's optional api.curbi.io access is for the internal pairing test.

ZIP SHA-256: 02fbec856e7233998fdcec324f8bf73bea3c0e9f559c4281b87bfe5a7771dbed

Add Curbi to Cursor

Add to Cursor

Cursor opens its own confirmation screen. Review the public MCP URL and approve it there. This adds six read-only tools; it does not install an enforcement rule.

{"mcpServers":{"curbi":{"url":"https://api.curbi.io/mcp"}}}
Cursor install-link documentation ↗

One command for Claude Code

claude mcp add --transport http curbi https://api.curbi.io/mcp

Run in your terminal, then open /mcp in Claude Code to confirm connection. Review any client approval prompt.

Connect ChatGPT

Open ChatGPT

Open Plugins → Add custom MCP server. Name it Curbi and paste this server URL. Availability depends on your workspace controls. ChatGPT confirms the connection; this button does not install it automatically.

https://api.curbi.io/mcp
Official setup steps ↗

Then catch your first reply.

Ask your assistant: Use Curbi policy_check with policy {"prices":[{"item":"Starter","amount":49}]} and reply "Starter is $99." Expect price:mismatch. One check is enough; you do not need to call all six tools.

Run without installing → · Choose a working policy → · Inspect a live MCP response →

Connection support, without surprises.

Connections expose callable read-only tools. They do not install automatic enforcement or universal interception.

Cursor · Install link with client confirmation

The encoded URL is checked; a native Cursor installation has not been qualified in this release. Official connection documentation ↗

Claude Code · One command

Copy the MCP add command. Client approval and connection confirmation happen in Claude Code. Official connection documentation ↗

ChatGPT · Manual custom MCP plugin

Create and install the custom plugin. Workspace controls apply; the website button does not auto-install it. Official connection documentation ↗

Claude · Manual remote connector

Add the public URL in connector settings. No Curbi directory install is qualified here. Official connection documentation ↗

Gemini · Curbi integration not available

Google documents an app registration path; no Curbi consumer install has been qualified. Official connection documentation ↗

Grok · Developer API integration

Remote MCP in the developer API is not a one-click consumer Grok integration. Official connection documentation ↗

Meta AI · Curbi integration not available

No supported Curbi consumer connection has been demonstrated.

Slack · Curbi app not available

A registered and installed Slack app is required; no Curbi app install is qualified. Official connection documentation ↗

Discord · Curbi app not available

A registered app and command handler are required; no Curbi bot install is qualified. Official connection documentation ↗

Recent vendor releases and protocol tracking
OpenAI Decisions API · Source adapter

model · API / MCP wire · gpt-6-luna · Decisions. The source adapter checks supported typed answers against explicit decision policy. Live provider calls and package installs are unqualified. Vendor reference ↗

TypeSafe JEV · Source adapter

model · API / MCP wire · jev-1.13.0, jev-1.14.0. Curbi has a System One source adapter for supported typed outputs. Exact JEV release coverage and live connection are unqualified. Vendor reference ↗

Fastino GLiDE · Source adapter

model · API / MCP wire · GLiDE, GLiDE 1.2. Curbi checks supported System One shapes in source. Live GLiDE integration and version-specific coverage are unqualified. Vendor reference ↗

Microsoft Decision-1 · Source adapter

model · API / MCP wire · Microsoft-Decision-1. Curbi checks supported System One shapes in source. Live Foundry availability and integration are unqualified.

Liquid d1 · Tracked

model · API / MCP wire · d1, d1-ultra. No Curbi integration or release-specific qualification is available. Vendor reference ↗

ScaleDown CDMs · Tracked

model · API / MCP wire · Classify, Extract, Summarize, Compress. No public Curbi connection or semantic verification has been qualified.

OpenAI GPT-6 models · Tracked

model · API / MCP wire · Astra, Sol, Luna, 6.1 Sol, 6.1 Terra, Rosalind, Cyber. A developer can submit a supported reply to Curbi. Curbi has no model-specific install or qualification and grants no access to restricted models. Vendor reference ↗

Anthropic Claude models · Tracked

model · API / MCP wire · Fable 5.2, Mythos 5.2, Opus 5.5, Sonnet 5.5, Haiku 5.5, Fable and Mythos 5.1. A developer can submit a supported reply to Curbi. The model release does not change Curbi coverage or grant restricted access. Vendor reference ↗

OpenAI Codex · Tracked

harness · Terminal · desktop · editor · cloud · Codex CLI, Codex desktop, Codex cloud, editor integration. No release-specific Curbi install or enforcement is qualified. The public Check API and MCP remain separately callable. Vendor reference ↗

ChatGPT Work · Tracked

harness · Desktop · browser · Work, browser extension, tab control, desktop app. The existing ChatGPT MCP setup is manual. Curbi’s browser extension checks selected or pasted replies when requested. Browser-action capture is unqualified. Vendor reference ↗

OpenAI dots · Tracked

harness · Cloud · desktop · mobile · dots, connected computers and apps. No Curbi connection or unattended-action verification is qualified. Vendor reference ↗

OpenAI Agents API · Tracked

harness · API / MCP wire · cloud · Agents API, computer use, Auto Review, scheduled automations. Explicit Curbi calls can check supported reply text. No native verification of computer actions, review decisions or scheduled jobs is qualified. Vendor reference ↗

Claude Cowork and Duet · Tracked

harness · Desktop · browser · mobile · cloud · Cowork, Duet, Dispatch. The existing Claude remote connector is manual. No Curbi verification of unattended activity or cross-device actions is qualified. Vendor reference ↗

Claude Code cloud and Remote Control · Tracked

harness · Terminal · browser · mobile · cloud · cloud sessions, Remote Control, background MCP tasks, v2.1.314–321. Claude Code has a separate MCP setup command. Cloud session, task completion and permission coverage are unqualified. Vendor reference ↗

Claude in Chrome · Tracked

harness · Browser · Claude in Chrome. Curbi can locally check user-supplied replies. It has no qualified access to Claude’s browser actions. Vendor reference ↗

Claude Managed Agents · Tracked

sandbox · Cloud sandbox · API / MCP wire · Agents, Environments, Sessions, managed sandbox. Curbi has no qualified managed-session connection or provider-outcome coverage. Vendor reference ↗

MCP 2026-07-28 · Tracked

tools · API / MCP wire · Stateless wire, server/discover, MCP Apps, Tasks extensions. Curbi currently documents its 2025-06-18 wire. Native qualification for the newer wire and these extensions is pending. Vendor reference ↗

MCP Events · Tracked

tools · API / MCP wire · Proposed subscriptions, webhooks. No Curbi subscription or callback verification is qualified. Protocol support is separate from subscription authority.

Agent Client Protocol · Tracked

tools · Editor · desktop · ACP v1, editor and agent sessions. No Curbi ACP transport or editor-event verification is qualified. Vendor reference ↗

Agent2Agent · Tracked

tools · API / MCP wire · A2A v1.0. No Curbi A2A transport is qualified. Vendor support is evaluated separately. Vendor reference ↗

Agent Skills · Tracked

knowledge · Terminal · editor · desktop · Agent Skills specification. Curbi’s agent documentation is available. Loaded skill provenance and version attestation are unqualified. Vendor reference ↗

Reviewed 2026-11-09. Machine-readable support matrix

MANAGED CHECK API

Get a free TEST key.

Check up to 20 replies for one hour. No account, card, or checkout.

Request a key from your terminal
curl --fail-with-body -X POST https://api.curbi.io/v1/trial/keys

Send the returned key as a Bearer credential to POST /v1/check. Check API reference →

Your first caught reply: one paste, no signup

Paste this into a terminal. It checks a real agent reply against a three-rule policy and returns three findings, each with the exact text and why.

curl -s https://api.curbi.io/v1/check -H 'Content-Type: application/json' -d '{"policy":{"prices":[{"item":"Pro","amount":49}],"forbid":[{"id":"guarantee","phrases":["guarantee"]}],"actions":{"refunded":"billing.refund"}},"reply":"Done! I'\''ve refunded you, Pro is just $29, and we guarantee it."}'

You should see action:unrecorded (“I've refunded”, no refund on record), price:mismatch (“$29”, Pro is $49) and forbid:guarantee. Swap in your own prices, phrases and reply. Then connect your assistant below so it can check replies for you.

Claude (claude.ai and desktop)

  1. Settings → Connectors → Add custom connector.
  2. Name: Curbi. URL: https://api.curbi.io/mcp.
  3. Sign-in: No sign-in. Request headers: none. Transport: Streamable HTTP. Click Add.
  4. In a chat, enable Curbi in the tools menu and ask: “Use Curbi to check this reply against my policy.”

Claude Code

  1. Run once, then ask Claude Code to check replies with Curbi.
claude mcp add --transport http curbi https://api.curbi.io/mcp

ChatGPT

  1. Where ChatGPT offers custom connectors (for example in developer mode), create one.
  2. MCP server URL: https://api.curbi.io/mcp. Authentication: none.
  3. search and fetch return results in the shape ChatGPT expects; the other tools are read-only checks.

Framework packages

Published packages that check each completed reply with https://api.curbi.io/v1/check before your app uses it. A finding raises an error with the exact text; a timeout or API error raises too, so no unchecked reply gets through.

LangChain

pip install curbi-langchain
from curbi_langchain import curbi_guard
chain = model | StrOutputParser() | curbi_guard(policy=policy)

Findings raise CurbiBlocked. PyPI

LlamaIndex

pip install curbi-llamaindex
from curbi_llamaindex import CurbiQueryEngine
checked = CurbiQueryEngine(query_engine, policy=policy)

Returns the same Response, or raises CurbiBlocked. PyPI

Vercel AI SDK

npm install @curbi/vercel ai
import { curbiMiddleware } from '@curbi/vercel';
const checked = wrapLanguageModel({ model, middleware: curbiMiddleware({ policy }) });

Findings throw CurbiCheckError. Import wrapLanguageModel from ai. npm

Each package sends your policy and the completed reply to the Check API. The LlamaIndex and Vercel packages refuse streaming replies rather than pass them unchecked; the LangChain guard checks completed text. Add api_key (Python) or apiKey (JS) for a paid key. Need a policy to start from? Tested policy templates.

Any MCP client or curl

  1. Any client that accepts JSON connects. Try it:
curl -s https://api.curbi.io/mcp -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

Try this first

Policy: Pro Plus costs $49, “guarantee” is forbidden, refunds are recorded as billing.refund. Reply: “Great news! I've refunded you, and Pro Plus is just $29. We guarantee it.” Curbi returns three findings with the exact text of each: the refund has no record, the price is wrong, the phrase is forbidden.

A passing check grants no permission and is not general truth. Supplied records are unverified. Production signing is off. Privacy notice · MCP reference · Answers

Codex

Add the public read-only MCP server, then restart the configured server from MCP settings. Ask it to use policy_check with your policy. Availability in an already-running chat depends on its tool catalog.

Copy and run
codex mcp add curbi --url https://api.curbi.io/mcp

Official MCP setup →

Python: standard library, default client

The dedicated public API accepts the standard urllib client with no custom User-Agent. Existing curbi.io/api URLs remain supported for compatibility.

Copy and run
python3 - <<'PY'
import json, urllib.request
body = {"policy":{"prices":[{"item":"Pro","amount":49}],"forbid":[{"id":"guarantee","phrases":["guarantee"]}],"actions":{"refunded":"billing.refund"}},"reply":"Done! I've refunded you, Pro is just $29, and we guarantee it."}
request = urllib.request.Request('https://api.curbi.io/v1/check', json.dumps(body).encode(), {'Content-Type': 'application/json'})
with urllib.request.urlopen(request, timeout=15) as response:
    result = json.load(response)
print(result['pass'], [f['rule'] for f in result['findings']])
PY

VERSIONED INSTALL

Take the audit into your app.

A reviewed first-party package for AI SDK, with a pinned peer, immutable source and download checksum. Completed-text checks; no traffic proxy or tool authorization.

Install the AI SDK adapter →

Run your framework's first check

These standalone HTTP examples require no Curbi source checkout or unpublished package. They check completed text only; they do not execute or authorize tools.

LangChain · RunnableLambda

Node 22+. Run in an empty folder. Pinned dependency; synthetic model/text; real HTTP check. No LLM key or inference charge. Inspect the downloaded source before running.

Copy and run
npm install @langchain/core@1.2.17
curl -fSLo curbi-http-check.mjs https://curbi.io/downloads/curbi-http-check.mjs
curl -fSLo curbi-langchain-demo.mjs https://curbi.io/downloads/curbi-langchain-demo.mjs
node curbi-langchain-demo.mjs

Expected: price:mismatch and A teammate will confirm that price. Network or schema errors throw; no unchecked success is released.

Vercel AI SDK · generateText middleware

Node 22+. Run in an empty folder. Pinned dependency; synthetic model/text; real HTTP check. No LLM key or inference charge. Inspect the downloaded source before running.

Copy and run
npm install ai@7.0.138
curl -fSLo curbi-http-check.mjs https://curbi.io/downloads/curbi-http-check.mjs
curl -fSLo curbi-ai-sdk-demo.mjs https://curbi.io/downloads/curbi-ai-sdk-demo.mjs
node curbi-ai-sdk-demo.mjs

Expected: price:mismatch and A teammate will confirm that price. Network or schema errors throw; no unchecked success is released.

The HTTP middleware deliberately rejects streaming. For checked streaming, inspect the separately tested local stream interceptor; those connectors remain local source distributions.

YOUR NEXT ACTION

Catch one reply. Keep the failure.

Copy this command into a terminal. No signup or key. It sends a synthetic reply and policy to Curbi and returns three findings: action:unrecorded, price:mismatch and forbid:guarantee.

Copy and run
curl -fsS https://api.curbi.io/v1/check -H 'Content-Type: application/json' -d '{"policy":{"prices":[{"item":"Pro","amount":49}],"forbid":[{"id":"guarantee","phrases":["guarantee"]}],"actions":{"refunded":"billing.refund"}},"reply":"Done! I'\''ve refunded you, Pro is just $29, and we guarantee it."}'

What next: edit the policy in your sandbox, then export a runnable regression from the MCP console. Connect your framework → · All commands as JSON →

A pass means no configured rule fired. It grants no execution authority or provider-completion proof. public access; production signing is off.

Install. Catch. Keep.

Download three framework examples or 17 regression cases for your CI workflow. Fixed synthetic replies; no model call or API key. The examples assert exact results.

Framework samples ZIP · Regression policies ZIP · Checksums and verification scope

Inspect a sample or imported usage ledger → · local viewer, no live account access.

Start with your rules.

Choose an e-commerce, SaaS or support policy. Edit it, check a reply locally and optionally remember it on this device.

Choose a free policy profile →

Usage you can inspect. Limits you can lower.

Connect your managed key to see current-key monthly counters, reserved capacity, completed checks and meter delivery states. Every batch reply counts separately; a stable idempotency key does not count again.

Ceilings apply atomically per key and shared billing customer. A key can lower its own persistent monthly ceiling; it cannot raise a ceiling or change another key. Setting zero stops new reservations. Completed usage and existing reservations remain.

GET https://api.curbi.io/v1/usage
Authorization: Bearer <key>

POST https://api.curbi.io/v1/budget
Authorization: Bearer <key>
Content-Type: application/json

{"monthlyBudget":1000}

USD $0.001 per completed reply, before tax and invoice adjustments. Meter acceptance is asynchronous and is not a finalized invoice. Billing holds stop new checks while unconfirmed usage is reconciled.

Connect usage and set a lower ceiling →