From one source check
to your agent workflow.

Use ProofFetch when your agent needs a public page as cited text with source, retrieval time and integrity hashes. First confirm that we can read the page. No key, card or payment is needed for that check.

1. Add the remote MCP server

In a client that supports remote HTTP MCP, add this server URL. Use its built-in connection flow; it handles initialization and tool discovery. Client-specific configuration field names vary.

https://prooffetch.tryneverclosed.com/mcp

Authentication: none for the two discovery/preflight tools. No API key belongs in this URL.

2. Run the free tool

Choose proof_fetch_preflight with the following arguments:

{
  "url": "https://example.com/",
  "maxChars": 30000
}

For your own MCP client implementation, initialize first with protocol 2025-06-18, send notifications/initialized, then send this JSON body using POST /mcp and Content-Type: application/json:

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "proof_fetch_preflight",
    "arguments": {
      "url": "https://example.com/",
      "maxChars": 30000
    }
  }
}

Inspect result.isError before consuming result.structuredContent. An HTTP 200 alone does not mean the source check succeeded. The response contains metadata, hashes and a free preview of about the first 1,000 characters of text; preview.complete is true when that is the whole page. proof_fetch_offer describes the paid offer; it does not buy anything.

3. Request cited text when you need it

Paid extraction is a separate REST workflow, not a third MCP tool. Through Stripe MPP card/SPT it costs $0.50 per successful extraction, Stripe's smallest card charge. Your payment-capable client must have the buyer's explicit authority. Prefer a card? Buy 500 extractions for $5.00 ($0.01 a page) on the home page through Stripe Checkout, then send the key as Authorization: Bearer <key> on the same POST /v1/evidence request: no payment challenge, one credit per successful extraction.

Send POST /v1/evidence with the URL, optional maxChars, and a newly generated high-entropy idempotencyKey (22–128 URL-safe characters). The first unpaid request receives an HTTP 402 payment challenge only after successful extraction. Use a compatible Stripe MPP client to authorize that challenge; do not paste card details, payment credentials or API keys into a chat or source URL.

The fulfilled response includes cited text and a Payment-Receipt header. Preserve the receipt and request/content hashes. For recovery, reuse the same request and idempotency key rather than generating a new purchase. Consult the request schema and current offer before implementing billing.

When a check fails