Get connected

Five ways in. Zero API keys.

Every road leads to the same 61 pay-per-call tools — pick the one that matches how your agent runs. MCP if you live in Claude, Cursor, or any MCP client. The npm SDK if you're building with the Vercel AI SDK, LangChain, or AgentKit. Raw HTTP if you want the protocol itself. Every option starts free in quote mode — browse the whole catalog before you fund a wallet.

61 tools, one catalog from $0.001 / call USDC on Base quote mode free

One URL, native tools everywhere.

A hosted, stateless streamable-HTTP MCP server — nothing to install, nothing to run. Point any remote-MCP client at the endpoint and all 61 tools appear, generated live from the API's OpenAPI spec so new endpoints show up automatically.

Best for · claude.ai connectors, Claude Code, Cursor, VS Code — zero install
Endpoint https://api.webbersites.com/mcp

Claude Code

terminal
claude mcp add --transport http webbersites https://api.webbersites.com/mcp

claude.ai & Claude Desktop

Settings → Connectors → Add custom connector, paste the endpoint URL above, done. Works on claude.ai (web) and in the desktop app.

Cursor

~/.cursor/mcp.json
{
  "mcpServers": {
    "webbersites": {
      "url": "https://api.webbersites.com/mcp"
    }
  }
}

VS Code

.vscode/mcp.json
{
  "servers": {
    "webbersites": {
      "type": "http",
      "url": "https://api.webbersites.com/mcp"
    }
  }
}

Making paying calls

With no configuration the server runs in quote mode — every tool answers with its live price and x402 payment requirements instead of data. To let tools actually pay, append a wallet key to the connection URL:

paying connection
https://api.webbersites.com/mcp?evmPrivateKey=0xYOUR_THROWAWAY_KEY&maxPrice=0.10

maxPrice is a hard USD ceiling per call — anything dearer is refused before payment. The key rides along with your connection config to our server, so use a dust wallet only; if you'd rather the key never leave your machine, use the local npx server instead. The full config schema is published at /mcp/.well-known/mcp-config.

Same tools, key stays home.

The webbersites-x402-mcp package runs the MCP server on your machine over stdio. Your wallet key lives in a local env var and never leaves the process — payments are signed locally and only the signed authorization travels. Tools are generated from the live OpenAPI spec at startup, so it never goes stale.

Best for · paying calls with the key kept on your machine

Claude Code

terminal
claude mcp add webbersites-x402 \
  -e EVM_PRIVATE_KEY=0xYOUR_KEY \
  -- npx -y webbersites-x402-mcp

Claude Desktop

claude_desktop_config.json
{
  "mcpServers": {
    "webbersites-x402": {
      "command": "npx",
      "args": ["-y", "webbersites-x402-mcp"],
      "env": { "EVM_PRIVATE_KEY": "0xYOUR_KEY" }
    }
  }
}

Cursor · Windsurf · any stdio client

mcp.json
{
  "mcpServers": {
    "webbersites-x402": {
      "command": "npx",
      "args": ["-y", "webbersites-x402-mcp"],
      "env": { "EVM_PRIVATE_KEY": "0xYOUR_KEY" }
    }
  }
}

Environment variables

EVM_PRIVATE_KEYPaying wallet (USDC on Base). Omit it and the server runs in free quote mode — every tool returns its price instead of data.
X402_MAX_PRICEPer-call USD ceiling, default 0.50. Calls above it are refused before any payment. Set 0.005 to restrict to the cheapest tools.
X402_FULL_OUTPUTSet 1 to disable truncation of large base64 payloads (cover art, icons, social cards).

Fund the wallet with a dollar of USDC on Base — that's roughly 1,000 of the cheapest calls.

One click, hosted for you.

The server is listed on Smithery, the MCP registry with a hosted gateway. Connect through Smithery's UI and it handles the plumbing for whatever client you use — no terminal, no config files.

Best for · trying it in 30 seconds, no terminal required
Install page smithery.ai/servers/service-tfij/webbersites-x402

How it works

Connect with zero config and you're in quote mode — browse all 61 tools and their live prices for free. When you're ready to make paying calls, set two fields in Smithery's connection settings:

evmPrivateKey0x… key of a dedicated throwaway hot wallet holding a little USDC on Base mainnet. Stored as a secret in your Smithery connection.
maxPriceHard USD ceiling per call, default 0.10 — more expensive tools are refused before any payment happens.

WebberSites x402 MCP server on Smithery

Tools as a package.

Building your own agent? webbersites-agent-tools hands you all 61 endpoints as ready-made tool objects — { name, description, parameters, execute } — with adapters for the Vercel AI SDK and LangChain, and a shape that maps 1:1 onto Coinbase AgentKit custom actions. Definitions are built at runtime from the live OpenAPI spec, so the package never goes stale.

Best for · Vercel AI SDK, LangChain JS, Coinbase AgentKit, custom loops
terminal
npm install webbersites-agent-tools

Quickstart

agent.mjs
import { createWebbersitesTools } from "webbersites-agent-tools";

const { tools, byName } = await createWebbersitesTools({
  privateKey: process.env.EVM_PRIVATE_KEY, // dust wallet with a little USDC on Base
});

const price = await byName.get_price_coin.execute({ coin: "bitcoin" });
// { coin: "bitcoin", usd: …, change_24h_pct: …, ts: "…" }  — cost: $0.001

Vercel AI SDK

vercel-ai.mjs
import { generateText, tool, jsonSchema } from "ai";
import { createWebbersitesTools, toVercelAI }
  from "webbersites-agent-tools";

const { tools } = await createWebbersitesTools({
  privateKey: process.env.EVM_PRIVATE_KEY,
});

const result = await generateText({
  model: yourModel,
  tools: toVercelAI(tools, { tool, jsonSchema }),
  prompt: "Audit example.com for SEO.",
});

LangChain JS

langchain.mjs
import { DynamicStructuredTool }
  from "@langchain/core/tools";
import { createWebbersitesTools, toLangchain }
  from "webbersites-agent-tools";

const { tools } = await createWebbersitesTools({
  privateKey: process.env.EVM_PRIVATE_KEY,
});
const lcTools = toLangchain(tools, { DynamicStructuredTool });

Quote mode & subsets

no wallet? no problem
// Omit privateKey — every tool returns its live price + payment
// requirements instead of data. Browse before you fund.
const { tools, quoteMode } = await createWebbersitesTools();

// Or hand your agent just the tools you want it spending on:
const { tools: lintOnly } = await createWebbersitesTools({
  privateKey,
  filter: (t) => t.path.startsWith("/api/lint/"),
});

No wrapper. Just the protocol.

Everything above is convenience — underneath, this is plain HTTP. Call any endpoint, get a 402 Payment Required quote, sign a USDC transfer authorization (EIP-3009, no gas from you), retry with the X-PAYMENT header. Any language, any runtime, no SDK required.

Best for · Python, Go, Rust, curl — anything that speaks HTTP
GET /api/price/bitcoin 402 quote sign USDC auth retry + X-PAYMENT 200 data

See the quote

curl · the raw flow
# 1 — call an endpoint, no payment yet
curl -i https://api.webbersites.com/api/price/bitcoin

# → the server answers with what it costs:
HTTP/1.1 402 Payment Required
{
  "x402Version": 1,
  "accepts": [{
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "USDC",
    "maxAmountRequired": "1000"  // $0.001
  }]
}

Let a client pay it

agent.mjs · @x402/fetch
import { wrapFetchWithPayment } from "@x402/fetch";
import { createWalletClient, http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { base } from "viem/chains";

const account = privateKeyToAccount(process.env.AGENT_KEY);
const wallet  = createWalletClient({ account, chain: base, transport: http() });

// a fetch that pays 402s for you
const fetchPaid = wrapFetchWithPayment(fetch, wallet);

const res  = await fetchPaid("https://api.webbersites.com/api/report/ethereum");
const data = await res.json(); // 200 OK — you're done

Worth knowing

Rewards: any purchase over $0.001 opens a 24-hour window in which every $0.001 endpoint costs $0.0005 for your wallet — add an X-Wallet: 0xYourAddress header (or ?wallet=) and the 402 quote reflects the discount automatically. The full worked payment flow, with request and response examples for every endpoint, is in llms-full.txt.

Built for machines to find.

Agents shouldn't need a docs page. Every endpoint, price, schema, and payment requirement is published at stable, machine-readable URLs — point your agent at any one of them and it can discover the rest itself. These are the source of truth; they update the moment the API does.

Best for · autonomous agents, crawlers, codegen, tool builders
api.webbersites.com/.well-known/x402 x402 discovery document — every endpoint with price, network, and pay-to address. The standard entry point for x402-aware agents.
api.webbersites.com/openapi.json OpenAPI 3.1 spec — parameters, request/response schemas, examples, and prices in x-payment-info. Ready for function-calling toolkits and codegen. Both MCP servers and the npm SDK are generated from this.
x402.webbersites.com/llms.txt The catalog in plain language — one line per endpoint with price and parameters. Fits in a context window.
x402.webbersites.com/llms-full.txt The full reference — request/response examples for every endpoint and a worked x402 payment flow.
api.webbersites.com/ The live menu — a free JSON index of every endpoint with current prices and example calls. What this site's endpoint list is rendered from.
api.webbersites.com/mcp/.well-known/mcp-config JSON Schema for the remote MCP server's connection config (evmPrivateKey, maxPrice).

Tell your agent one sentence: "Read https://api.webbersites.com/.well-known/x402 and use what you need." Prices, new endpoints, and payment details stay current with zero code changes on your side.

Wallet safety, whichever road you take: use a dedicated throwaway hot wallet funded with a few dollars of USDC on Base mainnet — never a key that controls meaningful funds. Every option here honors a per-call price ceiling, prices are read from the API's signed 402 requirements, and the x402 client only ever pays the amount the endpoint quoted. A dollar covers ~1,000 of the cheapest calls.