exhibit402-mcp

exhibit402-mcp

Enables agents to pay USDC on Base to permanently certify the current content of a public URL via dual-observer capture, and to re-verify existing certificates.

Category
Visit Server

README

exhibit402-mcp

MCP server for exhibit402, a live x402-paid web-evidence service. It lets an agent pay USDC on Base to permanently certify what a public URL serves right now, and to re-verify existing certificates.

How a capture works: two independent observers on different networks capture the URL at the same frozen instant. Byte-identical captures get tier CERTIFIED. Differing captures get tier WITNESSED, with a pixel agreement percentage and a diff map. Either way the evidence (screenshot plus a signed manifest) is stored permanently on Arweave, an RFC 3161 timestamp token is included, and an ERC-721 certificate is minted on Base to the wallet that paid.

Machine-readable service docs: /llms.txt and /openapi.json.

Tools

Tool What it does Price (USDC on Base)
certify_url(url, mode) Pays for a capture, then polls the claim ticket until the certificate is final (up to about 6 minutes). Returns the certificate JSON: tier, token id, ar:// links, hashes. $1.00 (fullpage, default) or $0.50 (viewport, first 1280x800 screen)
verify_certificate(id) Re-verifies any exhibit402 certificate: the service re-downloads the stored bytes, recomputes every SHA-256, and checks the on-chain record. Returns a machine-readable verdict. id is a token id, an Arweave tx id, or a job id. $0.02

If certify_url hits its polling timeout, it still returns the claim_url. Claim tickets are durable and free to read: fetch the claim URL later with a plain GET to collect the finished certificate. You are not charged twice.

Refund policy (disclosed by the service): rejected captures (oversize, unreachable page, content screen) refund automatically minus a $0.10 fee; service faults refund in full. WITNESSED is a deliverable, not a failure, and is not refunded.

Setup

You need one environment variable:

  • EXHIBIT402_WALLET_KEY: an EVM private key (hex) for a wallet that holds USDC on Base (chain id 8453). The wallet needs no ETH; x402 settles via EIP-3009 and the facilitator pays gas. The key stays in your process environment and is never logged.

Without the key the server still starts and lists its tools, and every call returns a clear setup error instead of failing silently.

Claude Code (one line)

claude mcp add exhibit402 --env EXHIBIT402_WALLET_KEY=0xYOUR_KEY -- npx -y exhibit402-mcp

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "exhibit402": {
      "command": "npx",
      "args": ["-y", "exhibit402-mcp"],
      "env": { "EXHIBIT402_WALLET_KEY": "0xYOUR_KEY" }
    }
  }
}

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "exhibit402": {
      "command": "npx",
      "args": ["-y", "exhibit402-mcp"],
      "env": { "EXHIBIT402_WALLET_KEY": "0xYOUR_KEY" }
    }
  }
}

Pricing summary

Action Price
Full-page capture $1.00
Viewport capture (1280x800) $0.50
Verify a certificate $0.02
Rejected capture refund fee $0.10 kept, rest refunded

All payments are x402 (USDC on Base, eip155:8453). Payment settles before the capture starts; polling the claim ticket is free.

Notes for operators

  • EXHIBIT402_URL overrides the service base URL (default https://exhibit402.dylan-caponi.workers.dev). You will not normally need it.
  • Fulfillment is normally 30 to 120 seconds, up to about 5 minutes with a cold observer or a retry round.
  • A verified: false verdict from verify_certificate is a delivered result and is charged. Malformed ids, unknown ids, and gateway outages are not charged.
  • The service refuses private and internal addresses before payment.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured