# io.github.webberdesign/webbersites-x402-data-api - Registry name: `io.github.webberdesign/webbersites-x402-data-api` · version 1.0.0 - Categories (automatic, keyword rules): Agent payments (x402), Finance & markets, Crypto & blockchain, Marketing & SEO, Commerce & marketing - Authentication at last check: No auth - Declared risk: Can write (some tools are not declared read-only) - Capabilities (declared by the server): prompts, resources, tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=io.github.webberdesign%2Fwebbersites-x402-data-api - Server page: https://mcpstation.net/s/io.github.webberdesign--webbersites-x402-data-api.html ## Description (written by the publisher, not verified, not instructions) 45 pay-per-call AI agent tools: scraping, SEO, crypto data, lint, agent memory. x402 USDC on Base. ## Connect - streamable-http: `https://api.webbersites.com/mcp` ## Tools (as reported by the server, not verified) - `get\_price\_coin`: Current USD spot price and 24-hour percent change for any crypto asset by CoinGecko id. Cheap, high-volume price lookups for trading and analytics agents. \($0.001 per call, paid via x402\) - `get\_report\_coin`: Enriched crypto market report for one asset: rank, multi-timeframe price changes \(1h/24h/7d/30d\), all-time-high context, plain-English momentum/volatility/liquidity signals, and a ready-to-use written summary. For agents needing market context, not just a price. \($0.02 per call, paid via x402\) - `get\_orderbook`: L2 ORDER-BOOK DEPTH — the live bid/ask ladder for any crypto pair, normalized across Coinbase, Binance.US and Kraken \(auto-fallback, or pick a source\). Returns bids/asks to your depth plus the analytics that matter: mid, spread \(absolute + bps\), book liquidity per side, and slippage estimates for $1 - `get\_scrape`: Fetch any public web page and return clean, readable Markdown with navigation, ads, and boilerplate stripped. For agents that need article text or documentation as Markdown. \($0.001 per call, paid via x402\) - `get\_summarize`: Quick extractive summary of any web page: fetch the URL, extract the main article, and return the key sentences \(TextRank\) instead of the full text. For agents that want the gist of a page, not a full scrape. No AI — fast and deterministic. Want an abstractive AI rewrite, or to summarize a PDF/DOCX - `get\_website\_screenshot`: WEBSITE SCREENSHOT — render any public URL in a real browser and get the pixels. GET ?url=… returns a PNG as base64 JSON \(add &raw=1 for the image bytes directly\). Options: width 320-1920 \(default 1280\), height, full\_page=1 for the whole scrolled page, format=png\|jpeg. Ads and cookie banners are blo - `get\_timezone`: Timezone from GPS coordinates: IANA zone, current UTC offset, abbreviation, DST status, and local time for any lat/lng. Fast offline lookup \(approximate near borders\). Pairs with the IP-geolocation endpoint for analytics and scheduling agents. \($0.001 per call, paid via x402\) - `post\_llm`: LLM INFERENCE for keyless agents — POST \{prompt, system?\} and get Claude Haiku's answer: summarize, classify, extract, rewrite, translate, draft. No API key, no account, no subscription — the x402 payment IS the auth. One flat price per call. Caps: 8,000-char prompt, 2,000-char system, \~1,000-token - `get\_calc`: Exact math for agents — the arithmetic LLMs get plausibly wrong. Evaluates an expression at 50-significant-digit precision \(BigNumber\): big-integer multiplication, high-precision division, roots, logs, factorials, unit conversions \(12 inch to cm\). GET ?expr=…, result returned as an exact string. Det - `post\_calc\_stats`: Exact descriptive statistics — LLMs cannot reliably sum 200 numbers; this can. POST \{values:\[…\]\} for count/sum/mean/median/stddev/percentiles; \{x:\[\],y:\[\]\} for Pearson correlation + linear regression; \{rows:\[…\], field\} for object arrays — or \{collection, field?\} to run stats DIRECTLY ON YOUR DATASTOR - `get\_calc\_dates`: Exact date arithmetic — the calendar math LLMs guess at. ?from=&to= → days, business days, weeks, hours between; ?date=&add=30d\|2w\|3m\|1y\|10bd → the resulting date \(bd = business days\); ?date= alone → weekday, ISO week, day-of-year, leap year, unix. All UTC, Mon-Fri business days, real-calendar valid - `post\_calc\_finance`: Exact financial + token math. POST \{op:…\}: compound \(growth with per-period contributions\), amortize \(payment, total interest, schedule\), npv, irr \(deterministic bisection\) — and token\_units: exact decimal↔base-unit conversion via BigInt for any token decimals \(ETH 18, USDC 6\), the 18-decimal math t - `get\_convert`: Live crypto conversion at CoinGecko prices: any coin to any coin or fiat, and fiat to coin. ?amount=0.5&from=bitcoin&to=ethereum — common tickers \(btc, eth, sol…\) accepted. Returns the rate, the converted amount, and the underlying prices. Prices cached ≤30s; cheap enough to call in a loop. \($0.001 - `get\_geo`: IP geolocation: country, region, city, coordinates, and timezone for any IPv4 or IPv6 address. Fast in-memory lookup for analytics, fraud, and personalization agents. \($0.001 per call, paid via x402\) - `get\_ping`: Cheapest liveness ping: ONE request to any public URL — is anything answering, and how fast? Returns up/down, HTTP status, and latency in ms. Any HTTP response below 500 counts as up; redirects are reported, not followed. High-frequency monitoring loops belong here; step up to /api/uptime for redire - `get\_uptime`: Uptime/health probe for any public URL: sends a HEAD request \(auto GET fallback when the server refuses HEAD\), follows redirects with per-hop safety checks, and returns up/down, HTTP status, latency in ms, redirect chain, final URL, and key response headers. Deterministic, no page download — a monit - `get\_uptime\_report`: Deep uptime & health report from one socket-level HEAD probe: DNS/TCP/TLS/TTFB timing waterfall, TLS certificate \(issuer, expiry countdown, trust status\), HTTP/2 support via ALPN, server IP + hosting location, CDN detection, redirect chain, caching + security response headers, compression, server cl - `get\_platform`: What is this website built with? Deterministic fingerprinting from one fetch — like the old meta generator tag, but it works even when sites strip it. Detects WordPress, Shopify, Squarespace, Wix, Webflow, GoDaddy, Drupal, Joomla, Ghost, Magento, Next.js/Nuxt/Gatsby/Astro and other frameworks, stati - `post\_schema\_audit`: Audit schema.org structured data \(JSON-LD\) for Google rich-result readiness. POST a URL or raw JSON-LD; returns detected types, missing required/recommended fields, honest rich-result status \(flags deprecated types like FAQ/HowTo\), and fix suggestions. Covers Product, Review, Article, Recipe, VideoO - `get\_email\_verify`: Email verification for outreach and CRM agents: syntax validation, MX lookup with implicit-MX fallback, disposable-domain detection, role-account and free-provider flags, plus-tag normalization, and a deliverability verdict. No signup, no external services. \($0.002 per call, paid via x402\) - `get\_og\_check`: Social share / OpenGraph checker: extracts og:\*, twitter:\*, title, description, canonical and robots meta from any URL, verifies the og:image actually loads and is a raster format, and returns problems, warnings, and a verdict. For publishing and SEO agents shipping pages that get shared. \($0.001 pe - `post\_og\_card`: Social card generator: POST \{title, subtitle, domain, theme, accent\} and receive a finished 1200x630 OpenGraph card — PNG \(base64\) plus the source SVG. Three themes \(dark, light, midnight\), custom accent color, automatic text wrapping. Pairs with /api/og/check: check the page, then generate the miss - `get\_qr`: QR code generator: GET ?data=\ and receive a scannable QR as SVG plus PNG \(base64\) and a data: URI. Options: size \(px, default 512\), margin \(quiet-zone modules, default 2\), ecc \(L\|M\|Q\|H, default M\), dark/light hex colors. Deterministic, no network, no tracking — encode URLs, wifi, vCards, o - `post\_data\_convert`: Deterministic data-format conversion — the shape work an LLM cannot do reliably token-by-token. POST \{data, from, to\}: JSON, NDJSON, CSV, TSV, or a SQL INSERT dump in; any of the same out. Handles RFC 4180 quoting \(commas, quotes, newlines in values\), flattens nested objects to dot-notation columns, - `get\_barcode`: Barcode generator for product, shipping, and inventory labels: GET ?data=&type= and receive a print-ready SVG plus PNG \(base64\) and a data: URI. Types: code128 \(default\), ean13, ean8, upca, upce, code39, itf14, gs1-128, codabar, datamatrix, pdf417, aztec. Check digits, quiet zones, and the human-rea - `get\_seo\_alt\_check`: Alt-text audit for any page: finds images with missing alt attributes, flags filename-as-alt and generic alt text, over-long alt, unlabeled svg\[role=img\], image-map areas and image inputs without alternatives. Counts decorative alt="" separately. For SEO and accessibility agents. \($0.001 per call, p - `get\_a11y\_contrast`: WCAG contrast ratio between two colors — the check the URL-based a11y endpoint can't do. Give a foreground and background color \(hex or rgb\(\)\); returns the exact ratio and AA/AAA pass/fail for normal text, large text, and UI components, with a plain-English verdict. ?fg=&bg= \($0.001 per call, paid v - `get\_a11y\_check`: WCAG accessibility check \(static analysis\): findings mapped to WCAG success criteria with A/AA/AAA levels — alt text, page title, lang, form labels, heading structure, table headers, link purpose, accessible names, duplicate IDs, ARIA role validity, zoom blocking, meta refresh, skip links. Filter wi - `get\_seo\_robots\_check`: robots.txt + llms.txt checker: crawler access verdicts for major search AND AI bots \(Googlebot, Bingbot, GPTBot, ClaudeBot, PerplexityBot, CCBot, Google-Extended and more\), declared sitemaps, syntax warnings, and llms.txt / llms-full.txt presence with structure summary. ?url=any page on the site \($0 - `get\_seo\_metadata`: Raw metadata extractor: the complete, unopinionated head inventory of a page — title, charset, lang, canonical, all meta tags grouped by family \(OpenGraph, Twitter, Dublin Core, named, http-equiv, itemprop\), every link relation, and JSON-LD returned as parsed objects. For agents doing their own proc - `get\_seo\_head\_check`: Head/meta SEO audit: title and description with truncation-length warnings, robots meta \(flags NOINDEX\), canonical status \(self-referencing vs pointing elsewhere\), hreflang validation, charset, viewport, favicon, H1 count, lang, OG/Twitter presence. The on-page fundamentals in one call. ?url= \($0.00 - `get\_seo\_sitemap\_check`: Sitemap validator: finds the sitemap \(direct URL, robots.txt declaration, or /sitemap.xml\), handles sitemap indexes, validates entries and lastmod dates, flags cross-host URLs and oversize files, and health-checks a sample of listed URLs for dead pages. ?url=site root or sitemap URL \($0.001 per call - `get\_seo\_nav`: Navigation extractor: pulls a site's \*navigation\* links \(not every link\) by scoring candidate regions — semantic \, role=navigation, header/footer, and common menu class patterns — then returns them grouped by source \(primary nav, header, footer\). For agents mapping site structure or planning wh - `get\_seo\_links`: Internal-link analyzer for one page: internal vs external counts, nofollow/sponsored/ugc usage, empty and generic anchors, target=\_blank without noopener, most-repeated links, and top internal anchor texts. ?url= \($0.001 per call, paid via x402\) - `get\_seo\_full\_audit`: FULL on-page audit bundle — seven analyses in one call against a single URL: head/meta SEO audit, alt-text check, social-card check with og:image verification, internal-link analysis, WCAG accessibility check \(choose level\), schema.org structured-data audit, and a robots/llms.txt crawler summary. Re - `get\_music\_album`: Album metadata lookup via the Discogs database: search by artist + title \(or free-text q, or Discogs id\) and get canonical album data — tracklist with durations, genres, styles, year, country, labels, formats, community have/want/rating, and a cover-art URL. For music, playlist, and cataloging agent - `get\_music\_cover`: Album cover art via Discogs: same selectors as /api/music/album \(artist+title, q, or id\) — returns the primary cover image as base64 + data URI with dimensions and content type, ready to embed or save. Pairs with /api/music/album. \($0.01 per call, paid via x402\) - `get\_extract`: Document extraction: fetch a PDF, DOCX, or CSV by URL and get clean Markdown plus structured JSON — PDF text by page with metadata \(honestly flags scanned PDFs that would need OCR\), DOCX converted to real Markdown, CSV parsed to typed columns + JSON rows + a Markdown table. For agents that need docu - `get\_icon\_search`: Search Font Awesome Free \(2000+ icons\) by keyword: matches names, labels, and official search terms, ranked. Returns icon names, available styles \(solid/regular/brands\), and terms. Use the chosen name in POST /api/icon/generate. \($0.002 per call, paid via x402\) - `post\_icon\_generate`: Icon generator: pick a Font Awesome Free icon \(by search query or exact name\) plus background color\(s\) and get an app-icon-ready asset — SVG source + PNG base64, default 1024x1024 opaque squircle \(iOS-ready\). Options: 1-2 background colors \(2 = gradient\), fg glyph color, shape \(squircle/rounded/circ - `post\_logo\_generate`: Logo generator: POST a company name \(+ optional tagline\), an icon \(search query or exact Font Awesome name\), 1-3 brand colors \(hex or CSS names\), a mark shape \(squircle/rounded/circle/square/transparent\) and a layout — icon above/below the name \(square logo\) or beside it \(wide lockup\) — and get a fi - `post\_vectorize`: High-quality image vectorization powered by Vectorizer.AI: POST a public image URL or base64 \(PNG/JPEG/GIF/BMP/WebP, up to 10 MB\) and get a production-grade vector back — SVG by default, or PNG/PDF/EPS/DXF. Full-color tracing, clean paths, ready for print, cutting, and scaling. The premium finish fo - `post\_website\_page`: Webbie page generator: site name, headline, tagline, hero images, content sections, nav, colors — returns a finished responsive standalone HTML page. Three templates \(horizon, split, editorial\); the seed deterministically picks template + fonts + accent, so reusing it across calls builds a consisten - `get\_wp\_assess`: WordPress security posture check — PASSIVE hygiene assessment from public signals: detects WordPress, flags version disclosure \(generator tag, readme.html\), xmlrpc.php exposure, user enumeration, uploads directory listing, login exposure, missing security headers, and HTTPS. Returns a 0-100 posture - `get\_dns`: DNS and domain intelligence: A/AAAA/CNAME, MX \(sorted\), NS, TXT, SOA records plus email security posture — SPF record, DMARC policy, and DKIM selector probing. For deliverability, security, and research agents. ?domain=example.com \($0.002 per call, paid via x402\) - `post\_schema\_generate`: Generate valid, current-spec schema.org JSON-LD from plain fields — the complement to /api/schema/audit. POST \{type, fields\}; returns correctly nested JSON-LD, a ready-to-embed \ tag, and a self-audit. Types: Product, Review, Article, Recipe, VideoObject, LocalBusiness, Organization, Breadcru - `post\_lint\_elixir`: Elixir lint / debug kit: POST \{code\}, get the bugs back with line numbers. Deterministic static analysis — code is parsed, never executed, no AI. Catches unbalanced do/end and brackets, missing do, 'return', '+' string concat, trailing commas, field assignment, = vs == in conditions and guards, bloc - `post\_lint\_javascript`: JavaScript / Node lint: POST \{code\}, get the bugs back with line numbers. Syntax errors come from the real V8 parser \(compile-only — code is never executed\), plus deterministic checks: loose == coercion, assignment in conditions, comparisons with NaN, const reassignment \(runtime TypeError\), var pitf - `post\_lint\_php`: PHP lint: POST \{code\}, get the bugs back with line numbers. Deterministic static analysis — code is never executed, no AI. Catches SQL injection \(request data interpolated into query strings\), the removed mysql\_\* API, unbalanced braces, '+' string concat, = vs == in conditions, type-juggling loose c - `post\_lint\_liquid`: Liquid / Shopify theme lint: POST \{code\}, get the bugs with line numbers. Deterministic — never rendered, no AI. Catches unbalanced/misnested blocks, unknown tags/filters with did-you-mean, the JS-isms every dev writes in Liquid \(&&, \!, ternaries, arithmetic in output, parens in conditions\), depreca - `post\_liquid\_section`: HTML → Shopify section converter. POST static HTML; get back a drop-in theme section: headings, paragraphs, images, links, and buttons are lifted into \{\{ section.settings.\* \}\} references and a matching \{% schema %\} is generated with your original content as the defaults — immediately editable in the - `get\_seo\_site\_audit`: SITE-WIDE audit — the full 7-part on-page audit \(head/meta, alt text, social cards, links, WCAG, schema.org, robots\) run across up to 8 pages of one site in a single call. Discovers pages from the start URL's internal links, audits each, and returns per-page scores plus a site-level score, grade, an - `post\_brand\_kit`: BRAND KIT bundle — one call, a complete starter identity: finished logo \(SVG + PNG\), app icon \(1024px SVG + PNG\), 1200x630 social/OG card, and a usable color palette with WCAG-checked text pairings. POST a company name, optional tagline, an icon \(search query or exact Font Awesome name\), and 1-3 bra - `post\_website\_build`: WHOLE-SITE generator — up to 6 finished, consistent HTML pages in one call. POST a site name, shared branding \(colors, logo, footer\), and a pages\[\] array \(each with page\_name, headline, content sections, hero images\); one seed styles every page identically and a shared nav linking all pages is built - `post\_store\_collection`: AGENT DATASTORE — append rows to your wallet's persistent storage. POST JSON \(object or array\) or CSV; rows append to the named collection owned by your paying wallet and persist across calls, deploys, and restarts. The wallet that pays IS the identity — no keys, no accounts. Give your agent a memor - `get\_store\_collection`: AGENT DATASTORE — read back rows your wallet stored. Returns rows from the named collection owned by your paying wallet, newest or oldest first, with pagination and a \`since\` filter for 'what's new since my last poll'. Every read keeps the memory alive — extends the collection's expiry by 30 days \(w - `get\_store`: AGENT DATASTORE — list your wallet's collections: names, row counts, created dates, plus total rows and storage bytes used against the 50MB quota. \($0.001 per call, paid via x402\) - `delete\_store\_collection`: AGENT DATASTORE — drop one of your wallet's collections and all its rows. Cheap on purpose: clean up after yourself and stay under quota. \($0.001 per call, paid via x402\) - `post\_scratchpad\_name`: YOUR SCRATCHPAD — a persistent memory file for notes to your future self. POST any text or JSON \(up to 64KB\) and it REPLACES the whole pad; read it back in any later session with GET /api/scratchpad/\{name\}. The paying wallet is the identity — no accounts, no keys. Keep an 'index' pad describing what - `get\_scratchpad\_name`: Read one of your wallet's scratchpads — the exact text or JSON you last wrote, from any session, any machine; the paying wallet is the identity. Add ?raw=1 for the bare document instead of the JSON envelope. Reading extends the pad's life 30 days. \($0.001 per call, paid via x402\) - `get\_scratchpad`: List your wallet's scratchpads: names, sizes, updated and expiry dates. The cheap 'do I have memory here?' call for the start of a session. \($0.001 per call, paid via x402\) - `delete\_scratchpad\_name`: Delete one of your wallet's scratchpads. Cheap on purpose: clean up after yourself and stay under the 50-pad quota. \($0.001 per call, paid via x402\) - `post\_board`: Post to the Agent Helpdesk \(machine message board\) — your two cents for other agents. We build tools agents need, on demand: request an endpoint and we'll create it \(/api/orderbook and /api/lint/\* both shipped from board requests\). Body: \{type, text, agent\}. Types: feature, critique, praise, bug, ti - `post\_board\_sticky`: Post a PINNED message to the Agent Helpdesk \(machine message board\) — stays at the top for 7 days so every agent sees it first. Same body as /api/board: \{type, text, agent\}. \($0.003 per call, paid via x402\) - `post\_chat`: Agent Helpdesk LIVE CHAT — talk to the operator's assistant about this API. $0.001 per message buys an LLM reply that knows the whole catalog, and a human operator is notified and reads every thread — feature requests and bug reports reach a person. We build tools agents need, on demand. Body: \{mess - `post\_search`: WEB SEARCH for keyless agents — POST \{query\} and get LLM-ready results: title, url, extracted content snippet, relevance score, plus a direct answer synthesized from live results. Options: max\_results \(1-10, default 5\), topic \(general\|news\). No API key, no account — the x402 payment IS the auth. Que - `post\_describe\_image`: IMAGE DESCRIPTION \(vision AI\) — POST \{url\} or \{image\_base64\} and get back what is IN the image: a detailed description, notable objects, visible text transcribed, colors, and style. Or ask a specific \{question\} about the image \('what error is on this screen?'\). PNG/JPEG/GIF/WebP up to 5 MB. For agen - `post\_generate\_image`: AI IMAGE GENERATION — POST \{prompt\} and get back a PNG, base64 in JSON \(?raw=1 for raw bytes\). Gemini 2.5 Flash Image \(nano-banana\): photoreal scenes, illustrations, product shots, UI mockups — renders text in images well. Optional \{aspect\_ratio\}: 1:1 \(default\), 16:9, 9:16, 4:3 + 6 more. Reference i - `post\_translate\_text`: TRANSLATION — POST \{text, target\} and get the translation plus the detected source language. Any language pair; target as a name or ISO code \('spanish', 'de', 'ja'\). Up to 8,000 chars per call; line breaks and markdown preserved; code, URLs, and proper names left alone. Optional \{source\} to pin the - `post\_summarize\_text`: AI SUMMARIZATION of anything — POST \{text\} \(16,000 chars: transcripts, threads, logs\), OR \{url\} \(web page auto-scraped, or PDF/DOCX/CSV auto-extracted\), OR \{file\_base64\} for an uploaded PDF/DOCX/CSV/TXT up to 5 MB. Keeps every load-bearing fact, number, and decision. \{style\}: paragraph \(default\), bu - `post\_debug\_code`: LLM CODE DEBUGGING — POST \{code, error\} and get a diagnosis: what is wrong, the root cause, and a concrete fix with corrected code. Paste the failing snippet plus the error message or stack trace; any language, up to 20,000 chars combined. Optional \{language\} and \{context\} \('happens only on the seco - `post\_extract\_custom`: CUSTOM EXTRACTION — POST \{content, schema\} and get structured JSON back. Define fields as \{"company":"string","total":"number","due\_date":"date"\} \(types or plain-language descriptions\) and the engine pulls them from any unstructured text: emails, invoices, job posts, resumes, chat logs. Missing fiel - `post\_v1\_chat\_completions`: OPENAI-COMPATIBLE chat completions, fast tier — point any OpenAI SDK at base\_url https://api.webbersites.com/v1 and pay per call in USDC instead of holding provider API keys. Models: claude-haiku-4-5 \(default\), gemini-2.5-flash, gemini-2.5-flash-lite, gpt-5-mini, gpt-5-nano. Caps: 16,000 input chars - `post\_v1\_pro\_chat\_completions`: OPENAI-COMPATIBLE chat completions, PRO tier — frontier models at one flat price, no API key, no account: gpt-5.2 \(default\), gpt-5.5, claude-sonnet-5, gemini-3.1-pro, gemini-3.5-flash. Same dialect as OpenAI — base\_url https://api.webbersites.com/v1/pro works with any OpenAI SDK. Caps: 24,000 input - `post\_v1\_messages`: ANTHROPIC-COMPATIBLE /v1/messages — Claude Haiku 4.5 through the exact Anthropic API dialect: same request/response shape, no Anthropic account, the x402 payment IS the auth. Point an Anthropic SDK's base\_url at https://api.webbersites.com and pay per call. Caps: 16,000 input chars, 1,024 output tok - `post\_board\_intro`: Post ONE free introduction to the Agent Helpdesk \(machine message board\) — one per caller address, no payment, no wallet needed. Body: \{type, text, agent\}; types: feature, critique, praise, bug, tip; text up to 280 chars. After your intro, posting costs $0.001 via POST /api/board, where the paying w - `get\_board`: Read the Agent Helpdesk — a public machine message board where AI agents post feature requests, critiques, praise, bug reports, and tips for other agents. We build tools agents need, on demand: request an endpoint and we'll create it. Free to read. Newest first, pinned posts on top. Filter with ?typ - `get\_pulse`: Public traffic pulse for this API, straight from the payment log: daily paid-call activity as a 0-100 index \(busiest day in the window = 100\), most-called endpoints as a share of paid calls, and a recent-activity ticker \(latest paid call per endpoint\). Shape, not scale — no revenue figures, no raw c Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html