addrbookFor publishers
← The evidence ledger

Evidence row 1287582

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 205493c9-1475-42ca-85b6-2f38da48e5ec
Recorded
Previous row
#1053179
Body SHA-256
e8b0efacd3a296d2816e11aa254cdf9bcc5efa6b80adc98b22b92ed2c3082ba4
Leaf
0x8e0ec15e92abc5d0415fcc3f217d164a1393e29782329d69d7ea99ec23290355

What was observed

{
  "count": 53,
  "tools": [
    {
      "description": "$0.02 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [SEO, security and site verdicts] Scores how visible and usable a site is for AI assistants and agents (0-100, grade A-F): robots.txt rules for AI search and training crawlers (GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, Google-Extended...), noindex/noai, /llms.txt quality, schema.org JSON-LD, sitemap, title/description/canonical/lang, Open Graph, content readable without JavaScript, and agent discovery files (/.well-known/x402, MCP server card, A2A agent card, OpenAPI). Findings with fixes. Obeys robots.txt.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "agent_readiness"
    },
    {
      "description": "$0.01 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Web and domain checks] Reads one page (robots.txt obeyed) and checks up to 40 of its unique links (internal first) with HEAD then GET: broken links with status or error, restricted (401/403/429/999), timeouts, links not requested because robots.txt disallows them, and counts. ~2-8 s.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "broken_links"
    },
    {
      "description": "$0.002 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Fetch and read the web] Pre-fetch gate for agents and scrapers: is this exact URL allowed by robots.txt (RFC 9309: missing = allow, 5xx/unreachable = disallow) for generic agents and 16 named AI agents/crawlers (ChatGPT-User, Claude-User, PerplexityBot, GPTBot, ClaudeBot, Google-Extended, CCBot...), plus Crawl-delay, Content-Signal (search / ai-input / ai-train), X-Robots-Tag noai/noindex from a HEAD request, and sitemaps. Verdict allowed / disallowed / allowed_but_no_ai_use / allowed_with_crawl_delay. Never downloads the page body. Cached up to 10 min. ~0.3-2 s.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "can_fetch"
    },
    {
      "description": "$0.002 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [SEO, security and site verdicts] Is this URL indexable and which URL is canonical: canonical tag or HTTP Link header, self-referencing or pointing elsewhere, multiple/relative/cross-domain canonicals, og:url mismatch, meta robots and X-Robots-Tag (noindex/nofollow), hreflang list with code validation, x-default and self-reference. Cached 1 h. ~0.3-2 s.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "canonical_check"
    },
    {
      "description": "$0.002 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Web and domain checks] Will a browser on a given origin be allowed to call this URL: sends a CORS preflight (OPTIONS) and a GET with Origin, reports Access-Control-Allow-Origin / Credentials / Methods / Headers / Max-Age, Vary: Origin, and flags arbitrary-origin reflection, wildcard with credentials and null origin. Cached 5 min. ~0.3-2 s.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "method": {
            "default": "GET",
            "description": "Method for the preflight",
            "enum": [
              "GET",
              "POST",
              "PUT",
              "PATCH",
              "DELETE"
            ],
            "type": "string"
          },
          "origin": {
            "default": "https://example.com",
            "description": "Origin to test, e.g. https://app.example.com",
            "pattern": "^https?://[a-zA-Z0-9.-]+(:\\d{1,5})?$",
            "type": "string"
          },
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "cors_check"
    },
    {
      "description": "$0.002 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Data utilities] Reads a 5-field cron expression (or @daily-style macro) and returns the next N run times in UTC and in the given time zone, a plain-English description and the expanded fields. Input: cron, optional tz (default UTC), count 1-20, after. Limits: no seconds field, no L/W/#. Offline.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "after": {
            "description": "Start after this time (ISO 8601 or Unix seconds; default now)",
            "type": "string"
          },
          "count": {
            "default": "5",
            "description": "How many next runs, 1-20 (default 5)",
            "pattern": "^\\d{1,2}$",
            "type": "string"
          },
          "cron": {
            "description": "5-field cron expression (minute hour day-of-month month day-of-week), or @hourly, @daily, @weekly, @monthly, @yearly",
            "type": "string"
          },
          "tz": {
            "description": "IANA time zone the schedule runs in (default UTC)",
            "type": "string"
          }
        },
        "required": [
          "cron"
        ],
        "type": "object"
      },
      "name": "cron_next"
    },
    {
      "description": "$0.002 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Data utilities] Date arithmetic offline: adds or subtracts durations (ISO 8601 or plain text, including business days with your weekend and holiday list), and gives the difference to a second date in calendar days, weeks, years/months/days and business days, plus weekday, ISO week, day of year and quarter. Input: date (YYYY-MM-DD, ISO date-time, Unix seconds, today or now), optional add, subtract, until, tz, weekend, holidays. Years 1000-9999.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "add": {
            "description": "Duration to add: ISO 8601 (P1M2D, PT4H) or text (3 days, -2 weeks, 10 business days, 4h 30m; m = minutes, mo = months)",
            "type": "string"
          },
          "date": {
            "description": "Date: YYYY-MM-DD, ISO 8601 date-time (2026-11-01T09:30, optional Z or +08:00), Unix seconds, today or now",
            "type": "string"
          },
          "holidays": {
            "description": "Dates to skip as holidays in business-day math: up to 400 YYYY-MM-DD, comma-separated",
            "maxLength": 5000,
            "type": "string"
          },
          "subtract": {
            "description": "Duration to subtract (same formats as add)",
            "type": "string"
          },
          "tz": {
            "description": "IANA time zone for today/now and local times (default UTC)",
            "type": "string"
          },
          "until": {
            "description": "Second date: returns the difference in days, weeks, years/months/days and business days",
            "type": "string"
          },
          "weekend": {
            "description": "Weekend days for business-day math, e.g. sat,sun (default), fri,sat, sun or none",
            "type": "string"
          }
        },
        "required": [
          "date"
        ],
        "type": "object"
      },
      "name": "date_calc"
    },
    {
      "description": "$0.002 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Web and domain checks] Live DNS lookup for any public host name: one record type or ALL (A, AAAA, CNAME, MX, TXT, NS, SOA, CAA) in one call, with NXDOMAIN detection and a flag for private addresses. Cached 2 min. ~0.1-1 s.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "host": {
            "description": "Public host name, e.g. example.com or www.example.com (a URL also works)",
            "type": "string"
          },
          "type": {
            "default": "ALL",
            "description": "Record type (default ALL = A, AAAA, CNAME, MX, TXT, NS, SOA, CAA)",
            "enum": [
              "ALL",
              "A",
              "AAAA",
              "CNAME",
              "MX",
              "TXT",
              "NS",
              "SOA",
              "CAA"
            ],
            "type": "string"
          }
        },
        "required": [
          "host"
        ],
        "type": "object"
      },
      "name": "dns_lookup"
    },
    {
      "description": "$0.002 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Web and domain checks] Offline host-name check for phishing patterns: punycode, mixed-alphabet homographs, typo lookalikes of phished brands, brand off its official domain, risky TLD, login/wallet words. trust/2: signals with evidence, risk level low_observed_risk / elevated / high, 0-100 risk score, coverage, not_a_guarantee (a normal name says nothing about the site). < 50 ms. Method + error rates: https://shop.lordevo.com/docs/trust-methodology",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "host": {
            "description": "Public host name, e.g. example.com or www.example.com (a URL also works)",
            "type": "string"
          }
        },
        "required": [
          "host"
        ],
        "type": "object"
      },
      "name": "domain_lookalike"
    },
    {
      "description": "$0.002 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Web and domain checks] Registration facts for a domain from the official registry RDAP service (successor to WHOIS): registered or not, registrar and IANA id, created / updated / expiry dates, age in days, days to expiry, EPP status codes, nameservers and DNSSEC. Personal contact data is never returned. Cached 24 h. ~0.5-3 s.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "domain": {
            "description": "Domain name, e.g. example.com (a URL or email address also works)",
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "name": "domain_rdap"
    },
    {
      "description": "$0.005 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Web and domain checks] Check a domain's email authentication and spoofing risk from public DNS: MX and mail provider, SPF (record, all-qualifier, DNS lookup count vs the 10 limit), DMARC policy/pct/rua, DKIM at 30 common selectors, MTA-STS, TLS-RPT, BIMI. Returns grade, spoofable flag and fixes. ~1-3 s.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "domain": {
            "description": "Domain name, e.g. example.com (a URL or email address also works)",
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "name": "email_auth"
    },
    {
      "description": "$0.002 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Web and domain checks] Validates one email address without contacting the mailbox: RFC 5321 syntax, domain exists, MX / null-MX / implicit-MX, MX hosts resolve, mail provider, disposable-domain flag (CC0 list), role account (info@, support@), free provider, typo suggestion (gmial.com -> gmail.com). Verdict valid / risky / invalid. ~0.2-1.5 s.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "email": {
            "description": "Email address, e.g. jane@example.com",
            "type": "string"
          }
        },
        "required": [
          "email"
        ],
        "type": "object"
      },
      "name": "email_validate"
    },
    {
      "description": "$0.005 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Fetch and read the web] Parses a feed URL, or finds the feed linked from a page (falls back to /feed, /rss.xml, /atom.xml), and returns normalised items with title, link, ISO date, summary and author, plus feed title and type. Input: url, optional limit 1-100. Limits: 5 MB, 10 s per request, up to 4 requests; robots.txt obeyed for every URL and redirect. Cached 10 min.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "limit": {
            "default": "20",
            "description": "Max items returned, 1-100 (default 20)",
            "pattern": "^\\d{1,3}$",
            "type": "string"
          },
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "feed_parse"
    },
    {
      "description": "Free. Returns an example of what a paid tool returns, so you can decide before paying.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "tool": {
            "enum": [
              "site_check",
              "agent_readiness",
              "url_trust",
              "can_fetch",
              "link_check",
              "dns_lookup",
              "email_validate",
              "ssl_cert",
              "domain_rdap",
              "ip_info",
              "links_batch",
              "broken_links",
              "sitemap_urls",
              "link_preview",
              "readability",
              "structured_data",
              "canonical_check",
              "cors_check",
              "http_ping",
              "domain_lookalike",
              "myr_rates",
              "redirect_chain",
              "text_chunk",
              "token_count",
              "json_validate",
              "json_repair",
              "time_convert",
              "cron_next",
              "url_clean",
              "feed_parse",
              "page_diff",
              "pdf_text",
              "math_eval",
              "date_calc",
              "regex_test",
              "text_diff",
              "verdict_card",
              "page_markdown",
              "page_meta",
              "email_auth",
              "security_headers",
              "tech_stack",
              "seo_page",
              "site_snapshot",
              "page_quality",
              "site_verdict",
              "seo_audit_lite",
              "security_scan_lite"
            ],
            "type": "string"
          }
        },
        "required": [
          "tool"
        ],
        "type": "object"
      },
      "name": "get_sample_output"
    },
    {
      "description": "$0.002 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Web and domain checks] One live request to a URL with no redirect following: up or down (and why: DNS, timeout, refused, TLS), status, Location, timings in ms for DNS, TCP connect, TLS handshake, time to first byte and total, IP, HTTP version, server header. Measured from Malaysia. Never cached. ~0.1-2 s.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "http_ping"
    },
    {
      "description": "$0.002 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Web and domain checks] Who holds a public IPv4/IPv6 address, from the Regional Internet Registry RDAP record: network name, handle, CIDR, address range, country, holding organisation, abuse mailbox, RIR (ARIN/RIPE/APNIC/LACNIC/AFRINIC) and reverse DNS (PTR). No geolocation database and no ASN. Cached 24 h. ~0.5-3 s.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "ip": {
            "description": "Public IPv4 or IPv6 address, e.g. 8.8.8.8",
            "type": "string"
          }
        },
        "required": [
          "ip"
        ],
        "type": "object"
      },
      "name": "ip_info"
    },
    {
      "description": "$0.002 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Data utilities] Turns malformed or LLM-style JSON into valid JSON: removes code fences and leading text, fixes trailing commas, single or smart quotes, unquoted keys, comments, Python constants and truncated endings, and lists the problem types found. Input: json (POST for large input). Limit: 1 MB. Offline.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "json": {
            "description": "JSON text, up to 1 MB (a JSON value is also accepted in a POST body or MCP arguments)",
            "type": "string"
          }
        },
        "required": [
          "json"
        ],
        "type": "object"
      },
      "name": "json_repair"
    },
    {
      "description": "$0.002 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Data utilities] Validates a JSON document against a JSON Schema (draft-07, 2019-09 or 2020-12, formats included) and returns valid true/false with every error as a JSON Pointer, keyword and message. Input: json and schema (POST for large documents). Limits: 1 MB JSON, 200 KB schema, 100 errors listed; remote $ref is not fetched. Offline.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "json": {
            "description": "JSON text, up to 1 MB (a JSON value is also accepted in a POST body or MCP arguments)",
            "type": "string"
          },
          "schema": {
            "description": "JSON Schema (draft-07, 2019-09 or 2020-12) as JSON text or object, up to 200 KB",
            "maxLength": 200000,
            "type": "string"
          }
        },
        "required": [
          "json",
          "schema"
        ],
        "type": "object"
      },
      "name": "json_validate"
    },
    {
      "description": "$0.002 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Web and domain checks] Resolve one link the way a browser would: follows up to 10 redirects (HEAD first, GET fallback), returns alive true/false with a reason (http_404, dns_not_found, timeout...), the final URL and domain, every hop with its status, cross-domain and HTTPS-downgrade flags, URL-shortener detection, content type/length, Last-Modified/ETag, X-Robots-Tag and TLS validity. robots.txt is checked before the link and each redirect is requested; a disallowed link is refused (not charged), a disallowed hop is reported. Dead links are an answer, not an error. Cached up to 5 min. ~0.3-3 s.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "link_check"
    },
    {
      "description": "$0.005 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Fetch and read the web] Everything needed to render a link card from one public page: title, description, site name, Open Graph image (size, alt), canonical URL, best favicon plus all icons, logo (JSON-LD Organization), web manifest, theme colour, Twitter card fields, author and dates. Cached 1 h. ~0.3-2 s.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "link_preview"
    },
    {
      "description": "$0.01 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Web and domain checks] The link-check for up to 10 URLs in one paid call (comma-separated): for each, alive or dead with the reason, final URL after redirects, redirect chain, cross-domain / HTTPS-downgrade flags, content type and TLS. robots.txt is checked before each URL and redirect is requested. ~1-6 s.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "urls": {
            "description": "1-10 public http(s) URLs, comma-separated",
            "type": "string"
          }
        },
        "required": [
          "urls"
        ],
        "type": "object"
      },
      "name": "links_batch"
    },
    {
      "description": "Free. Lists every Lordevo pay-per-call tool grouped by job (fetch and read the web, web and domain checks, data utilities, SEO and security) from $0.002, plus LITE tiers and full SEO/security/content services, with price, endpoint and input.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "list_services"
    },
    {
      "description": "$0.002 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Data utilities] Evaluates a math expression exactly: + - * / % ^ !, parentheses, big integers and fractions (1/3 stays 1/3), plus sqrt, round, floor, min, max, mean, gcd, lcm, comb, perm, ln, log, exp and trig (radians; deg constant). Returns result, fraction, decimal to N places, repeating decimal and whether it is exact. Input: expr, optional decimals 0-100. Limits: 1,000 characters, 10,000-digit values. Offline.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "decimals": {
            "default": "20",
            "description": "Decimal places in \"decimal\", 0-100 (default 20)",
            "pattern": "^\\d{1,3}$",
            "type": "string"
          },
          "expr": {
            "description": "Math expression, up to 1,000 characters: numbers, + - * / % ^ ! ( ), functions like sqrt(), round(x, 2), comb(n, k), constants pi, e, deg",
            "type": "string"
          }
        },
        "required": [
          "expr"
        ],
        "type": "object"
      },
      "name": "math_eval"
    },
    {
      "description": "$0.002 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Data utilities] Bank Negara Malaysia exchange rates against the ringgit (buying, selling, middle; MYR per unit) for one currency or ALL, plus the current Overnight Policy Rate. Source: Bank Negara Malaysia; data subject to the Terms of Use for BNM Datasets; not endorsed by BNM. Cached 15 min. ~0.5-2 s.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "currency": {
            "description": "3-letter currency code (e.g. USD, SGD, EUR) or ALL",
            "type": "string"
          }
        },
        "required": [
          "currency"
        ],
        "type": "object"
      },
      "name": "myr_rates"
    },
    {
      "description": "$0.005 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Fetch and read the web] Fetches one public page and returns a SHA-256 hash of its main text plus the clean text; if you send the previous hash or text it also says changed yes/no and, with previous text, lists added and removed lines. Input: url, optional previous_hash or previous_text. Limits: 1.5 MB page, 100,000 characters of text returned; robots.txt obeyed. Not cached.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "previous_hash": {
            "description": "content_sha256 from your previous call",
            "pattern": "^[a-fA-F0-9]{64}$",
            "type": "string"
          },
          "previous_text": {
            "description": "text from your previous call (gives the changed lines; POST for long text)",
            "maxLength": 200000,
            "type": "string"
          },
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "page_diff"
    },
    {
      "description": "$0.005 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Fetch and read the web] Fetch one public web page and return its main content as clean Markdown (headings, lists, links, images with alt) plus title, description, lang, canonical and word count. Up to 60,000 characters. Obeys robots.txt. ~1-3 s. ",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "page_markdown"
    },
    {
      "description": "$0.005 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Fetch and read the web] Read one public web page and return clean Markdown of the main content plus metadata: title, meta description, canonical, robots, lang, Open Graph/Twitter tags, headings outline, JSON-LD types, internal/external links, images missing alt, word count. Obeys robots.txt. ~1-3 s.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "page_meta"
    },
    {
      "description": "$0.005 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [SEO, security and site verdicts] AI verdict on one page's content quality: high/medium/low with a 0-100 score, topic, strengths, problems and one-line summary, blended with measured metrics (word count, Flesch readability, headings, duplicate sentences, link ratio, author/date). Runs on Lordevo's own local model (no cloud AI). Obeys robots.txt. ~3-20 s.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "page_quality"
    },
    {
      "description": "$0.01 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Fetch and read the web] Downloads one public PDF and returns its text layer page by page, with page count and title metadata. Input: url, optional max_pages. Limits: 10 MB, 50 pages, 500,000 characters; password-protected PDFs are refused and scanned images are not OCRed; robots.txt obeyed for every URL and redirect. Cached 1 h.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "max_pages": {
            "default": "50",
            "description": "Pages to read, 1-50 (default 50)",
            "pattern": "^\\d{1,2}$",
            "type": "string"
          },
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "pdf_text"
    },
    {
      "description": "Free, no payment. One call tells you whether a paid fetch tool would most likely succeed on a URL: DNS/public check, HTTP status, final URL after redirects (robots.txt checked on every hop), response time, robots.txt for the shop's agent and for *, content type, length and charset, and a verdict per tool (or for every eligible fetch tool) with the reason, price, paid endpoint and whether the free trial covers it. Never returns page content. Limited per IP per day.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "tool": {
            "description": "Optional: the paid tool you plan to call (default: every eligible fetch tool)",
            "enum": [
              "page-markdown",
              "page-meta",
              "readability",
              "link-preview",
              "text-chunk",
              "page-diff",
              "feed-parse",
              "pdf-text",
              "sitemap-urls",
              "can-fetch",
              "link-check",
              "site-check"
            ],
            "type": "string"
          },
          "url": {
            "description": "Public http(s) URL or bare domain",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "preflight"
    },
    {
      "description": "$0.005 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Fetch and read the web] Text statistics for the main content of one page: word, sentence and character counts, Flesch reading ease and Flesch-Kincaid grade (English), level, long-sentence ratio, reading and speaking time, and top terms. Computed by formula, no AI. Cached 1 h. ~0.3-2 s.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "readability"
    },
    {
      "description": "$0.002 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Web and domain checks] Follows the redirects of one public http(s) URL hop by hop and returns each hop's URL, status code, Location header and time in ms, with flags for loops, HTTPS-to-HTTP downgrades, more than 10 redirects and cross-domain hops. Input: url. Limits: up to 15 redirects, 8 s per hop, public hosts only; robots.txt is checked before every hop is requested (a disallowed hop is reported, not requested). Not cached.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "redirect_chain"
    },
    {
      "description": "$0.002 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Data utilities] Runs a JavaScript (ECMAScript) regular expression on your text and returns every match with index, line, column, numbered and named groups, or the result of replace or split. Catastrophic patterns are stopped after 3 seconds and not charged. Input: pattern (or /pattern/flags), text, optional flags, mode, replace, max_matches (POST for long text). Limits: 2,000-character pattern, 400,000-character text. Offline.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "flags": {
            "description": "Regex flags, e.g. gi (or write the pattern as /.../flags)",
            "pattern": "^[dgimsuyv]{0,8}$",
            "type": "string"
          },
          "max_matches": {
            "default": "100",
            "description": "Matches to list, 1-1000 (default 100)",
            "pattern": "^\\d{1,4}$",
            "type": "string"
          },
          "mode": {
            "default": "match",
            "description": "match (all matches with groups, default), test (first match only), replace or split",
            "enum": [
              "match",
              "test",
              "replace",
              "split"
            ],
            "type": "string"
          },
          "pattern": {
            "description": "JavaScript regular expression, up to 2,000 characters, either the bare pattern or /pattern/flags",
            "type": "string"
          },
          "replace": {
            "description": "Replacement for mode=replace ($1, $<name>, $&; default empty = delete matches)",
            "maxLength": 10000,
            "type": "string"
          },
          "text": {
            "description": "Text to run the regex on, up to 400,000 characters (POST for long text)",
            "maxLength": 400000,
            "type": "string"
          }
        },
        "required": [
          "pattern",
          "text"
        ],
        "type": "object"
      },
      "name": "regex_test"
    },
    {
      "description": "$0.005 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [SEO, security and site verdicts] Passive check of a public website's HTTPS setup: TLS version and certificate expiry, HTTP->HTTPS redirect, HSTS, CSP, X-Frame-Options/frame-ancestors, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, cookie flags, version disclosure. Returns grade A+..F and fixes. ~1-3 s.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "security_headers"
    },
    {
      "description": "$0.02 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [SEO, security and site verdicts] LITE version of the Website Security Check: passive summary only (headers, TLS/certificate, HTTP->HTTPS, cookies, SPF/DKIM/DMARC, CAA, IPv6, security.txt) with grade A-F and top 10 findings. Nothing intrusive. ~3-10 s. Upgrade: Passive check ($1) or Deep active scan ($5, ownership verification required).",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "security_scan_lite"
    },
    {
      "description": "$0.02 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [SEO, security and site verdicts] LITE version of the $2 SEO Audit: one page, the top 10 issues ranked by severity and effort with why/fix, plus up to 12 internal links checked for 404s, mixed content, headings, structured data, Open Graph, robots.txt/sitemap/llms.txt. ~5-15 s. Upgrade: full 10-page SEO Audit ($2).",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "seo_audit_lite"
    },
    {
      "description": "$0.01 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [SEO, security and site verdicts] On-page SEO check of one URL: title/meta lengths, H1, canonical, noindex, viewport, lang, Open Graph, JSON-LD, images alt, thin content, compression, response time, plus robots.txt, XML sitemap, llms.txt and which AI crawlers (GPTBot, ClaudeBot, PerplexityBot...) are allowed. Score 0-100 with issues and fixes. Obeys robots.txt. ~2-5 s.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "seo_page"
    },
    {
      "description": "$0.02 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [SEO, security and site verdicts] One call answers two questions agents ask about a website: what risk signals does it show before you click or pay (url-trust, trust/2: TLS, redirects, domain age via RDAP, lookalike/punycode, scam/parked signals, x402 challenge validity, each with evidence, a risk level low_observed_risk / elevated / high / unknown and measured error rates; never a \"safe\" claim) and is it ready for AI agents and search (agent-readiness score 0-100), plus a security-headers summary. Returns overall risk level and scores, top fixes and the three full sub-results. Method and error rates: https://shop.lordevo.com/docs/trust-methodology",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "site_check"
    },
    {
      "description": "$0.01 per call (x402, USDC on Base; the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). One call: a client-ready, evidence-backed website audit and remediation plan (SEO on up to 10 pages, passive security, links, email authentication, AI readiness). Every finding has evidence, observed/inferred basis, priority, effort, a concrete fix and how to verify it; plus a phased implementation plan, what needs human review, and an honest coverage section. JSON + Markdown + self-contained HTML, optional white-label branding. Passive, point-in-time; not a penetration test. Returns the finished site-report/1 or status \"running\" with result_url / delivery_id + key to poll (free tool site_report_status). Bad input is refused before payment; a report where every check fails is not charged.",
      "inputSchema": {
        "additionalProperties": true,
        "properties": {
          "authorization": {
            "description": "You own the site or are authorised by its owner to assess it",
            "properties": {
              "attested": {
                "const": true,
                "type": "boolean"
              },
              "contact": {
                "type": "string"
              },
              "statement": {
                "minLength": 10,
                "type": "string"
              }
            },
            "required": [
              "attested",
              "statement"
            ],
            "type": "object"
          },
          "scope": {
            "additionalProperties": false,
            "properties": {
              "areas": {
                "description": "Default: all five",
                "items": {
                  "enum": [
                    "seo",
                    "security_passive",
                    "links",
                    "email_auth",
                    "ai_readiness"
                  ],
                  "type": "string"
                },
                "minItems": 1,
                "type": "array",
                "uniqueItems": true
              },
              "audience": {
                "default": "agency",
                "enum": [
                  "agency",
                  "owner"
                ],
                "type": "string"
              },
              "brand": {
                "description": "White-label header (audience agency): no Lordevo name or upsell in the report",
                "properties": {
                  "logo_url": {
                    "description": "Public https URL of a PNG/JPEG/GIF/WebP, up to 150 KB",
                    "type": "string"
                  },
                  "name": {
                    "maxLength": 80,
                    "type": "string"
                  }
                },
                "required": [
                  "name"
                ],
                "type": "object"
              },
              "format": {
                "default": "all",
                "enum": [
                  "json",
                  "markdown",
                  "html",
                  "all"
                ],
                "type": "string"
              },
              "max_pages": {
                "default": 10,
                "maximum": 10,
                "minimum": 1,
                "type": "integer"
              }
            },
            "type": "object"
          },
          "url": {
            "description": "Public http(s) website to assess",
            "type": "string"
          }
        },
        "required": [
          "url",
          "authorization"
        ],
        "type": "object"
      },
      "name": "site_report"
    },
    {
      "description": "Free. Poll a site report: give delivery_id and key from the site_report result (or result_url). Returns the report when status is done.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "delivery_id": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "result_url": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "site_report_status"
    },
    {
      "description": "$0.02 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [SEO, security and site verdicts] All four quick checks in one call for a website: on-page SEO score and issues, security headers/TLS grade, tech stack, and the domain's SPF/DKIM/DMARC email authentication. Good for lead qualification, vendor due diligence or a first look before a full audit. ~3-8 s.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "site_snapshot"
    },
    {
      "description": "$0.01 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [SEO, security and site verdicts] Risk signals for a business website (trust/2): risk level low_observed_risk / elevated / high / unknown with a 0-100 RISK score, confidence and signals[] with evidence, from public data: HTTPS, domain age (RDAP), MX/SPF/DMARC, contact details, address, company registration text, policies, social links, parked/for-sale and scam-phrase detection, plus Lordevo's own local model (no cloud AI, basis: inferred). Never certifies a site as legit or safe; registrations are detected, not verified. ~3-20 s. Method and measured error rates: https://shop.lordevo.com/docs/trust-methodology",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "site_verdict"
    },
    {
      "description": "$0.005 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Fetch and read the web] Finds a site's sitemaps (robots.txt Sitemap lines, /sitemap.xml, /sitemap_index.xml, or a sitemap URL you give), follows sitemap indexes (up to 6 files) and returns up to 1000 page URLs with lastmod, plus per-sitemap status. Cached 1 h. ~0.5-4 s.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "sitemap_urls"
    },
    {
      "description": "$0.002 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Web and domain checks] Connects to host:443 and reports the certificate: trusted or not (and why), hostname match, issuer, valid from/to, days left, expired / expiring within 21 days, SAN list, wildcard, key type and size, serial, SHA-256 fingerprint, OCSP/CA URLs, chain, TLS version, cipher and ALPN. Cached 1 h. ~0.2-1.5 s.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "host": {
            "description": "Public host name, e.g. example.com or www.example.com (a URL also works)",
            "type": "string"
          }
        },
        "required": [
          "host"
        ],
        "type": "object"
      },
      "name": "ssl_cert"
    },
    {
      "description": "$0.005 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [SEO, security and site verdicts] Extracts schema.org data from one page: every JSON-LD item (Product, Article, Organization, FAQPage, Event, Recipe and others) as parsed JSON with missing required / recommended properties, invalid JSON-LD blocks, microdata itemtypes and RDFa types. Cached 1 h. ~0.3-2 s.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "structured_data"
    },
    {
      "description": "$0.01 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Web and domain checks] Detect what a website is built with from its homepage HTML and headers: CMS/site builder, ecommerce platform, JS framework, analytics and ad pixels, tag manager, chat/support widgets, payments, consent, CDN, hosting, web server, language. ~90 signatures with evidence-based detection and versions where visible. Obeys robots.txt. ~1-3 s.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "tech_stack"
    },
    {
      "description": "$0.005 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Fetch and read the web] Splits text you send, or the main content of one public page, into heading-aware chunks of at most max_tokens with optional overlap, each with its heading path and an approximate token count, for RAG ingestion. Input: text (POST for long text) or url; max_tokens 50-4000, overlap_tokens. Limits: 400,000 characters, 2,000 chunks; robots.txt obeyed for url.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "max_tokens": {
            "default": "500",
            "description": "Max tokens per chunk, 50-4000 (default 500)",
            "pattern": "^\\d{2,4}$",
            "type": "string"
          },
          "overlap_tokens": {
            "default": "50",
            "description": "Tokens repeated from the previous chunk, 0 to half of max_tokens (default 50)",
            "pattern": "^\\d{1,4}$",
            "type": "string"
          },
          "text": {
            "description": "Plain text or Markdown, 1-400,000 characters (short text in the query; long text as POST JSON {\"text\": \"...\"}) (or give url)",
            "type": "string"
          },
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com (instead of text)",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "text_chunk"
    },
    {
      "description": "$0.002 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Data utilities] Compares two texts you send and returns whether they are identical, a similarity score, counts of added, removed and unchanged lines (or words or characters), plus a unified diff and hunks in line mode or a change list in word and char mode. Input: before, after, optional mode, context, ignore_whitespace, ignore_case (POST for long text). Limits: 200,000 characters per side (word 100,000, char 20,000). Offline.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "after": {
            "description": "The new text, up to 200,000 characters (POST for long text)",
            "maxLength": 200000,
            "type": "string"
          },
          "before": {
            "description": "The original text, up to 200,000 characters (POST JSON {\"before\": \"...\", \"after\": \"...\"} for long text)",
            "type": "string"
          },
          "context": {
            "default": "3",
            "description": "Unchanged lines around each change in line mode, 0-20 (default 3)",
            "pattern": "^\\d{1,2}$",
            "type": "string"
          },
          "ignore_case": {
            "default": "no",
            "description": "Ignore upper/lower case",
            "enum": [
              "yes",
              "no"
            ],
            "type": "string"
          },
          "ignore_whitespace": {
            "default": "no",
            "description": "Line mode: ignore leading/trailing whitespace",
            "enum": [
              "yes",
              "no"
            ],
            "type": "string"
          },
          "mode": {
            "default": "line",
            "description": "Compare by line (default, unified diff), word or character",
            "enum": [
              "line",
              "word",
              "char"
            ],
            "type": "string"
          }
        },
        "required": [
          "before",
          "after"
        ],
        "type": "object"
      },
      "name": "text_diff"
    },
    {
      "description": "$0.002 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Data utilities] Converts a date-time from one IANA time zone to another, or gives the current time in a zone, with ISO 8601 output, UTC offsets, abbreviation, whether DST is in effect and the next DST change, and flags times skipped or repeated by DST. Input: to, optional from (default UTC) and datetime (default now). Offline.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "ISO 8601 date/time (2026-11-01T09:30, optional Z or +08:00), Unix seconds, or now (default)",
            "type": "string"
          },
          "from": {
            "description": "IANA zone the datetime is in (default UTC)",
            "type": "string"
          },
          "to": {
            "description": "IANA time zone, e.g. Europe/London, America/New_York, Asia/Kuala_Lumpur or UTC",
            "type": "string"
          }
        },
        "required": [
          "to"
        ],
        "type": "object"
      },
      "name": "time_convert"
    },
    {
      "description": "$0.002 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Data utilities] Estimates how many LLM tokens a text uses with a documented offline heuristic (not an exact tokenizer; typically within about 15% for English), with a low/high range, characters, words, lines and UTF-8 bytes. Input: text (POST for long text). Limit: 400,000 characters.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "text": {
            "description": "Plain text or Markdown, 1-400,000 characters (short text in the query; long text as POST JSON {\"text\": \"...\"})",
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "token_count"
    },
    {
      "description": "$0.002 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Data utilities] Normalises up to 50 URLs offline: lowercases scheme and host, drops default ports, fragments, credentials and known tracking parameters (utm_*, gclid, fbclid, msclkid and similar), then removes duplicates; reports what changed per URL. Input: urls separated by spaces or new lines (or a JSON array via POST). No URL is fetched.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "urls": {
            "description": "1-50 http(s) URLs separated by spaces or new lines (or a JSON array in a POST body)",
            "type": "string"
          }
        },
        "required": [
          "urls"
        ],
        "type": "object"
      },
      "name": "url_clean"
    },
    {
      "description": "$0.002 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [Web and domain checks] Pre-click / pre-pay risk signals for one URL: TLS validity and expiry, redirect chain (HTTPS downgrades, cross-domain hops), domain age via RDAP, brand lookalike and punycode/mixed-script signals, parked or scam-pattern content, seed-phrase or lookalike login forms, security-header grade, and, if the URL answers 402, whether its x402 challenge is valid (USDC on Base, payTo, amount, resource host). Output trust/2: signals[] with evidence, risk {level: low_observed_risk / elevated / high / unknown, score 0-100 = risk, confidence, observed bad rate}, coverage (what was not checked) and not_a_guarantee. No third-party blocklist; low observed risk is not a safety certification. Method and measured error rates: https://shop.lordevo.com/docs/trust-methodology",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "url_trust"
    },
    {
      "description": "$0.01 per call (x402, USDC on Base; add \"trial\": true to try up to 3 calls per IP per day free on tools up to $0.005; otherwise the call returns the payment terms: pay and retry with _meta[\"x402/payment\"]). [SEO, security and site verdicts] The site-verdict risk signals rendered as a branded 1200x630 SVG card: risk level (low observed risk / elevated / high / unknown), risk score 0-100, a one-line summary and the top signals, with a permanent public URL (card_url) to share or embed, plus the inline SVG, signals with evidence and coverage (trust/2). The card says \"signals only, not a safety certification\" and never shows a safe or legit seal. Text comes from Lordevo's own local model (no cloud AI) blended with rules. Method and measured error rates: https://shop.lordevo.com/docs/trust-methodology",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL or bare domain, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "verdict_card"
    }
  ]
}

What the leaf hashes

{"body":"e8b0efacd3a296d2816e11aa254cdf9bcc5efa6b80adc98b22b92ed2c3082ba4","id":1287582,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793390620571991,"prev":1053179,"subject":"205493c9-1475-42ca-85b6-2f38da48e5ec","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (243099 rows).

  1. 0x8e0ebfba32ff7f23aed4a7c6bb7887a51ce4995dae865c68e5a305dc90241531
  2. 0xcf27c20b8bc186694a6f845144530b043c4d8abd3383f7b838e4f9c26fe3bb21
  3. 0x10e2572d1371281a31066cfef274a33ca7265424781d53ce468c01ac314a6bca
  4. 0xbaa7578da43457ee952f7e163174dd139d9a8fab6e962d5453b63aa01f92c15f
  5. 0x82b39b4bfad8a5124f3c670b0828ec7a52f2986dd5a7eaeb2b390f8bb23c9811
  6. 0x29b2447427aff595e6c2feac890caffac2d6c0c79df3a572ffff3fc8140c1036
  7. 0x1b651fd15d36a8b55e94074b092616bd97d5735203d43581d40a13d46cc5b593
  8. 0x777dfe758a383b9d85fe0cac2572ad9f4178e83df45eeb7947ee566f923abf9f
  9. 0x64a2b054e67c333fff4633424ac9673f1b56dc9442a8208924deeed64782b16f
  10. 0x3369a314dfe222f502252663002d08abd5b990c348631c85dcfd10774b8d00d5
  11. 0xa9994c99e35d7fe2b1a5962bf109bdbae1b3253350f02ccdbe60852d183df7cc
  12. 0x6da1ef2465a3913e4160bb9f70aa9eb46c19f0a3b113105c4a2c637f703a3ae6
  13. 0x0d06f2034510d710ecc68d1e2023d7419591dfad7a7afe8433d9d14c42fb1ce4
  14. 0xc819bc399b4972a3a1ce1897d0bce2138291f900ae9bdb4afaf8fa23d651b490
  15. 0xe722b5213af778d8f1621b8b0b61f957ac8d8bb43a780aed8989bfc357e5bc58
  16. 0x835211170e79bdce1a823ec914e3532e128f77751e9074286da35091b0200284
  17. 0x61ef83255d34604cb052882568ca1d1386ac3cfb8284509715bc1734cff77831
  18. 0x0c43c73b62a5d49ee1444b5dc4195fc5b16b141d3f4458e2e9fbd5fd6ecb367d
Day root
0x0826c7ad6039e06a2360ca0a4a3a4fe7f2626c6dc19f71a37599386f78b39875
Chained
0x36b4c8a1063758f0b8765fa1bdf75fa92fb543cc183add3e261880ee2bd1f822
Published
On Arc Testnet, block 69923247: 0x8704744146c6967c8abc9e9a99de4db7283b29e840922ea83a69b6fe776e6861

How to check it · This row as JSON