Region Fetch

dev.regionfetchPublished by regionfetch.devv0.1.1Updated Oct 24, 2026

Fetch any public URL as a visitor in a chosen country, with a signed receipt of its origin.

VerifiedSTDIODesktop onlyWeb Search & ScrapingFinance

Overview

AI-generated overview

Local MCP server that fetches a public HTTPS URL as a visitor in a chosen country and returns a signed receipt of where the retrieval came from.

What you can do
Fetch a public HTTPS URL as seen from a chosen country (US, DE, JP, BR or IN), in plain HTTP or browser mode, through a single regionfetch tool. Return the upstream status, body and a signed Ed25519 receipt, with the receipt verified against the deployment's published key and the returned body before it reaches the model. Preserve non-2xx upstream statuses and bodies verbatim and flag them as errors. Keep signed receipts on terminal paid failures so the paid attempt stays evidenced.
When to use it
Useful when you need to see how a public page or endpoint responds from a specific country and want verifiable proof of the retrieval origin, for example checking geo-specific content or regional availability. Not needed for ordinary fetching where location and receipts do not matter.
Requirements
Runs locally over stdio via the npm package regionfetch-mcp; Node 20.11 or later. A funded Base wallet private key in REGION_FETCH_WALLET_PRIVATE_KEY (recommended) or a single pre-made x402 authorization in REGION_FETCH_PAYMENT_SIGNATURE. Optional settings include REGION_FETCH_BASE_URL, REGION_FETCH_MAX_PAYMENT, REGION_FETCH_RPC_URL, REGION_FETCH_TIMEOUT_MS and REGION_FETCH_ALLOW_INSECURE_HTTP. Network access required; the README marks it pre-release and not yet published to npm.
Before you install
Each tool call is paid: the server signs an x402 authorization per call, capped by REGION_FETCH_MAX_PAYMENT (default $0.10, and off disables the cap). It needs a funded wallet private key, a high-value secret; the static signature funds only one request, so a second call fails. The README says keys and authorizations are never accepted as tool arguments or written to output, but the key still sits in the host's environment. Legacy variable names are still read.

Installation

In SourceWeft

  1. Open Region Fetch in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

regionfetch-mcp

MCP server for Region Fetch — fetch a public HTTPS URL as a visitor in a specific country would see it, with a signed Ed25519 receipt proving where the retrieval came from.

Pre-release. Not yet published to npm. Build from source: https://github.com/regionfetch/regionfetch

bash
npx -y regionfetch-mcp

Node 20.11+. stdio transport. Exposes exactly one tool: regionfetch.

Configuration

Wallet mode (recommended)

json
{  "mcpServers": {    "regionfetch": {      "command": "npx",      "args": ["-y", "regionfetch-mcp"],      "env": {        "REGION_FETCH_BASE_URL": "https://regionfetch.dev",        "REGION_FETCH_WALLET_PRIVATE_KEY": "0x...",        "REGION_FETCH_MAX_PAYMENT": "$0.10"      }    }  }}

The server signs one fresh x402 authorization per tool call. This is the only configuration that keeps working past the first request.

Static signature (testing only)

json
"env": { "REGION_FETCH_PAYMENT_SIGNATURE": "<one x402 authorization>" }

One authorization funds one request, so the second tool call will fail. The server says so on stderr at startup. Useful for a one-shot compatibility check, not for a running server.

Wallet mode wins when both are configured.

Environment variables

VariableDefaultPurpose
REGION_FETCH_BASE_URLhttps://regionfetch.devDeployment origin. A trailing /api is stripped.
REGION_FETCH_WALLET_PRIVATE_KEY—Funded Base wallet key. Enables wallet mode.
REGION_FETCH_MAX_PAYMENT$0.10Per-payment ceiling. off disables it.
REGION_FETCH_PAYMENT_SIGNATURE—A single pre-made authorization.
REGION_FETCH_RPC_URL—RPC endpoint for on-chain reads during payment construction.
REGION_FETCH_TIMEOUT_MS120000Per-request timeout.
REGION_FETCH_ALLOW_INSECURE_HTTP0Permit an http:// base URL. Development only.

Legacy GEOFETCH_BASE_URL, GEOFETCH_PAYMENT_SIGNATURE, and PAYMENT_SIGNATURE are still read, with the canonical names taking precedence. Their use is reported as deprecated on stderr.

The tool

regionfetch — url (https, ≤ 2048 chars), country (US | DE | JP | BR | IN), mode (http | browser, default http).

Results use the v1 envelope:

json
{  "status": 200,  "ok": true,  "response": { "data": { "...": "..." }, "receipt": { "...": "..." } },  "verification": { "valid": true, "signatureValid": true, "bodyHashMatches": true }}

verification is an additive field: the server verifies each receipt against the deployment's published key and the returned body before handing it to the model. Consumers reading only status, ok, and response are unaffected.

Non-2xx responses keep the upstream status and JSON body verbatim and set isError: true. Terminal paid failures (502, 504) keep their signed receipts — they are the evidence the paid attempt happened.

Security

  • Wallet keys and payment authorizations are never accepted as tool arguments, never written to stdout or stderr, and never returned in tool output.
  • stdout carries JSON-RPC only; all diagnostics go to stderr through a redacting logger. Tests assert both.
  • Only the tools capability is advertised. No resources, prompts, or subscriptions are implemented or claimed.

Full documentation: https://github.com/regionfetch/regionfetch

MIT

Source: packages/mcp/README.md at commit 45ff6be

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts