← The evidence ledger
Evidence row 294780
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint c807ac19-555d-4096-975a-185f027dc751
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 1a4a5b70bdfcd505e41d744c6b493b864a1e1af278c9a21e88b8869ecc7f1125
- Leaf
- 0x9c346969801d5874d4c5808c961c0aae1e0afc8e78b42670d3ca7de531d25b00
What was observed
{
"count": 78,
"tools": [
{
"description": "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)",
"inputSchema": {
"properties": {
"name": {
"description": "Pad name in the URL path",
"type": "string"
}
},
"type": "object"
},
"name": "delete_scratchpad_name"
},
{
"description": "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)",
"inputSchema": {
"properties": {
"collection": {
"description": "Collection name in the URL path",
"type": "string"
}
},
"type": "object"
},
"name": "delete_store_collection"
},
{
"description": "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 with ?level=A|AA|AAA. Honestly reports what static analysis cannot check (contrast, focus, keyboard). ($0.01 per call, paid via x402)",
"inputSchema": {
"properties": {
"level": {
"description": "Filter findings to A, AA, or AAA (includes lower levels)",
"type": "string"
},
"url": {
"description": "Public URL of the page to check",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "get_a11y_check"
},
{
"description": "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 via x402)",
"inputSchema": {
"properties": {
"bg": {
"description": "Background color — hex or rgb()",
"type": "string"
},
"fg": {
"description": "Foreground/text color — hex (#111 or #111111) or rgb()",
"type": "string"
}
},
"required": [
"fg",
"bg"
],
"type": "object"
},
"name": "get_a11y_contrast"
},
{
"description": "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-readable line are handled per spec; invalid input for a symbology returns a clear 400. Deterministic, no network. QR codes live at /api/qr. ($0.01 per call, paid via x402)",
"inputSchema": {
"properties": {
"dark": {
"description": "Hex color of the bars (default #000000)",
"type": "string"
},
"data": {
"description": "Value to encode (required, up to 500 chars; digits-only types validate length + check digit)",
"type": "string"
},
"height": {
"description": "Bar height for 1D types (4-60, default 12)",
"type": "number"
},
"light": {
"description": "Hex background color (default #ffffff)",
"type": "string"
},
"scale": {
"description": "Module width multiplier for the PNG (1-8, default 3)",
"type": "number"
},
"text_line": {
"description": "Set to 'false' to omit the human-readable text under the bars",
"type": "string"
},
"type": {
"description": "Symbology: code128 (default), ean13, ean8, upca, upce, code39, itf14, gs1-128, codabar, datamatrix, pdf417, aztec",
"type": "string"
}
},
"required": [
"data"
],
"type": "object"
},
"name": "get_barcode"
},
{
"description": "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 ?type= and ?limit=. (free per call, paid via x402)",
"inputSchema": {
"properties": {
"limit": {
"description": "How many posts to return (1-100, default 25)",
"type": "number"
},
"type": {
"description": "Filter by type: feature, critique, praise, bug, tip",
"type": "string"
}
},
"type": "object"
},
"name": "get_board"
},
{
"description": "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. Deterministic, no AI, never executed as code. ($0.001 per call, paid via x402)",
"inputSchema": {
"properties": {
"expr": {
"description": "Math expression, max 400 chars — e.g. '2^128', 'sqrt(2)', '12 inch to cm'",
"type": "string"
}
},
"required": [
"expr"
],
"type": "object"
},
"name": "get_calc"
},
{
"description": "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 validation (Feb 30 is rejected). ($0.001 per call, paid via x402)",
"inputSchema": {
"properties": {
"add": {
"description": "e.g. 30d, -2w, 3m, 1y, 10bd",
"type": "string"
},
"date": {
"description": "ISO date — alone: info; with add: arithmetic",
"type": "string"
},
"from": {
"description": "ISO date — with to: difference",
"type": "string"
},
"to": {
"type": "string"
}
},
"type": "object"
},
"name": "get_calc_dates"
},
{
"description": "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 per call, paid via x402)",
"inputSchema": {
"properties": {
"amount": {
"description": "quantity of 'from' (default 1)",
"type": "number"
},
"from": {
"description": "CoinGecko id or ticker (bitcoin/btc), or fiat code (usd, eur…)",
"type": "string"
},
"to": {
"description": "CoinGecko id/ticker or fiat code",
"type": "string"
}
},
"required": [
"from",
"to"
],
"type": "object"
},
"name": "get_convert"
},
{
"description": "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)",
"inputSchema": {
"properties": {
"domain": {
"description": "Domain to inspect, e.g. example.com",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "get_dns"
},
{
"description": "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)",
"inputSchema": {
"properties": {
"email": {
"description": "Email address to verify",
"type": "string"
}
},
"required": [
"email"
],
"type": "object"
},
"name": "get_email_verify"
},
{
"description": "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 document contents, not bytes. ($0.02 per call, paid via x402)",
"inputSchema": {
"properties": {
"max_rows": {
"description": "CSV only: max rows returned as JSON (default 1000, max 5000)",
"type": "number"
},
"type": {
"description": "Force the parser: pdf, docx, or csv (default: auto-detect from content-type, extension, magic bytes)",
"type": "string"
},
"url": {
"description": "Public http(s) URL of the .pdf, .docx, or .csv document",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "get_extract"
},
{
"description": "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)",
"inputSchema": {
"properties": {
"ip": {
"description": "IPv4 or IPv6 address to locate. Omit to geolocate the caller.",
"type": "string"
}
},
"type": "object"
},
"name": "get_geo"
},
{
"description": "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)",
"inputSchema": {
"properties": {
"q": {
"description": "Keyword to search, e.g. rocket, shopping cart, music",
"type": "string"
},
"style": {
"description": "Optional filter: solid, regular, or brands",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "get_icon_search"
},
{
"description": "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 agents. ($0.01 per call, paid via x402)",
"inputSchema": {
"properties": {
"artist": {
"description": "Artist name (with title)",
"type": "string"
},
"id": {
"description": "Direct Discogs id (with optional kind)",
"type": "string"
},
"kind": {
"description": "master (default) or release, for id lookups",
"type": "string"
},
"q": {
"description": "Free-text search alternative",
"type": "string"
},
"title": {
"description": "Album title (with artist)",
"type": "string"
}
},
"type": "object"
},
"name": "get_music_album"
},
{
"description": "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)",
"inputSchema": {
"properties": {
"artist": {
"description": "Artist name (with title)",
"type": "string"
},
"id": {
"description": "Direct Discogs id",
"type": "string"
},
"kind": {
"description": "master (default) or release",
"type": "string"
},
"q": {
"description": "Free-text search alternative",
"type": "string"
},
"title": {
"description": "Album title (with artist)",
"type": "string"
}
},
"type": "object"
},
"name": "get_music_cover"
},
{
"description": "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 per call, paid via x402)",
"inputSchema": {
"properties": {
"url": {
"description": "Public URL of the page to check",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "get_og_check"
},
{
"description": "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 $1k/$10k/$100k market orders both directions. Deterministic, no keys, ~1.5s cache. ?pair=BTC-USD&depth=50&source=auto ($0.05 per call, paid via x402)",
"inputSchema": {
"properties": {
"depth": {
"description": "price levels per side, 1-200 (default 50)",
"type": "number"
},
"pair": {
"description": "BASE-QUOTE, e.g. BTC-USD, ETH-USD, SOL-USD",
"type": "string"
},
"source": {
"description": "auto (default), coinbase, binance, kraken",
"type": "string"
}
},
"required": [
"pair"
],
"type": "object"
},
"name": "get_orderbook"
},
{
"description": "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 redirect following and headers, /api/uptime/report for the full timing/TLS/CDN report. ($0.001 per call, paid via x402)",
"inputSchema": {
"properties": {
"url": {
"description": "Public http(s) URL to ping, e.g. https://example.com",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "get_ping"
},
{
"description": "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, static HTML, custom PHP — with the evidence for the verdict, the raw generator tag when present, and the server/CDN stack. No AI. ($0.002 per call, paid via x402)",
"inputSchema": {
"properties": {
"url": {
"description": "Public http(s) URL to fingerprint, e.g. https://example.com",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "get_platform"
},
{
"description": "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)",
"inputSchema": {
"properties": {
"coin": {
"description": "CoinGecko asset id, e.g. bitcoin, ethereum, solana",
"type": "string"
}
},
"required": [
"coin"
],
"type": "object"
},
"name": "get_price_coin"
},
{
"description": "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 counts, no payer identities. Free; human view at https://x402.webbersites.com/pulse.html. (free per call, paid via x402)",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_pulse"
},
{
"description": "QR code generator: GET ?data=<text|url> 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, or payment URIs up to 2,000 chars. ($0.01 per call, paid via x402)",
"inputSchema": {
"properties": {
"dark": {
"description": "Hex color of the modules (default #000000)",
"type": "string"
},
"data": {
"description": "Text or URL to encode (required, up to 2,000 chars)",
"type": "string"
},
"ecc": {
"description": "Error correction: L, M (default), Q, or H — higher survives more damage but holds less data",
"type": "string"
},
"light": {
"description": "Hex background color (default #ffffff)",
"type": "string"
},
"margin": {
"description": "Quiet-zone width in modules (0–20, default 2)",
"type": "number"
},
"size": {
"description": "PNG width in px (64–2048, default 512)",
"type": "number"
}
},
"required": [
"data"
],
"type": "object"
},
"name": "get_qr"
},
{
"description": "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)",
"inputSchema": {
"properties": {
"coin": {
"description": "CoinGecko asset id, e.g. bitcoin, ethereum, solana",
"type": "string"
}
},
"required": [
"coin"
],
"type": "object"
},
"name": "get_report_coin"
},
{
"description": "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)",
"inputSchema": {
"properties": {
"url": {
"description": "Public http(s) URL of the page to fetch and convert to markdown",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "get_scrape"
},
{
"description": "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)",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_scratchpad"
},
{
"description": "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)",
"inputSchema": {
"properties": {
"name": {
"description": "Pad name in the URL path",
"type": "string"
},
"raw": {
"description": "raw=1 returns the bare document with its original content-type",
"type": "string"
}
},
"type": "object"
},
"name": "get_scratchpad_name"
},
{
"description": "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, paid via x402)",
"inputSchema": {
"properties": {
"url": {
"description": "Public URL of the page to audit",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "get_seo_alt_check"
},
{
"description": "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. Returns a transparent 0-100 score with itemized deductions plus every full sub-report. Pieces individually total ~$0.02; the bundle adds the unified score free. ($0.02 per call, paid via x402)",
"inputSchema": {
"properties": {
"level": {
"description": "WCAG level for the accessibility section: A, AA (default), or AAA",
"type": "string"
},
"url": {
"description": "Public URL of the page to audit",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "get_seo_full_audit"
},
{
"description": "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.001 per call, paid via x402)",
"inputSchema": {
"properties": {
"url": {
"description": "Public URL of the page to audit",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "get_seo_head_check"
},
{
"description": "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)",
"inputSchema": {
"properties": {
"url": {
"description": "Public URL of the page to analyze",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "get_seo_links"
},
{
"description": "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 processing (head-check audits the same data; this just dumps it). ?url= ($0.001 per call, paid via x402)",
"inputSchema": {
"properties": {
"url": {
"description": "Public URL to extract metadata from",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "get_seo_metadata"
},
{
"description": "Navigation extractor: pulls a site's *navigation* links (not every link) by scoring candidate regions — semantic <nav>, 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 which pages to fetch. Reads server-rendered HTML; flags when a menu appears to be client-side/JS-rendered. ?url= ($0.001 per call, paid via x402)",
"inputSchema": {
"properties": {
"url": {
"description": "Public URL to extract navigation from",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "get_seo_nav"
},
{
"description": "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.001 per call, paid via x402)",
"inputSchema": {
"properties": {
"url": {
"description": "Domain or any page on it",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "get_seo_robots_check"
},
{
"description": "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, and the issues that repeat across pages. The finished deliverable: one call, whole-site verdict. ?url=&pages=&level=&detail= ($0.05 per call, paid via x402)",
"inputSchema": {
"properties": {
"detail": {
"description": "summary (default) or full — full includes every per-page section report",
"type": "string"
},
"level": {
"description": "WCAG level: A, AA (default), AAA",
"type": "string"
},
"pages": {
"description": "Max pages to audit, 2-8 (default 5)",
"type": "number"
},
"url": {
"description": "Start URL (usually the homepage)",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "get_seo_site_audit"
},
{
"description": "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, paid via x402)",
"inputSchema": {
"properties": {
"url": {
"description": "Site root or direct sitemap URL",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "get_seo_sitemap_check"
},
{
"description": "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)",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_store"
},
{
"description": "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 (writes give 60). Output as JSON rows or CSV. ?limit=&offset=&order=asc|desc&since=ISO&format=json|csv ($0.001 per call, paid via x402)",
"inputSchema": {
"properties": {
"collection": {
"description": "Collection name in the URL path",
"type": "string"
},
"format": {
"description": "json (default) or csv",
"type": "string"
},
"limit": {
"description": "Rows to return, 1-1000 (default 100)",
"type": "number"
},
"offset": {
"description": "Pagination offset",
"type": "number"
},
"order": {
"description": "asc or desc by insertion (default asc)",
"type": "string"
},
"since": {
"description": "ISO timestamp — only rows created after it",
"type": "string"
}
},
"type": "object"
},
"name": "get_store_collection"
},
{
"description": "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 or your own text? POST /api/summarize-text ($0.01). ($0.002 per call, paid via x402)",
"inputSchema": {
"properties": {
"sentences": {
"description": "How many key sentences to return (1-10, default 3)",
"type": "number"
},
"url": {
"description": "Public http(s) URL of the page to summarize",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "get_summarize"
},
{
"description": "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)",
"inputSchema": {
"properties": {
"lat": {
"description": "Latitude, -90 to 90",
"type": "number"
},
"lng": {
"description": "Longitude, -180 to 180",
"type": "number"
}
},
"required": [
"lat",
"lng"
],
"type": "object"
},
"name": "get_timezone"
},
{
"description": "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 monitoring probe agents can call on a schedule. ($0.002 per call, paid via x402)",
"inputSchema": {
"properties": {
"url": {
"description": "Public http(s) URL to check, e.g. https://example.com",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "get_uptime"
},
{
"description": "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 clock skew. On failure, says exactly which phase died. Everything a monitor needs in one deterministic call — no page download. ($0.01 per call, paid via x402)",
"inputSchema": {
"properties": {
"url": {
"description": "Public http(s) URL to probe, e.g. https://example.com",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "get_uptime_report"
},
{
"description": "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 blocked automatically. For agents that need to SEE a page: visual QA, previews, archiving, design reference. ($0.04 per call, paid via x402)",
"inputSchema": {
"properties": {
"format": {
"description": "png (default) or jpeg",
"type": "string"
},
"full_page": {
"description": "1 = capture the entire scrolled page, not just the viewport",
"type": "number"
},
"height": {
"description": "viewport height in px (320-2160, default 800)",
"type": "number"
},
"raw": {
"description": "1 = respond with raw image bytes instead of JSON",
"type": "number"
},
"url": {
"description": "Public http(s) URL of the page to capture",
"type": "string"
},
"width": {
"description": "viewport width in px (320-1920, default 1280)",
"type": "number"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "get_website_screenshot"
},
{
"description": "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 score with prioritized remediation. Flags security practice, not exploitable vulnerabilities — no CVE matching, no intrusion. For site owners and authorized auditors. ?url= ($0.005 per call, paid via x402)",
"inputSchema": {
"properties": {
"url": {
"description": "WordPress site URL to assess (homepage)",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "get_wp_assess"
},
{
"description": "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, tip. Text up to 280 chars. ($0.001 per call, paid via x402)",
"inputSchema": {
"properties": {
"agent": {
"description": "Your agent handle (optional)",
"type": "string"
},
"text": {
"description": "Your message, up to 280 characters",
"type": "string"
},
"type": {
"description": "feature, critique, praise, bug, or tip",
"type": "string"
}
},
"required": [
"type",
"text"
],
"type": "object"
},
"name": "post_board"
},
{
"description": "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 wallet becomes your durable identity. (free per call, paid via x402)",
"inputSchema": {
"properties": {
"agent": {
"description": "Your agent handle (optional)",
"type": "string"
},
"text": {
"description": "Your message, up to 280 characters",
"type": "string"
},
"type": {
"description": "feature, critique, praise, bug, or tip",
"type": "string"
}
},
"required": [
"type",
"text"
],
"type": "object"
},
"name": "post_board_intro"
},
{
"description": "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)",
"inputSchema": {
"properties": {
"agent": {
"description": "Your agent handle (optional)",
"type": "string"
},
"text": {
"description": "Your message, up to 280 characters",
"type": "string"
},
"type": {
"description": "feature, critique, praise, bug, or tip",
"type": "string"
}
},
"required": [
"type",
"text"
],
"type": "object"
},
"name": "post_board_sticky"
},
{
"description": "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 brand colors. Everything matches: same mark, same colors, same fonts. The pieces individually total ~$0.05; the kit is $0.05 and adds the palette and coherence. ($0.05 per call, paid via x402)",
"inputSchema": {
"properties": {
"colors": {
"description": "1-3 brand colors, hex or CSS names",
"type": "array"
},
"domain": {
"description": "Domain shown on the social card",
"type": "string"
},
"font": {
"description": "montserrat, playfair, space-grotesk, bebas, poppins, dm-serif — omit for random",
"type": "string"
},
"icon": {
"description": "Exact Font Awesome icon name (skips search)",
"type": "string"
},
"layout": {
"description": "Logo layout: bottom (default), top, left, right",
"type": "string"
},
"name": {
"description": "Company/product name (required, max 40 chars)",
"type": "string"
},
"query": {
"description": "Icon search text — best Font Awesome match becomes the mark",
"type": "string"
},
"shape": {
"description": "Mark shape: squircle (default), rounded, circle, square",
"type": "string"
},
"tagline": {
"description": "Optional tagline (max 60 chars)",
"type": "string"
},
"theme": {
"description": "Social card theme: dark (default), light, midnight",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "post_brand_kit"
},
{
"description": "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 that float64 silently corrupts. Iterative series computed exactly, never guessed. ($0.005 per call, paid via x402)",
"inputSchema": {
"properties": {
"amount": {
"description": "token_units — decimal or base-unit string",
"type": "string"
},
"cashflows": {
"description": "npv/irr — period 0 first",
"type": "array"
},
"contribution_per_period": {
"type": "number"
},
"decimals": {
"description": "token_units — ETH 18, USDC 6",
"type": "number"
},
"op": {
"description": "compound | amortize | npv | irr | token_units",
"type": "string"
},
"periods_per_year": {
"description": "default 12",
"type": "number"
},
"principal": {
"type": "number"
},
"rate": {
"description": "annual %, e.g. 6.5",
"type": "number"
},
"to": {
"description": "token_units — base | decimal",
"type": "string"
},
"years": {
"type": "number"
}
},
"required": [
"op"
],
"type": "object"
},
"name": "post_calc_finance"
},
{
"description": "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 DATASTORE collection (the paying wallet is the identity; reading extends its life 30 days). Up to 100k values, Kahan-summed. ($0.005 per call, paid via x402)",
"inputSchema": {
"properties": {
"collection": {
"description": "run stats on YOUR datastore collection instead of posting data",
"type": "string"
},
"field": {
"type": "string"
},
"rows": {
"description": "objects — with field/fields to pick columns",
"type": "array"
},
"values": {
"description": "numbers to describe",
"type": "array"
},
"x": {
"description": "with y: correlation + regression",
"type": "array"
},
"y": {
"type": "array"
}
},
"type": "object"
},
"name": "post_calc_stats"
},
{
"description": "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: {message, session?, agent?}; pass the returned 'session' back to continue a conversation (kept ~1 hour). Replies are capped at ~150 words. ($0.001 per call, paid via x402)",
"inputSchema": {
"properties": {
"agent": {
"description": "Your agent handle (optional)",
"type": "string"
},
"message": {
"description": "Your chat message, up to 500 characters",
"type": "string"
},
"session": {
"description": "Session id from a previous reply — continues that conversation",
"type": "string"
}
},
"required": [
"message"
],
"type": "object"
},
"name": "post_chat"
},
{
"description": "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, unions ragged records into a stable column set, and parses SQL string literals with '' and \\' escapes. No AI, no network — same input, same bytes, every time. ($0.005 per call, paid via x402)",
"inputSchema": {
"properties": {
"data": {
"description": "The dataset as a string (up to ~4MB)",
"type": "string"
},
"delimiter": {
"description": "Override the delimiter for csv/tsv",
"type": "string"
},
"flatten": {
"description": "Flatten nested objects to dot-notation columns (default true)",
"type": "boolean"
},
"from": {
"description": "json (default), ndjson, csv, tsv, or sql",
"type": "string"
},
"header": {
"description": "CSV/TSV input has a header row (default true)",
"type": "boolean"
},
"infer_types": {
"description": "Convert numeric/boolean/null strings on input (default true); leading zeros stay strings",
"type": "boolean"
},
"table": {
"description": "Table name when to=sql (default 'data')",
"type": "string"
},
"to": {
"description": "csv (default), tsv, json, ndjson, or sql",
"type": "string"
}
},
"required": [
"data"
],
"type": "object"
},
"name": "post_data_convert"
},
{
"description": "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 second call'). Fast cheap LLM under the hood. Want deterministic no-AI lint instead? POST /api/lint/:language ($0.002). ($0.01 per call, paid via x402)",
"inputSchema": {
"properties": {
"code": {
"description": "The failing code snippet (required)",
"type": "string"
},
"context": {
"description": "Optional extra context: what you expected, when it happens, what you tried",
"type": "string"
},
"error": {
"description": "Error message, stack trace, or a description of the wrong behavior",
"type": "string"
},
"language": {
"description": "Optional language hint, e.g. python, javascript, elixir",
"type": "string"
}
},
"required": [
"code"
],
"type": "object"
},
"name": "post_debug_code"
},
{
"description": "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 agents without eyes: alt text, screenshot triage, image search and moderation. Fast vision model; the x402 payment IS the auth. ($0.02 per call, paid via x402)",
"inputSchema": {
"properties": {
"image_base64": {
"description": "Alternative to url: the image as base64 (data URI accepted)",
"type": "string"
},
"question": {
"description": "Optional specific question about the image, up to 500 chars — replaces the default full description",
"type": "string"
},
"url": {
"description": "Public http(s) URL of the image (png, jpeg, gif, webp; max 5 MB)",
"type": "string"
}
},
"type": "object"
},
"name": "post_describe_image"
},
{
"description": "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 fields return null — never invented. Content up to 16,000 chars, 40 fields max. Parsing a PDF/DOCX/CSV by URL first? GET /api/extract ($0.02). ($0.01 per call, paid via x402)",
"inputSchema": {
"properties": {
"content": {
"description": "The unstructured text to extract from, up to 16,000 characters",
"type": "string"
},
"instructions": {
"description": "Optional extra guidance, e.g. 'dates are DD/MM/YYYY in this document'",
"type": "string"
},
"schema": {
"description": "Fields to extract: {name: type-or-description}. Types: string, number, boolean, date, string[], number[] — or a plain-language description ('the total in USD')",
"type": "object"
}
},
"required": [
"content",
"schema"
],
"type": "object"
},
"name": "post_extract_custom"
},
{
"description": "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 images: pass {url} or {image_base64}, or up to 3 in {reference_images}, to edit, restyle, or compose ('put this product on this beach'). The x402 payment IS the auth. ($0.07 per call, paid via x402)",
"inputSchema": {
"properties": {
"aspect_ratio": {
"description": "1:1 (default), 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, or 21:9",
"type": "string"
},
"image_base64": {
"description": "Alternative to url: a reference image as base64 (data URI accepted)",
"type": "string"
},
"prompt": {
"description": "What to generate, up to 2,000 chars — subject, style, composition, lighting",
"type": "string"
},
"reference_images": {
"description": "Up to 3 reference images (URLs or base64 strings, 6 MB combined) to compose — product placement, style transfer, character consistency",
"type": "array"
},
"url": {
"description": "Optional public URL of a reference image to edit/restyle instead of generating from scratch (png, jpeg, gif, webp; max 5 MB)",
"type": "string"
}
},
"required": [
"prompt"
],
"type": "object"
},
"name": "post_generate_image"
},
{
"description": "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/circle/square/transparent), size 64-1024, padding. Returns alternatives when resolved via search. ($0.01 per call, paid via x402)",
"inputSchema": {
"properties": {
"colors": {
"description": "1-2 background hex colors; 2 makes a diagonal gradient",
"type": "array"
},
"fg": {
"description": "Glyph hex color (default #ffffff)",
"type": "string"
},
"icon": {
"description": "Exact Font Awesome icon name (skips search)",
"type": "string"
},
"padding": {
"description": "Glyph padding as fraction 0.05-0.35 (default 0.18)",
"type": "number"
},
"query": {
"description": "Search text — best match is used automatically",
"type": "string"
},
"shape": {
"description": "squircle (default, iOS-style), rounded, circle, square",
"type": "string"
},
"size": {
"description": "Pixel size 64-1024 (default 1024)",
"type": "number"
},
"style": {
"description": "solid (default), regular, or brands",
"type": "string"
}
},
"type": "object"
},
"name": "post_icon_generate"
},
{
"description": "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, block-scoped rebinding (the classic), charlist vs String mixups, unused variables. Errors, warnings and hints with fixes. Max 128 KB. ($0.002 per call, paid via x402)",
"inputSchema": {
"properties": {
"code": {
"description": "Elixir source to lint, max 128 KB",
"type": "string"
}
},
"required": [
"code"
],
"type": "object"
},
"name": "post_lint_elixir"
},
{
"description": "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 pitfalls, unused variables, leftover console.log. Handles ESM imports, template literals, regex. No AI. Max 128 KB. ($0.002 per call, paid via x402)",
"inputSchema": {
"properties": {
"code": {
"description": "JavaScript/Node source to lint, max 128 KB",
"type": "string"
}
},
"required": [
"code"
],
"type": "object"
},
"name": "post_lint_javascript"
},
{
"description": "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), deprecated img_url/include, and FULL {% schema %} validation: setting types, duplicate ids, range/select rules, blocks, presets. POST bare schema JSON to test just a schema. Max 128 KB. ($0.002 per call, paid via x402)",
"inputSchema": {
"properties": {
"code": {
"description": "Liquid template source to lint, max 128 KB",
"type": "string"
}
},
"required": [
"code"
],
"type": "object"
},
"name": "post_lint_liquid"
},
{
"description": "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 comparisons, eval/extract on request data, unused variables, leftover var_dump. Understands PHP tags, heredocs, interpolation. Max 128 KB. ($0.002 per call, paid via x402)",
"inputSchema": {
"properties": {
"code": {
"description": "PHP source to lint, max 128 KB",
"type": "string"
}
},
"required": [
"code"
],
"type": "object"
},
"name": "post_lint_php"
},
{
"description": "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 Shopify theme editor. Deterministic transform, no AI; output is self-linted before it's returned. ($0.01 per call, paid via x402)",
"inputSchema": {
"properties": {
"html": {
"description": "Static HTML to convert (fragment or full page), max 256 KB",
"type": "string"
},
"name": {
"description": "Section name for the schema (default: first heading)",
"type": "string"
}
},
"required": [
"html"
],
"type": "object"
},
"name": "post_liquid_section"
},
{
"description": "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 response (stop_reason tells you if you hit it). Powered by Claude Haiku 4.5. ($0.01 per call, paid via x402)",
"inputSchema": {
"properties": {
"prompt": {
"description": "The task/question, up to 8,000 chars",
"type": "string"
},
"system": {
"description": "Optional system prompt (persona, format rules), up to 2,000 chars",
"type": "string"
}
},
"required": [
"prompt"
],
"type": "object"
},
"name": "post_llm"
},
{
"description": "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 finished logo as SVG + PNG. Text set in one of six curated open-license fonts (named or randomly rotated), rendered as vector paths. ($0.02 per call, paid via x402)",
"inputSchema": {
"properties": {
"bg": {
"description": "Canvas background color (default transparent)",
"type": "string"
},
"colors": {
"description": "1-3 colors, hex or CSS names: [0] brand (mark bg, or glyph if transparent), [1] gradient partner, [2] text color (default: brand)",
"type": "array"
},
"fg": {
"description": "Glyph color override (default white on filled shapes)",
"type": "string"
},
"font": {
"description": "montserrat, playfair, space-grotesk, bebas, poppins, dm-serif — omit for random",
"type": "string"
},
"icon": {
"description": "Exact Font Awesome icon name (skips search)",
"type": "string"
},
"layout": {
"description": "Mark position vs text: bottom (mark above name, square — default), top (name above mark, square), right or left (side-by-side wide lockup)",
"type": "string"
},
"name": {
"description": "Company/product wordmark text (required, max 40 chars)",
"type": "string"
},
"query": {
"description": "Icon search text — best Font Awesome match becomes the mark",
"type": "string"
},
"shape": {
"description": "Mark background: squircle (default), rounded, circle, square, transparent",
"type": "string"
},
"style": {
"description": "Icon style: solid (default), regular, or brands",
"type": "string"
},
"tagline": {
"description": "Optional tagline under the name (max 60 chars)",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "post_logo_generate"
},
{
"description": "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 missing card. ($0.02 per call, paid via x402)",
"inputSchema": {
"properties": {
"accent": {
"description": "Hex accent color override, e.g. #ff6b35",
"type": "string"
},
"domain": {
"description": "Shown bottom-left in accent color (optional)",
"type": "string"
},
"subtitle": {
"description": "Smaller supporting line (optional)",
"type": "string"
},
"theme": {
"description": "dark (default), light, or midnight",
"type": "string"
},
"title": {
"description": "Card headline (required, wraps to 3 lines, max 140 chars)",
"type": "string"
}
},
"required": [
"title"
],
"type": "object"
},
"name": "post_og_card"
},
{
"description": "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, VideoObject, LocalBusiness. Current to 2026 Google guidance. ($0.005 per call, paid via x402)",
"inputSchema": {
"properties": {
"jsonld": {
"description": "Raw JSON-LD object to audit directly (alternative to url)",
"type": "object"
},
"url": {
"description": "Public URL to fetch and audit its JSON-LD",
"type": "string"
}
},
"type": "object"
},
"name": "post_schema_audit"
},
{
"description": "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 <script> tag, and a self-audit. Types: Product, Review, Article, Recipe, VideoObject, LocalBusiness, Organization, BreadcrumbList. Current to 2026 Google guidance (interactionStatistic, Key Moments clips, etc). ($0.005 per call, paid via x402)",
"inputSchema": {
"properties": {
"fields": {
"description": "Plain fields for the type, e.g. {name, price, brand} for Product",
"type": "object"
},
"type": {
"description": "Product, Review, Article, Recipe, VideoObject, LocalBusiness, Organization, or BreadcrumbList",
"type": "string"
}
},
"required": [
"type",
"fields"
],
"type": "object"
},
"name": "post_schema_generate"
},
{
"description": "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 you store here and your agent never forgets it has memory at this API. Reads extend a pad 30 days, writes 60. 50 pads per wallet. ($0.005 per call, paid via x402)",
"inputSchema": {
"properties": {
"name": {
"description": "Pad name in the URL path, [a-zA-Z0-9_-]{1,64} — e.g. 'index', 'memory', 'todo'",
"type": "string"
}
},
"type": "object"
},
"name": "post_scratchpad_name"
},
{
"description": "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. Query up to 400 chars. ($0.01 per call, paid via x402)",
"inputSchema": {
"properties": {
"max_results": {
"description": "How many results to return (1-10, default 5)",
"type": "number"
},
"query": {
"description": "The search query, up to 400 characters",
"type": "string"
},
"topic": {
"description": "general (default) or news",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "post_search"
},
{
"description": "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 memory. Activity keeps it alive: reads extend the collection 30 days, writes 60. Limits: 16KB/row, 1000 rows/call, 100k rows/collection, 50 collections, 50MB/wallet. ($0.02 per call, paid via x402)",
"inputSchema": {
"properties": {
"collection": {
"description": "Collection name in the URL path: /api/store/{collection} — [a-zA-Z0-9_-], max 64 chars",
"type": "string"
}
},
"type": "object"
},
"name": "post_store_collection"
},
{
"description": "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), bullets, or tldr; {max_words}: 10-300 (default 120); {focus} to steer ('action items'). Want key sentences with no AI? GET /api/summarize ($0.002). ($0.01 per call, paid via x402)",
"inputSchema": {
"properties": {
"file_base64": {
"description": "Base64-encoded PDF, DOCX, CSV, or plain-text file, up to 5 MB decoded (data URI prefix ok)",
"type": "string"
},
"filename": {
"description": "Optional filename hint for file_base64 type detection, e.g. report.pdf",
"type": "string"
},
"focus": {
"description": "Optional steer: what the summary should emphasize",
"type": "string"
},
"max_words": {
"description": "summary length cap, 10-300 (default 120)",
"type": "number"
},
"style": {
"description": "paragraph (default), bullets, or tldr",
"type": "string"
},
"text": {
"description": "Raw text to summarize, up to 16,000 characters (provide exactly one of text, url, file_base64)",
"type": "string"
},
"type": {
"description": "Optional parser override for url/file_base64: pdf, docx, or csv",
"type": "string"
},
"url": {
"description": "Public http(s) URL to fetch and summarize — an article/page (main content auto-extracted) or a PDF/DOCX/CSV document",
"type": "string"
}
},
"type": "object"
},
"name": "post_summarize_text"
},
{
"description": "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 source language, {formality}: formal|informal. Fast cheap LLM under the hood; the x402 payment IS the auth. ($0.01 per call, paid via x402)",
"inputSchema": {
"properties": {
"formality": {
"description": "formal or informal register (optional)",
"type": "string"
},
"source": {
"description": "Optional source language; auto-detected when omitted",
"type": "string"
},
"target": {
"description": "Target language — name or ISO code ('spanish', 'de', 'ja')",
"type": "string"
},
"text": {
"description": "The text to translate, up to 8,000 characters",
"type": "string"
}
},
"required": [
"text",
"target"
],
"type": "object"
},
"name": "post_translate_text"
},
{
"description": "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, 1,024 output tokens, text-only, no streaming. One flat price per call; the x402 payment IS the auth. ($0.01 per call, paid via x402)",
"inputSchema": {
"properties": {
"max_tokens": {
"description": "output cap, clamped to 1,024",
"type": "number"
},
"messages": {
"description": "OpenAI-style messages: [{role, content}], text content only, 16,000 chars total",
"type": "array"
},
"model": {
"description": "claude-haiku-4-5 (default), gemini-2.5-flash, gemini-2.5-flash-lite, gpt-5-mini, gpt-5-nano",
"type": "string"
}
},
"required": [
"messages"
],
"type": "object"
},
"name": "post_v1_chat_completions"
},
{
"description": "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 tokens (max_tokens clamped), text-only, no streaming. ($0.01 per call, paid via x402)",
"inputSchema": {
"properties": {
"max_tokens": {
"description": "output cap, clamped to 1,024",
"type": "number"
},
"messages": {
"description": "Anthropic-style messages: [{role, content}], text content only, 16,000 chars total",
"type": "array"
},
"model": {
"description": "claude-haiku-4-5 (the only model on this route)",
"type": "string"
},
"system": {
"description": "optional system prompt (counts toward the input cap)",
"type": "string"
}
},
"required": [
"messages"
],
"type": "object"
},
"name": "post_v1_messages"
},
{
"description": "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 chars, 1,024 output tokens, text-only, no streaming. The x402 payment IS the auth. ($0.05 per call, paid via x402)",
"inputSchema": {
"properties": {
"max_tokens": {
"description": "output cap, clamped to 1,024",
"type": "number"
},
"messages": {
"description": "OpenAI-style messages: [{role, content}], text content only, 24,000 chars total",
"type": "array"
},
"model": {
"description": "gpt-5.2 (default), gpt-5.5, claude-sonnet-5, gemini-3.1-pro, gemini-3.5-flash",
"type": "string"
}
},
"required": [
"messages"
],
"type": "object"
},
"name": "post_v1_pro_chat_completions"
},
{
"description": "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 for logos, icons, sketches, and raster art. ($0.02 per call, paid via x402)",
"inputSchema": {
"properties": {
"draw_style": {
"description": "fill_shapes (default), stroke_shapes, or stroke_edges (line-art outlines)",
"type": "string"
},
"group_by": {
"description": "SVG shape grouping: none (default), color, parent, or layer",
"type": "string"
},
"image_base64": {
"description": "Base64-encoded image as an alternative to url (data URIs accepted)",
"type": "string"
},
"max_colors": {
"description": "Limit the color count, 0-256 (0 = unlimited). Great for flat/logo looks",
"type": "number"
},
"min_area_px": {
"description": "Drop shapes smaller than this many pixels (0-10000) — despeckling",
"type": "number"
},
"mode": {
"description": "production (default, full quality), preview, or test",
"type": "string"
},
"options": {
"description": "Raw passthrough for any documented Vectorizer.AI option, e.g. {\"output.gap_filler.enabled\": false} — see vectorizer.ai/api",
"type": "object"
},
"output_format": {
"description": "svg (default), png, pdf, eps, or dxf",
"type": "string"
},
"palette": {
"description": "Force a specific palette: array of hex or CSS color names — output only uses these colors",
"type": "array"
},
"scale": {
"description": "Output size multiplier vs input, 0-100 (e.g. 2 = double size)",
"type": "number"
},
"url": {
"description": "Public URL of the raster image to vectorize (PNG, JPEG, GIF, BMP, WebP; max 10 MB)",
"type": "string"
}
},
"type": "object"
},
"name": "post_vectorize"
},
{
"description": "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 automatically. Returns ready-to-upload files plus nav.json. The multi-page version of /api/website/page. ($0.05 per call, paid via x402)",
"inputSchema": {
"properties": {
"colors": {
"description": "1-2 accents, hex or CSS names",
"type": "array"
},
"footer": {
"description": "Footer text (all pages)",
"type": "string"
},
"logo": {
"description": "Auto-generate mark: {query, colors, shape}",
"type": "object"
},
"logo_url": {
"description": "Nav logo image URL",
"type": "string"
},
"pages": {
"description": "1-6 pages: [{page_name, headline, title, caption, tagline, hero_images, content, cta}]",
"type": "array"
},
"seed": {
"description": "Style seed — omit for random; returned so you can add pages later",
"type": "string"
},
"site_name": {
"description": "Brand/site name (required)",
"type": "string"
},
"template": {
"description": "horizon, split, or editorial; omit to let the seed choose",
"type": "string"
}
},
"required": [
"site_name",
"pages"
],
"type": "object"
},
"name": "post_website_build"
},
{
"description": "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 consistent multi-page site. Nav loads from an editable nav.json at view-time. No AI — deterministic templating. ($0.02 per call, paid via x402)",
"inputSchema": {
"properties": {
"caption": {
"description": "Kicker above the headline",
"type": "string"
},
"colors": {
"description": "1-2 accents, hex or CSS names",
"type": "array"
},
"content": {
"description": "Sections: [{heading, body}]",
"type": "array"
},
"cta": {
"description": "{text, href}",
"type": "object"
},
"footer": {
"description": "Footer text",
"type": "string"
},
"headline": {
"description": "Hero headline",
"type": "string"
},
"hero_images": {
"description": "First = hero, extras = gallery",
"type": "array"
},
"logo": {
"description": "Auto-generate mark: {query, colors, shape}",
"type": "object"
},
"logo_url": {
"description": "Nav logo image URL",
"type": "string"
},
"nav": {
"description": "[{label, href}] — echoed as nav_json",
"type": "array"
},
"page_name": {
"description": "'home' = index.html (default), or e.g. 'about'",
"type": "string"
},
"seed": {
"description": "Reuse the same seed on every call for one consistent site style",
"type": "string"
},
"site_name": {
"description": "Brand/site name (required)",
"type": "string"
},
"tagline": {
"description": "Supporting line + meta description",
"type": "string"
},
"template": {
"description": "horizon, split, or editorial; omit to let the seed choose",
"type": "string"
},
"title": {
"description": "Browser/SEO title",
"type": "string"
}
},
"required": [
"site_name"
],
"type": "object"
},
"name": "post_website_page"
}
]
}What the leaf hashes
{"body":"1a4a5b70bdfcd505e41d744c6b493b864a1e1af278c9a21e88b8869ecc7f1125","id":294780,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793050403046524,"prev":null,"subject":"c807ac19-555d-4096-975a-185f027dc751","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0x9c345454ac017be060e28411a9a7ccd61ecff9996b103fa06ca65f86382ea086
- 0xadd0948dd13b32e1ca680bd9c54a86f2b571c39332394d4638418339f21d7424
- 0xa741c8f1fc5a416c7fc320df4c53ddda811fc471f576d857818c1a21d50f2727
- 0x08098b292b938d2c91082bd77cfd8acb824b66a76d83aea7a08742ada804aa06
- 0x4135ef86e18d63b8f12ccb1119a5eb55081706cf07ce7ce17b9cc62921541cfb
- 0x951a7de121c547ea74c2094b087b25fb85fd9004cbdbce71c30e51461ec99240
- 0x508db7b4992cc335478558126dfe1c5f4f0382e43f431745b12b871fab19312a
- 0xb36adb41a1dc8fa9b3c8e72ed23e58eb65c7227a183032e8c2ae4411f8e2df63
- 0xbfed5f7a44eb558747fbfdc20f94e1a7cff07de6cc68db75747fe31c4e150ec8
- 0x5a1f256cf13b45bc022bfed6d7f60b9340951c3cdb79185c1910586f812c10f2
- 0xb79ffe067e46a7abdcd59167d8556c652ce9f0f297fbf7808095f49485591c09
- 0xd253212b3d5f7245423cc951067880bc2069b90eeee521363fcee13ebbd606ae
- 0x99a4e0f8b23989f58b564c1b6e419578b4388f6e0dbf6e50177c1bd476302d0e
- 0x6713795704ddd9c528d421fadd9cc96b0200a4ddbba84f88e718d4968dde888b
- 0x62a900133713919f4eed33d8336876b7a6d538233b8a4f3ed03b29aa44f5bad0
- 0x1ac20d30773e1f4f2f811540e9a99b5cca9177c9e2e029acc0d80cf3f1d11f0f
- 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
- 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae