Catalog npm
Back to packageRELEASE DETAILS

0.1.0

npm

402scrape-mcp

MCP server for 402scrape — fetch a URL and get back clean, agent-ready Markdown, paid per call via x402 (USDC on Base) using your own wallet.

Published14 Oct 2026
Direct dependencies5
Transitive dependenciesNot calculated

README

Current package documentation

402scrape MCP server

Fetch any public webpage and get back clean, agent-ready Markdown, plain text, or structured JSON — stripped of navigation, ads, and boilerplate. Paid per call via the x402 protocol (USDC on Base), from your own wallet. No API key, no signup.

Setup

  1. Use a dedicated wallet, not your main one. Create a new wallet set aside only for this tool and fund it with a small amount of USDC on Base mainnet — never your primary wallet. Every call is a real, immediate payment with no confirmation step; treat this wallet's balance as the maximum you're willing to lose if something goes wrong.
  2. Set its private key as the X402SCRAPE_WALLET_KEY environment variable, or — if installed as a Claude plugin — enter it when prompted (stored in Claude's secure credential storage, never written to a config file in plaintext).
  3. Run it directly with npx -y 402scrape-mcp, or add it to your MCP client's config:
{
  "mcpServers": {
    "402scrape": {
      "command": "npx",
      "args": ["-y", "402scrape-mcp"],
      "env": {
        "X402SCRAPE_WALLET_KEY": "0x...",
        "X402SCRAPE_MAX_SPEND_USDC": "1.00"
      }
    }
  }
}

Current price per call is shown live in the tool's response — check https://402scrape.vercel.app/api/v1/extract for the current rate before relying on any number here.

Tool

extract_markdown — { url: string, format?: "markdown" | "text" | "json", renderJs?: boolean }. Set renderJs: true for JavaScript-heavy pages that need a headless browser to render (priced higher).

Cost and the spending cap

Every call is a real, non-refundable x402 payment from the configured wallet, with no confirmation step — an agent that gets stuck in a tool-call loop will keep paying until it stops. X402SCRAPE_MAX_SPEND_USDC (default $1.00) caps total spend for the lifetime of the running server process; once reached, further calls are refused with a clear error until the process restarts (which resets the counter). This is a last-resort circuit breaker, not a precise budget — fund the wallet with only what you're comfortable losing regardless of where the cap is set.

Environment variables

  • X402SCRAPE_WALLET_KEY (required) — private key of the paying wallet.
  • X402SCRAPE_MAX_SPEND_USDC (optional) — session spending cap in USDC, default 1.00.
  • X402SCRAPE_BASE_URL (optional) — defaults to https://402scrape.vercel.app. Override to point at a self-hosted or testnet deployment.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 5

Native requirements
5 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
zod
Environment
{
  "local_name": "zod",
  "alias": false,
  "peer_metadata": null
}
^4.2.0runtime
viem
Environment
{
  "local_name": "viem",
  "alias": false,
  "peer_metadata": null
}
^2.56.8runtime
@modelcontextprotocol/server
Environment
{
  "local_name": "@modelcontextprotocol/server",
  "alias": false,
  "peer_metadata": null
}
^2.3.1runtime
typescript
Environment
{
  "local_name": "typescript",
  "alias": false,
  "peer_metadata": null
}
^5development
@types/node
Environment
{
  "local_name": "@types/node",
  "alias": false,
  "peer_metadata": null
}
^20development

Distribution files

1 collected
Distribution 1

Source distribution

Source file
Checksums from source
{
  "shasum": "8b9dbe65640bc628d0daac847ccaf27cc26afe16",
  "tarball": "https://registry.npmjs.org/402scrape-mcp/-/402scrape-mcp-0.1.0.tgz",
  "fileCount": 6,
  "integrity": "sha512-yGDe17cuhPCHb10Ke24MNXIrJ0zAkj9P0j57EiSqM7igReA5tC6CdsIxrJyKTg53IiYrLTLFsviVTFC+MISG4Q==",
  "signatures": [
    {
      "sig": "MEUCIQDrtfH6WZfIwRdTxdEuiIlY+9DHeE2FHjdt4hPXZdZcygIgFbJXc46PnbjLqQ6LPIGNX5Gy8oZIvLQHEMGz0oUzjAE=",
      "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"
    },
    {
      "sig": "MEUCIBzVA3W3Zm94a3Vg+IXq/pKIDipqpEnBYQjRbfYzI/D9AiEAixhsHiAH3BvMv53OfwAsLZ4XhwIxvvH67+AdXfo9gyM=",
      "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"
    }
  ],
  "unpackedSize": 12788
}

Repository

PENDING
redsoukas/402scrape

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 19:58 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:03c818805d86efe73a84f0a6aaf5f240a35de5da7e8d7b07f2136515a42e3296

Other collected versions

0.1.114 Oct0.0.0-stage14 OctView all collected versions →