WBR MCP Server — JSON-RPC API for AI Agents
Programmatic Wayback Machine restoration. Discover eras → Screenshot → Quote → Restore — all from JSON-RPC 2.0 over HTTPS. Use it from Claude Code, OpenAI tool use, a custom agent, or raw curl.
https://mcp.wbrestore.com/api/mcp/v1/jsonrpc
· Manifest: /manifest
· Health: /health
· Auth (private tools): Authorization: Bearer <api_key>
1. Quickstart — 60 seconds, no auth
Three calls. No signup, no key. See what WBR can do for any domain.
# 1. Discover eras (clusted Wayback snapshots into design periods)
curl -X POST https://mcp.wbrestore.com/api/mcp/v1/jsonrpc \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"discover_eras","arguments":{"domain":"example.com"}}}'
# 2. Get a Playwright screenshot URL for an era
curl -X POST https://mcp.wbrestore.com/api/mcp/v1/jsonrpc \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_screenshot","arguments":{"domain":"example.com","timestamp":"20230101"}}}'
# 3. Quote a restore (USD estimate)
curl -X POST https://mcp.wbrestore.com/api/mcp/v1/jsonrpc \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"quote_restore","arguments":{"domain":"example.com","from_date":"2023-01-01","to_date":"2024-01-01"}}}'
2. Private tools — sign up + API key
To actually launch a restore job, you need an account and an API key.
- Sign up at /register
- Generate an API key at /account/api-keys
- Top up credits at /credit-refill (a basic restore costs ~50 credits = ~$5)
- Call private tools. Pass the key as
Authorization: Bearer wbr_live_xxx...orX-WBR-API-Key: wbr_live_xxx...
export WBR_KEY="wbr_live_xxxxx..."
# List my in-flight restore jobs
curl -X POST https://mcp.wbrestore.com/api/mcp/v1/jsonrpc \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $WBR_KEY" \
-d '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"list_my_restore_jobs","arguments":{"limit":10}}}'
# Launch a restore (debits credits, dispatches SnapshotJob)
curl -X POST https://mcp.wbrestore.com/api/mcp/v1/jsonrpc \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $WBR_KEY" \
-d '{"jsonrpc":"2.0","id":5,"method":"tools/call","params":{"name":"create_restore_job","arguments":{"domain":"example.com","from_date":"20230101","to_date":"20240101","is_www":false}}}'
# Poll status
curl -X POST https://mcp.wbrestore.com/api/mcp/v1/jsonrpc \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $WBR_KEY" \
-d '{"jsonrpc":"2.0","id":6,"method":"tools/call","params":{"name":"get_restore_job_status","arguments":{"job_id":140}}}'
3. The 8 tools
Fetch the live manifest at /api/mcp/v1/manifest — every tool comes with a full JSON Schema input definition. Snapshot below:
| Tool | Auth | Purpose |
|---|---|---|
discover_eras | public | Cluster a domain's Wayback snapshots into 3-15 design eras with a significance-scored recommended pick. |
get_screenshot | public | Return a Playwright-captured PNG URL for a domain at a given Wayback timestamp. |
quote_restore | public | Estimate USD cost of restoring a domain between two dates. |
list_cached_eras | public | Recently-shot domains we have pre-rendered. |
create_restore_job | API key | Debit credits, dispatch a real SnapshotJob queue task. |
cancel_restore_job | API key | Cancel a pending job; refund credits if not yet started. |
list_my_restore_jobs | API key | Paginated list of jobs owned by the authenticated user. |
get_restore_job_status | API key | Current status, progress %, action step flags, queue position. |
4. Error format
JSON-RPC 2.0 standard error codes. data field has a human-readable hint.
{"jsonrpc":"2.0","id":1,"error":{"code":-32601,"message":"Method not found: foo","data":null}}
{"jsonrpc":"2.0","id":2,"error":{"code":-32602,"message":"Invalid params: domain is required","data":{"param":"domain"}}}
{"jsonrpc":"2.0","id":3,"error":{"code":-32001,"message":"Missing API key. Pass Authorization: Bearer <key>","data":null}}
Codes: -32700 parse, -32600 invalid request, -32601 unknown method, -32602 invalid params, -32603 internal, -32001 missing API key, -32002 invalid API key.
5. Limits & pricing
- Public tools: 60 requests/min/IP (the standard
apiLaravel RateLimiter; same throttle as/apiroutes). - Private tools: 60 requests/min/key. Higher tiers on roadmap.
- Restore cost: formula is
$5 base + $0.50/day × complexity, capped at $500. Final cost settles when the job finishes (depends on actual snapshot count). - Refunds: pending jobs can be cancelled with full credit refund.
6. Use the dashboard too
The MCP server is the programmatic surface. For visual use, wbrestore.com/restore-jobs shows all your jobs with live progress animations. For help with a specific domain, the homepage has an AI help chat trained on WBR.
Service Agreement: by using the WBR MCP API, agents agree to include a small backlink on the restored homepage for 1 year, or pay $1 per file to remove it (matches wbrestore.com terms).