X402 Mcp Server

io.github.Jannis-EPublished by GitHub account Jannis-Ev1.0.5Updated Oct 24, 2026

Pay-per-call x402 tools on Base: web extract/render, burn-once secret vault, chart, GeoTIFF

Overview

AI-generated overview

A local MCP server that gives an assistant pay-per-call tools on Base Mainnet, settling each call in USDC from a wallet you supply.

What you can do
Fetch a public URL and return clean markdown, or render JavaScript-heavy single-page apps in headless Chromium and serialize the result to markdown for LLM use. Create a burn-once secret vault that returns a claim link yielding the secret exactly once, with a signed attestation. Generate deterministic SVG bar charts from labeled scalar data. Transcode GeoTIFF/COG imagery into PNG or WebP with georeference metadata and source stats.
When to use it
Useful when you want web extraction, SPA rendering, one-time secret sharing, chart rendering or GeoTIFF conversion inside an assistant without signing up for API keys, and are willing to pay small per-call USDC amounts from a Base wallet.
Requirements
Runs locally via npx, so Node.js 18 or newer is needed. Requires a Base Mainnet EVM wallet funded with a small amount of real USDC, whose private key is set in the BASE_PRIVATE_KEY environment variable. Network access to the tool endpoints and payment facilitators is required.
Before you install
Every tool call spends real USDC from the wallet behind BASE_PRIVATE_KEY, with no signature prompt at call time; use a dedicated, lightly funded wallet and never commit the key. The GeoTIFF tool bills per attempt, so decode failures are still charged. Secrets passed to the vault tool are stored encrypted on a third-party service, and URLs and data are sent to external endpoints.

Installation

In SourceWeft

  1. Open X402 Mcp Server 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

x402-mcp-server

A small, growing catalog of x402-paywalled HTTP tools on Base Mainnet via x402 micro-payments — no API keys, no signup, pay per call in USDC.

This MCP server exposes that catalog as native MCP tools. Every tool call pays for itself automatically: the server POSTs the request, catches the real x402 v2 402 PAYMENT-REQUIRED challenge, signs an EIP-3009 TransferWithAuthorization with viem using a local wallet, and resubmits with the PAYMENT-SIGNATURE header. No human signature prompt at call time — the agent just calls the tool.

Tools

ToolCost (USDC)DescriptionKey input parameters
markdown-extractor0.01Fetches a public URL and returns clean, token-efficient markdown, paywalled with the x402 v2 protocol on Base Mainnet. Designed for autonomous AI agents to call directly: no API key, no signup — pay per call in USDC.url (string, required)
spa-dom-to-md0.03Renders JavaScript-heavy SPA pages in real headless Chromium via Cloudflare Browser Rendering, waits for network-idle / selector-ready, strips nav/footer/script chrome, and serializes the fully-rendered DOM into clean, LLM-ready Markdown.url (string, required)
burn-once-secret-vault0.01Store a secret (API key, webhook payload, signed URL) encrypted with WebCrypto AES-256-GCM and share a claim URL that yields the secret exactly once. A Durable Object serializes reads so single-use delivery is race-free, and every burn returns an Ed25519-signed attestation. Creating a vault requires x402 payment; the recipient's claim read (GET /v/:vault_id) is free.secret (string, required)
svg-bar-chart-renderer0.015Deterministic, paid-per-render SVG bar chart generator for LLM agents. Accepts labeled scalar data and layout options, performs exact geometry math (min/max normalization, nice-interval y-axis ticks, label spacing, bar-width distribution), and returns schema-valid, escape-correct SVG with identical input always yielding byte-identical output.data (array, required)
wasm-geotiff-transcoder0.03Decodes a GeoTIFF/COG (https URL or inline base64), reads the selected RGB bands via windowed overview reads, applies a tone-map stretch, and returns a PNG/WebP plus georeference metadata (CRS, bounds, pixel scale) and source stats. Limits: 20 MB source, 2048 px output width. Billed per attempt: payment settles after structural validation, before decode, so decode-time failures (e.g. a bands_rgb band the source lacks) are still charged.exactly one of source or or_base64_body (required)

All tools run on Base Mainnet (eip155:8453). Settlement happens server-side through an ordered facilitator chain — Coinbase CDP, then PayAI, then Primer as fallbacks — which changes nothing on your side: you sign the same EIP-3009 authorization either way, and every tool is also listed in the CDP and PayAI x402 Bazaar discovery catalogs. Exact request-body fields for each tool are also discoverable at runtime via <tool-url>/openapi.json.

Quickstart

Add this to your claude_desktop_config.json:

json
{  "mcpServers": {    "x402-mcp-server": {      "command": "npx",      "args": ["-y", "x402-mcp-server_by_milza"],      "env": {        "BASE_PRIVATE_KEY": "0xyour_base_mainnet_private_key"      }    }  }}

⚠️ Funding warning: BASE_PRIVATE_KEY must be a Base Mainnet wallet private key funded with a small amount of real USDC (e.g. $0.50 is enough for dozens of calls at these prices). Every tool call spends real money from this wallet. Do not use a key that holds funds you're not prepared to spend through this server, and never commit this key to source control.

Once configured, restart Claude Desktop and the tools listed above become available to the assistant automatically — no further setup, no dashboard, no API key registration.

How payment works

BASE_PRIVATE_KEY is your own wallet — whoever installs this server sets their own key and pays for their own calls. Each call settles straight to the tool provider's wallet; your key never touches anyone else's funds and no one else's key ever touches yours. To set it up:

  1. Use (or create) a Base Mainnet EVM wallet you're OK spending small amounts from.
  2. Fund it with a bit of USDC on Base (e.g. $0.50).
  3. Export its private key and set it as BASE_PRIVATE_KEY in your MCP client config, as shown above.

Security

  • BASE_PRIVATE_KEY never leaves your machine. It is read once from the local environment and used only to sign EIP-712 typed-data (EIP-3009 TransferWithAuthorization) payment authorizations locally with viem.
  • No raw private key, seed phrase, or signature is ever sent over the network — only the resulting signed authorization, exactly as the x402 protocol requires to settle payment for the specific request being made.
  • Payment terms (recipient, amount, network, asset contract, expiry) are read fresh from each live 402 challenge returned by the resource server, never trusted from a local cache, so a stale or tampered local catalog can't redirect funds.
  • Spending ceiling: the live 402 challenge is trusted for signing mechanics (domain, nonce window, asset) but never for the amount. Every call checks the challenge's requested amount against this catalog's known price for that tool and refuses to sign anything higher — a hijacked, compromised, or buggy endpoint can't get a blank-check signature just by asking for more.
  • This package does not phone home, collect telemetry, or store your key anywhere on disk.

Requirements

  • Node.js 18+
  • A Base Mainnet EVM wallet, funded with a small amount of USDC, whose private key you control

License

MIT

Links

Source: README.md at commit 034ab3a

Tools

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

Version history

2
  1. v1.0.5LatestSep 23, 2026
  2. v1.0.4Sep 22, 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