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.
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 installhttps://api.webbersites.com/mcp
claude mcp add --transport http webbersites https://api.webbersites.com/mcp
Settings → Connectors → Add custom connector, paste the endpoint URL above, done. Works on claude.ai (web) and in the desktop app.
{
"mcpServers": {
"webbersites": {
"url": "https://api.webbersites.com/mcp"
}
}
}
{
"servers": {
"webbersites": {
"type": "http",
"url": "https://api.webbersites.com/mcp"
}
}
}
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:
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.
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 machineclaude mcp add webbersites-x402 \ -e EVM_PRIVATE_KEY=0xYOUR_KEY \ -- npx -y webbersites-x402-mcp
{
"mcpServers": {
"webbersites-x402": {
"command": "npx",
"args": ["-y", "webbersites-x402-mcp"],
"env": { "EVM_PRIVATE_KEY": "0xYOUR_KEY" }
}
}
}
{
"mcpServers": {
"webbersites-x402": {
"command": "npx",
"args": ["-y", "webbersites-x402-mcp"],
"env": { "EVM_PRIVATE_KEY": "0xYOUR_KEY" }
}
}
}
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.
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 requiredsmithery.ai/servers/service-tfij/webbersites-x402
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.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.
npm install webbersites-agent-tools
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
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.", });
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 });
// 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/"), });
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.
# 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 }] }
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
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.
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 buildersx-payment-info. Ready for function-calling toolkits and codegen. Both MCP servers and the npm SDK are generated from this.
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.