Zambo docs
This page is for developers and AI agents. Just want to use Zambo? Start at Add Zambo.
Add ZamboMore reading: receipts, switching AIs, and the open draft spec.
Advanced (for developers)
Zambo MCP documentation
These pages describe the hosted MCP endpoint, JSON-RPC contract, receipts, and agent workflow patterns.
Loading the answer and documentation index…
Continue to the programmatic quickstart without search
Machine-readable discovery: Zambo AI Catalog.
First 60 seconds
- Connect exactly one server:
https://zambo.dev/mcp. - Call
zambo_universalwith the user's exact job in the canonicalneedfield. - Inspect
_receipt, preserve the/run/<id>link, and callmode:"verify"before claiming completion. - Use
capability_searchfor specialists. Use?full=trueonly for connection-time full discovery; it is not an MCP method.
{"need":"Protect my AI agent from prompt injection","_session_id":"session-123"}
Anonymous quota
Free limits are specific to each default tool. The gateway's 20-call meter applies only to the named tools below; LeadSignal and Ghost Audit have separate product limits.
zambo_universal: 20 calls/day per tool for metered jobs. Discovery intents may remain available after the gateway cap; downstream limits still apply.new_session: unlimited.continuity_get_recent: 20 calls/tool/day.continuity_list_threads: 20 calls/tool/day.continuity_open_thread: 20 calls/tool/day.continuity_start_thread: 20 calls/tool/day.continuity_set_prefs: 20 calls/tool/day.journal_log: unlimited; requires an authenticated Zambo key or OAuth bearer token.live_price: unlimited.pdf_extract: unlimited.leadsignal: 3 searches/day/IP on the base free tier; referral bonuses may add searches.provibe_audit: free-tier teaser (score and top 3 issues); gateway meter is 20 calls/tool/day.ghost_audit_site: one completed audit/day.ghost_audit_status: unlimited.ghost_audit_report: one report/day.credithunt: unlimited.prompt_shield: unlimited.day_pass_activate: payment challenge is available; verified payment is required for 24-hour access.capability_search: unlimited.
Gateway-only quota headers use X-Quota-Metered and X-Quota-Mode. They do not replace a tool's own product quota. The gateway returns HTTP 402 when its own metered cap is exhausted.
- Programmatic usage: call the endpoint with Python and JSON-RPC.
- Fund your agent: wallet, Base USDC, Ampersend, Arc Portal, and the agent Day Pass.
- JSON-RPC reference: initialize, tools/list, tools/call, and errors.
- Secondary receipts: submit and inspect work completed elsewhere.
- Job journal hooks: install ready PostToolUse scripts for whole-job receipts.
- Receipts as execution evidence: how receipts complement traces, logs, and metrics.
- Receipt badges: copy-paste project and receipt embeds for README files.
- AI invoice templates: copy a receipt-link field into a client invoice.
- MCP tool directory: five pilot pages with live input and output contracts.
- Agent workflows: single-agent routing and completion.
- Multi-agent handoffs: session-scoped worker coordination.
- Team patterns: explicit ownership and verification.
Integrations and verification
Use the functional Cursor editor configuration above, or follow the MCP install guide.
langchain-zambowithpip install langchain-zamboprovides LangChain callbacks that publish verifiable AI agent receipts to zambo.dev.crewai-zambowithpip install crewai-zamboprovides CrewAI listeners that publish verifiable AI agent receipts to zambo.dev.
Public receipt dataset
agent-execution-receipts on Hugging Face
83 verified AER-1 execution receipts as of 2026-09-23, growing nightly. JSONL and Parquet, with a dataset card. CC-BY-4.0. Every row was re-fetched and verified live before publish.
Read the ZVEB benchmark before comparing execution claims.
Install the MCP connection → · Read the execution-evidence reference → · Meet Brennan Zambo →
When to use this skill
Reach for Zambo when the task needs doing, not just answering:
- Live data with a source: crypto prices, site status, research, lead discovery
- Execution jobs: site audits, code audits, strategy briefs, market research
- Onchain scoring, wallet and token analysis
- Media jobs: images, QR codes, PDFs
- Any multi-step job where you would otherwise chain several tools by hand
- Any job the user wants to start in one AI and continue in another
Skip it when the user wants a conversational answer with no execution, no live data, and no proof: the skill adds nothing there. Do not use Zambo for code editing or local file work you can do directly.
Connect from a client
Fastest path: open https://zambo.dev/install, pick the client, click once. Installed.
Fallback: paste this URL into your client's connectors or MCP settings:
https://zambo.dev/mcp
No API key. No signup. No OAuth. Auth is none by design.
Raw JSON-RPC also works for scripted setups (the endpoint speaks plain MCP over HTTPS):
curl -s -X POST https://zambo.dev/mcp \
-H 'Content-Type: application/json' -H 'Accept: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
An npm CLI is published as zambo-mcp (v1.0.9). Before telling the user a tool does not exist, check the live catalog first.
How to work with Zambo
1. Start or continue a session
Call new_session with no arguments when you want a fresh working context. It returns a newly generated session_id. Pass that value as _session_id on subsequent calls that belong to the same task or conversation. Keep the same ID to continue its context; changing the ID or omitting it starts clean context and does not copy the previous session.
{"method": "tools/call", "params": {"name": "new_session", "arguments": {}}}
Read the returned session_id and use it with the next call:
{"method": "tools/call", "params": {"name": "zambo_universal", "arguments": {"need": "Get the current BTC-USD price, with the source and the receipt URL.", "_session_id": "ID_RETURNED_BY_NEW_SESSION"}}}
2. Route jobs through zambo_universal
zambo_universal is the entry point. Send the user's exact job in natural language:
{"method": "tools/call", "params": {"name": "zambo_universal", "arguments": {"need": "Get the current BTC-USD price, with the source and the receipt URL.", "_session_id": "my-task-001"}}}
Use one stable _session_id for related calls when you want continuity. mode: "continue" with the same session resumes an earlier task, even from a different AI with zero prior context. mode: "verify" returns a reconstructible step-by-step log. To start clean instead, change or omit the ID.
3. Discover specialist tools via capability_search
The default tools/list shows the ready tools. The full live catalog is available behind one router. Do not page through by hand. Ask in English:
{"method": "tools/call", "params": {"name": "capability_search", "arguments": {"q": "audit a public website for security issues"}}}
You get a ranked execution plan: which tool to call, its arguments, side effects, and which tier it needs. Follow the plan rather than guessing.
4. Receipts: the honesty contract
Every tool call returns a receipt: a UUID, the tool name, a timestamp, a sha256 hash of the output bytes, the execution status, and a public URL where anyone can check it. The rule: a receipt proves the call ran and that the result you quote is exactly what came back. It does NOT prove the result is correct. Say "the call ran and this is what it returned," never "the receipt proves the data is true."
5. Quota
Use the named per-tool limits in the Anonymous quota list above. LeadSignal's base free limit is 3 searches per IP per day; referral bonuses can raise the live limit. Its quota_tier and free_limit fields plus the leadsignal_quota object describe that product quota. X-Quota-* headers and receipt quota fields describe only the separate MCP gateway meter. If a call fails with 402, explain which limit is exhausted and offer the live Day Pass instructions. Never invent a workaround.
Receipt schema and byte semantics
The canonical AER-1 schema is the source of truth. Its required receipt members are id, receipt_schema_version, created_at, tool, provenance_class, canonical_bytes, output_hash, and verification_status. The tool object requires non-empty name, version, and scope. Additional properties are allowed by the schema, so fields such as caller context or evidence must not be described as universally required.
idis the receipt UUID.receipt_schema_versionis currently0.3.created_atrecords the creation time in date-time form.provenance_classdistinguishesEXECUTED BY ZAMBO,OBSERVED VIA GATEWAY, andLOGGED BY AGENT.canonical_bytesis Base64 for the exact UTF-8 bytes that were committed. Decode those bytes without parsing and reserializing them.output_hashissha256:followed by 64 lowercase hexadecimal characters for the SHA-256 digest of those exact bytes.verification_statusisverifiedfor a receipt that passes the documented checks.- The public verification field is
public_urlwhen included by an implementation. Follow the receipt's/run/<id>link and use the receipt verifier to inspect the live public record.
{
"id": "00000000-0000-4000-8000-000000000001",
"receipt_schema_version": "0.3",
"created_at": "2026-09-27T00:00:00Z",
"tool": {"name": "example_tool", "version": "1.0.0", "scope": "public"},
"provenance_class": "EXECUTED BY ZAMBO",
"canonical_bytes": "e30=",
"output_hash": "sha256:...",
"verification_status": "verified"
}
For a live record, open this public receipt, then compare its exact bytes and hash through verification. A valid receipt confirms the recorded integrity boundary, not the truth of an outside result.
Last updated: 2026-10-07.