Setup guide
Accipiter is an MCP server for verified data. Plug it into Claude Desktop, Cursor, or any MCP-compatible AI client and your AI can discover datasets, pay for them, and return a tamper-proof answer — all on its own.
This guide covers setup, how payment works, the tools your AI can use, and how to verify results yourself. You don't need to write code.
Connect your MCP client
Three steps: mint an access key, paste it into your client's config, and restart.
1. Mint your access key
Sign in at /auth. Your access key looks like acc_live_.... Keep it secret — it controls your credit balance.
2. Add Accipiter to your client config
The config block is identical for every MCP client. Replace YOUR_KEY_HERE with your access key.
{
"mcpServers": {
"accipiter": {
"url": "https://accipiter.io/api/mcp",
"headers": {
"Authorization": "Bearer acc_live_YOUR_KEY_HERE"
}
}
}
}Claude Desktop — edit ~/Library/Application Support/Claude/claude_desktop_config.json on Mac, or %APPDATA%\Claude\claude_desktop_config.json on Windows.
Cursor — Settings → Cursor Settings → MCP → “Add new MCP server”.
Cline (VS Code) — edit cline_mcp_settings.json from the Cline extension settings.
Other MCP clients — any client that speaks the Streamable HTTP transport works. Point it at the URL above with your access key as a Bearer token.
3. Restart and ask
Fully quit and reopen the client. Then ask in whatever language you prefer — LLMs are language-agnostic. For example: “Use Accipiter to find consumer survey datasets from Japan”. The AI should list datasets from the catalog.
How payment works
You pay per query. There are two payment paths — pick the one that fits your use case. You can switch anytime.
Credit balance
Prepay with a card. Your access key draws from that balance.
- • 1 credit = $0.01 USD
- • Top up at /buyer/credits
- • Best for: trying it out, predictable billing
Session key
Pre-authorize your agent to pay with stablecoin on-chain, with a per-query spending cap.
- • No wallet popup per query
- • Grant at /session-keys/grant
- • Best for: 24/7 agents, on-chain-native workflows
Which should I use?
| If you… | Use |
|---|---|
| Just want to try Accipiter | Credit balance — top up $10 and ask away |
| Run an autonomous agent overnight | Session key with spending cap |
| Prefer to pay in USDC from your wallet | Session key |
| Don't want to touch crypto at all | Credit balance |
No silent charges. The AI always checks cost with estimate_query before running submit_query. If an estimate surprises you, tell the AI not to run it.
Available tools
Your AI sees these six tools automatically. You never call them directly — the AI picks the right one from your prompt, in any language.
search_catalogFind datasets by keyword, country, price cap, or sector.
You say: “find consumer survey datasets from Japan under 100 credits”
get_datasetFull details on a specific dataset — schema, row count, provenance.
You say: “tell me more about dataset abc123”
get_balanceCheck your credit balance and recent charges.
You say: “how many credits do I have left?”
estimate_queryPreview the cost of a query before paying.
You say: “how much would it cost to query this for Tokyo?”
submit_queryRun the query. This is the only tool that charges your balance.
You say: “go ahead and run it”
get_query_resultFetch the result plus a cryptographic seal you can verify on-chain.
You say: “show me the result”
Verify results on-chain
Every result comes with two cryptographic anchors you can check yourself — no trust in Accipiter required.
Dataset integrity
Every dataset is SHA-256 hashed and registered on DataRegistry. The hash on-chain must match the hash of the data the AI receives. If either changes, verification fails. Contract: Etherscan ↗
Query-result seal
Every result gets a zero-knowledge proof (Groth16) recorded on ProofRegistry. The seal proves the result was derived from the registered dataset — you can verify it independently. Contract: Etherscan ↗
Troubleshooting
If something goes wrong, your AI will surface an error code. Here's what they mean and how to fix them.
| HTTP | Code | Fix |
|---|---|---|
| 401 | UNAUTHORIZED | Access key missing or invalid. Check the Bearer value in your MCP config and restart the client. |
| 402 | INSUFFICIENT_CREDITS | Not enough credits. Top up at /buyer/credits, or switch to a session key. |
| 404 | NOT_FOUND | Dataset ID doesn't exist. Use search_catalog to find valid IDs. |
| 409 | QUERY_EXPIRED | Cost estimate expired. Ask your AI to run estimate_query again. |
| 429 | RATE_LIMITED | Too many requests. Wait a moment before retrying. |
| 500 | INTERNAL_ERROR | Unexpected server error. Try again; if it persists, contact support. |
Most first-time issues are the MCP client not picking up the config — fully quit and reopen the app (not just close the window).