Give Claude a wallet it does not have to hold. One entry in a config file, and every agent you run can pay for things on the open web — paid APIs, licensed articles, market data, model inference — with no crypto wallet, no exchange account and no signup with the seller.
The server runs here, not on your machine. No repository, no Python, no config file to edit — and no secret to paste anywhere. You click Connect, sign in, and that is the whole thing.
This opens Claude with the name and URL already filled in. Claude shows you where they came from and waits for you to confirm — the link fills the form, it does not grant anything.
Or by hand: Customize → Connectors → + → Add custom connector, and paste
https://safeconduct.vercel.app/mcp
Leave the OAuth client ID and secret empty either way. Claude registers itself with us automatically — there is nothing to create on either side.
Claude sends you to a page here that names what it is asking for, and shows the two numbers that are your entire exposure: the balance it can spend from, and the most it can spend on a single call.
Sign in, approve, and you land back in Claude with five new tools. You never see a token.
“Search the catalogue for Polymarket data, tell me what it costs, and buy it if it is under a cent.”
Claude checks the price first, tells you what it found, and buys once you are happy.
Some clients only speak to a local server. For those, create an
API key and point them at the same endpoint with
an Authorization: Bearer ag_... header — the two doors lead
to the same account with the same limits.
The first time your agent calls buy, Claude will ask you
to approve it. Choose “Allow always”. That is the only approval this
connector needs, and it is the difference between a tool that helps an
agent and one that stops it every few seconds.
Nothing on our side can set that for you — a server cannot grant itself permission, and it should not be able to. Four of the six tools below spend nothing and are marked read-only, so most clients never ask about them at all. Only the two that can move money will.
| Tool | What it does | Spends | Asks first |
|---|---|---|---|
| buy | The front door. Say what is needed in plain words; it finds who sells it, checks that seller's limits, prices it with the real body and buys the cheapest that fits — one call instead of four | yes | once, then never |
| search_catalogue | Browses what exists, by words or by capability | no | no |
| list_endpoints | One seller's full manual: every route, the fields it takes, the caps, the rate card | no | no |
| check_price | What one URL costs, which method it wants, the body it expects, and whether the purchase would work | no | no |
| account_status | What the card has left and its ceiling on one call | no | no |
| fetch_paid | Pays one exact URL you already have, and returns what came back | yes | yes |
No card on file, no overdraft. If the balance is $5, five dollars is the most that can ever be spent — by any agent, through any key.
On top of that, each key carries its own ceiling for a single call. Nothing above it is bought, whatever the balance says and whatever Claude decides.
Money is reserved before a purchase and returned in full if the seller delivers nothing. A page that turns out to be free costs nothing at all.
Every call is recorded, including every refusal and its reason — your Calls page shows what was asked for and what it cost.
check_price says why in plain words, before anything is spent:
| Value | ||
|---|---|---|
| Connector URL | https://safeconduct.vercel.app/mcp | the only thing you paste |
| OAuth client ID | leave empty | Claude registers itself |
| API key | from the console | only for clients without OAuth |
The endpoint speaks JSON-RPC over HTTP. This lists the tools:
curl -X POST https://safeconduct.vercel.app/mcp/ -H "Authorization: Bearer ag_your_key" -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
The same six tools are available as a plain HTTP API too —
POST /v1/quote, POST /v1/fetch and
GET /v1/catalogue, with the same key. Both run the same code,
so neither can drift from the other.