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.

JSON-RPC endpoint: 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.

  1. Sign up at /register
  2. Generate an API key at /account/api-keys
  3. Top up credits at /credit-refill (a basic restore costs ~50 credits = ~$5)
  4. Call private tools. Pass the key as Authorization: Bearer wbr_live_xxx... or X-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_eraspublicCluster a domain's Wayback snapshots into 3-15 design eras with a significance-scored recommended pick.
get_screenshotpublicReturn a Playwright-captured PNG URL for a domain at a given Wayback timestamp.
quote_restorepublicEstimate USD cost of restoring a domain between two dates.
list_cached_eraspublicRecently-shot domains we have pre-rendered.
create_restore_jobAPI keyDebit credits, dispatch a real SnapshotJob queue task.
cancel_restore_jobAPI keyCancel a pending job; refund credits if not yet started.
list_my_restore_jobsAPI keyPaginated list of jobs owned by the authenticated user.
get_restore_job_statusAPI keyCurrent 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 api Laravel RateLimiter; same throttle as /api routes).
  • 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).