Koskamo

Lordevo Shop MCP

An MCP server providing AI agents with pay-per-call access to Lordevo's web infrastructure and SEO tools, including site audits, security scans, DNS lookups, and various utility functions, settled via x402 payments on Base.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Lordevo Shop MCP logo, by LordevoVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Lordevo
MCP endpoint (Streamable HTTP)
https://shop.lordevo.com/mcp
Vendor documentation

What you can do with it

  • Perform client-ready website audits and remediation plans
  • Run passive security scans and SEO checks
  • Execute quick DNS, SSL, and domain lookups
  • Validate JSON, parse feeds, and calculate dates

Source and maintenance

Vendor evidenceRegistry 1.1.1

Protocol and capabilities

Server
lordevo-shop 1.1.1
MCP protocol
2025-06-18
Tools
53 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Website checks and data tools for AI agents, grouped by job: fetch and read the web (page Markdown, RAG chunks, feeds, PDFs, page changes), web and domain checks (links, redirects, DNS, TLS, RDAP), data utilities (JSON validate/repair, token estimates, time zones, cron, URL cleaning) and SEO/security checks. Start with site_check ($0.02) for a website: URL risk signals (evidence + risk level, never a safety claim) + AI readiness + security headers in one call. initialize, tools/list, list_services, get_sample_output and preflight (would a paid fetch succeed on this URL?) are free. Paid tools cost $0.002-$0.02 in USDC on Base via the x402 MCP transport: call the tool, receive PaymentRequired (isError, structuredContent), sign with any x402 client and retry with params._meta["x402/payment"]. Only check sites you are allowed to; all checks are passive and read-only.

Tools

53 advertised

site_report — Site report for agencies: client-ready audit + fix plan
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

site_report input schema
{
  "type": "object",
  "required": [
    "url",
    "authorization"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) website to assess"
    },
    "scope": {
      "type": "object",
      "properties": {
        "areas": {
          "type": "array",
          "items": {
            "enum": [
              "seo",
              "security_passive",
              "links",
              "email_auth",
              "ai_readiness"
            ],
            "type": "string"
          },
          "minItems": 1,
          "description": "Default: all five",
          "uniqueItems": true
        },
        "brand": {
          "type": "object",
          "required": [
            "name"
          ],
          "properties": {
            "name": {
              "type": "string",
              "maxLength": 80
            },
            "logo_url": {
              "type": "string",
              "description": "Public https URL of a PNG/JPEG/GIF/WebP, up to 150 KB"
            }
          },
          "description": "White-label header (audience agency): no Lordevo name or upsell in the report"
        },
        "format": {
          "enum": [
            "json",
            "markdown",
            "html",
            "all"
          ],
          "type": "string",
          "default": "all"
        },
        "audience": {
          "enum": [
            "agency",
            "owner"
          ],
          "type": "string",
          "default": "agency"
        },
        "max_pages": {
          "type": "integer",
          "default": 10,
          "maximum": 10,
          "minimum": 1
        }
      },
      "additionalProperties": false
    },
    "authorization": {
      "type": "object",
      "required": [
        "attested",
        "statement"
      ],
      "properties": {
        "contact": {
          "type": "string"
        },
        "attested": {
          "type": "boolean",
          "const": true
        },
        "statement": {
          "type": "string",
          "minLength": 10
        }
      },
      "description": "You own the site or are authorised by its owner to assess it"
    }
  },
  "additionalProperties": true
}
site_report annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": false
}
site_report_status — Site report status (free)
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

site_report_status input schema
{
  "type": "object",
  "properties": {
    "key": {
      "type": "string"
    },
    "result_url": {
      "type": "string"
    },
    "delivery_id": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
site_report_status annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
site_check — Site check: URL risk signals + AI readiness + security headers (recommended start)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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

site_check input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    }
  },
  "additionalProperties": false
}
site_check annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
list_services — List Lordevo services and prices
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

list_services input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
list_services annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_sample_output — Sample output of a tool
Advertised by the server during the last successful anonymous check.
Advertised read-only

Free. Returns an example of what a paid tool returns, so you can decide before paying.

get_sample_output input schema
{
  "type": "object",
  "required": [
    "tool"
  ],
  "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"
    }
  },
  "additionalProperties": false
}
get_sample_output annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
preflight — Free preflight: will a paid fetch succeed on this URL?
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

preflight input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain"
    },
    "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",
      "description": "Optional: the paid tool you plan to call (default: every eligible fetch tool)"
    }
  },
  "additionalProperties": false
}
preflight annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
agent_readiness — Agent readiness / AI visibility score (GEO)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

agent_readiness input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    }
  },
  "additionalProperties": false
}
agent_readiness annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
url_trust — URL risk signals before you click or pay (evidence + risk level, never a safety claim)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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

url_trust input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    }
  },
  "additionalProperties": false
}
url_trust annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
can_fetch — Can I fetch this URL? robots.txt + AI-crawler permission gate
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

can_fetch input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    }
  },
  "additionalProperties": false
}
can_fetch annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
link_check — Link check: is it alive, where does it really go (redirects resolved)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

link_check input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    }
  },
  "additionalProperties": false
}
link_check annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
dns_lookup — DNS lookup (A, AAAA, CNAME, MX, TXT, NS, SOA, CAA)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

dns_lookup input schema
{
  "type": "object",
  "required": [
    "host"
  ],
  "properties": {
    "host": {
      "type": "string",
      "description": "Public host name, e.g. example.com or www.example.com (a URL also works)"
    },
    "type": {
      "enum": [
        "ALL",
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "TXT",
        "NS",
        "SOA",
        "CAA"
      ],
      "type": "string",
      "default": "ALL",
      "description": "Record type (default ALL = A, AAAA, CNAME, MX, TXT, NS, SOA, CAA)"
    }
  },
  "additionalProperties": false
}
dns_lookup annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
email_validate — Email address validation (syntax + domain + MX, no SMTP probing)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

email_validate input schema
{
  "type": "object",
  "required": [
    "email"
  ],
  "properties": {
    "email": {
      "type": "string",
      "description": "Email address, e.g. jane@example.com"
    }
  },
  "additionalProperties": false
}
email_validate annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
ssl_cert — SSL/TLS certificate check (expiry, issuer, SANs, chain)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

ssl_cert input schema
{
  "type": "object",
  "required": [
    "host"
  ],
  "properties": {
    "host": {
      "type": "string",
      "description": "Public host name, e.g. example.com or www.example.com (a URL also works)"
    }
  },
  "additionalProperties": false
}
ssl_cert annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
domain_rdap — Domain age, registrar and expiry (RDAP)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

domain_rdap input schema
{
  "type": "object",
  "required": [
    "domain"
  ],
  "properties": {
    "domain": {
      "type": "string",
      "description": "Domain name, e.g. example.com (a URL or email address also works)"
    }
  },
  "additionalProperties": false
}
domain_rdap annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
ip_info — IP address owner and network (RDAP + reverse DNS)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

ip_info input schema
{
  "type": "object",
  "required": [
    "ip"
  ],
  "properties": {
    "ip": {
      "type": "string",
      "description": "Public IPv4 or IPv6 address, e.g. 8.8.8.8"
    }
  },
  "additionalProperties": false
}
ip_info annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
links_batch — Batch link check (up to 10 URLs per call)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

links_batch input schema
{
  "type": "object",
  "required": [
    "urls"
  ],
  "properties": {
    "urls": {
      "type": "string",
      "description": "1-10 public http(s) URLs, comma-separated"
    }
  },
  "additionalProperties": false
}
links_batch annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
broken_links — Broken links on a page (up to 40 links checked)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

broken_links input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    }
  },
  "additionalProperties": false
}
broken_links annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
sitemap_urls — Sitemap URL extractor (robots.txt + sitemap index)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

sitemap_urls input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    }
  },
  "additionalProperties": false
}
sitemap_urls annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
link_preview — Link preview / unfurl (title, description, image, favicon, logo)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

link_preview input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    }
  },
  "additionalProperties": false
}
link_preview annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
readability — Readability and word count (Flesch, reading time, top terms)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

readability input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    }
  },
  "additionalProperties": false
}
readability annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
structured_data — Structured data extractor (JSON-LD, microdata, RDFa)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

structured_data input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    }
  },
  "additionalProperties": false
}
structured_data annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
canonical_check — Canonical, hreflang and indexability check
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

canonical_check input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    }
  },
  "additionalProperties": false
}
canonical_check annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
cors_check — CORS check (preflight + allowed origins)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

cors_check input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    },
    "method": {
      "enum": [
        "GET",
        "POST",
        "PUT",
        "PATCH",
        "DELETE"
      ],
      "type": "string",
      "default": "GET",
      "description": "Method for the preflight"
    },
    "origin": {
      "type": "string",
      "default": "https://example.com",
      "pattern": "^https?://[a-zA-Z0-9.-]+(:\\d{1,5})?$",
      "description": "Origin to test, e.g. https://app.example.com"
    }
  },
  "additionalProperties": false
}
cors_check annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
http_ping — HTTP ping: up or down, status and timings (DNS, TCP, TLS, TTFB)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

http_ping input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    }
  },
  "additionalProperties": false
}
http_ping annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
domain_lookalike — Lookalike / homograph domain check (punycode, mixed scripts, brand typos)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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

domain_lookalike input schema
{
  "type": "object",
  "required": [
    "host"
  ],
  "properties": {
    "host": {
      "type": "string",
      "description": "Public host name, e.g. example.com or www.example.com (a URL also works)"
    }
  },
  "additionalProperties": false
}
domain_lookalike annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
myr_rates — Malaysian ringgit exchange rates + OPR (Bank Negara Malaysia data)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

myr_rates input schema
{
  "type": "object",
  "required": [
    "currency"
  ],
  "properties": {
    "currency": {
      "type": "string",
      "description": "3-letter currency code (e.g. USD, SGD, EUR) or ALL"
    }
  },
  "additionalProperties": false
}
myr_rates annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
redirect_chain — Redirect chain: every hop with status, Location and time
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

redirect_chain input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    }
  },
  "additionalProperties": false
}
redirect_chain annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
text_chunk — Text chunker for RAG (heading-aware, token-sized chunks)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

text_chunk input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com (instead of text)"
    },
    "text": {
      "type": "string",
      "description": "Plain text or Markdown, 1-400,000 characters (short text in the query; long text as POST JSON {\"text\": \"...\"}) (or give url)"
    },
    "max_tokens": {
      "type": "string",
      "default": "500",
      "pattern": "^\\d{2,4}$",
      "description": "Max tokens per chunk, 50-4000 (default 500)"
    },
    "overlap_tokens": {
      "type": "string",
      "default": "50",
      "pattern": "^\\d{1,4}$",
      "description": "Tokens repeated from the previous chunk, 0 to half of max_tokens (default 50)"
    }
  },
  "additionalProperties": false
}
text_chunk annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
token_count — Token count estimate (plus characters, words, bytes)
Advertised by the server during the last successful anonymous check.
Advertised read-only

$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.

token_count input schema
{
  "type": "object",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "description": "Plain text or Markdown, 1-400,000 characters (short text in the query; long text as POST JSON {\"text\": \"...\"})"
    }
  },
  "additionalProperties": false
}
token_count annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
json_validate — JSON Schema validation with JSON Pointer errors
Advertised by the server during the last successful anonymous check.
Advertised read-only

$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.

json_validate input schema
{
  "type": "object",
  "required": [
    "json",
    "schema"
  ],
  "properties": {
    "json": {
      "type": "string",
      "description": "JSON text, up to 1 MB (a JSON value is also accepted in a POST body or MCP arguments)"
    },
    "schema": {
      "type": "string",
      "maxLength": 200000,
      "description": "JSON Schema (draft-07, 2019-09 or 2020-12) as JSON text or object, up to 200 KB"
    }
  },
  "additionalProperties": false
}
json_validate annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
json_repair — JSON repair for LLM output (fences, quotes, commas, truncation)
Advertised by the server during the last successful anonymous check.
Advertised read-only

$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.

json_repair input schema
{
  "type": "object",
  "required": [
    "json"
  ],
  "properties": {
    "json": {
      "type": "string",
      "description": "JSON text, up to 1 MB (a JSON value is also accepted in a POST body or MCP arguments)"
    }
  },
  "additionalProperties": false
}
json_repair annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
time_convert — Time zone conversion (IANA zones, offsets, DST)
Advertised by the server during the last successful anonymous check.
Advertised read-only

$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.

time_convert input schema
{
  "type": "object",
  "required": [
    "to"
  ],
  "properties": {
    "to": {
      "type": "string",
      "description": "IANA time zone, e.g. Europe/London, America/New_York, Asia/Kuala_Lumpur or UTC"
    },
    "from": {
      "type": "string",
      "description": "IANA zone the datetime is in (default UTC)"
    },
    "datetime": {
      "type": "string",
      "description": "ISO 8601 date/time (2026-11-01T09:30, optional Z or +08:00), Unix seconds, or now (default)"
    }
  },
  "additionalProperties": false
}
time_convert annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
cron_next — Cron next run times + plain-English description
Advertised by the server during the last successful anonymous check.
Advertised read-only

$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.

cron_next input schema
{
  "type": "object",
  "required": [
    "cron"
  ],
  "properties": {
    "tz": {
      "type": "string",
      "description": "IANA time zone the schedule runs in (default UTC)"
    },
    "cron": {
      "type": "string",
      "description": "5-field cron expression (minute hour day-of-month month day-of-week), or @hourly, @daily, @weekly, @monthly, @yearly"
    },
    "after": {
      "type": "string",
      "description": "Start after this time (ISO 8601 or Unix seconds; default now)"
    },
    "count": {
      "type": "string",
      "default": "5",
      "pattern": "^\\d{1,2}$",
      "description": "How many next runs, 1-20 (default 5)"
    }
  },
  "additionalProperties": false
}
cron_next annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
url_clean — URL cleaner: strip tracking parameters, normalise, dedupe (up to 50)
Advertised by the server during the last successful anonymous check.
Advertised read-only

$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.

url_clean input schema
{
  "type": "object",
  "required": [
    "urls"
  ],
  "properties": {
    "urls": {
      "type": "string",
      "description": "1-50 http(s) URLs separated by spaces or new lines (or a JSON array in a POST body)"
    }
  },
  "additionalProperties": false
}
url_clean annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
feed_parse — Feed reader: RSS, Atom and JSON Feed to normalised items
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

feed_parse input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    },
    "limit": {
      "type": "string",
      "default": "20",
      "pattern": "^\\d{1,3}$",
      "description": "Max items returned, 1-100 (default 20)"
    }
  },
  "additionalProperties": false
}
feed_parse annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
page_diff — Page change check: content hash, clean text and line diff
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

page_diff input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    },
    "previous_hash": {
      "type": "string",
      "pattern": "^[a-fA-F0-9]{64}$",
      "description": "content_sha256 from your previous call"
    },
    "previous_text": {
      "type": "string",
      "maxLength": 200000,
      "description": "text from your previous call (gives the changed lines; POST for long text)"
    }
  },
  "additionalProperties": false
}
page_diff annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
pdf_text — PDF to text, page by page
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

pdf_text input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    },
    "max_pages": {
      "type": "string",
      "default": "50",
      "pattern": "^\\d{1,2}$",
      "description": "Pages to read, 1-50 (default 50)"
    }
  },
  "additionalProperties": false
}
pdf_text annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
math_eval — Exact calculator: arithmetic, fractions, big integers, functions
Advertised by the server during the last successful anonymous check.
Advertised read-only

$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.

math_eval input schema
{
  "type": "object",
  "required": [
    "expr"
  ],
  "properties": {
    "expr": {
      "type": "string",
      "description": "Math expression, up to 1,000 characters: numbers, + - * / % ^ ! ( ), functions like sqrt(), round(x, 2), comb(n, k), constants pi, e, deg"
    },
    "decimals": {
      "type": "string",
      "default": "20",
      "pattern": "^\\d{1,3}$",
      "description": "Decimal places in \"decimal\", 0-100 (default 20)"
    }
  },
  "additionalProperties": false
}
math_eval annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
date_calc — Date calculator: add durations, business days, difference between dates
Advertised by the server during the last successful anonymous check.
Advertised read-only

$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.

date_calc input schema
{
  "type": "object",
  "required": [
    "date"
  ],
  "properties": {
    "tz": {
      "type": "string",
      "description": "IANA time zone for today/now and local times (default UTC)"
    },
    "add": {
      "type": "string",
      "description": "Duration to add: ISO 8601 (P1M2D, PT4H) or text (3 days, -2 weeks, 10 business days, 4h 30m; m = minutes, mo = months)"
    },
    "date": {
      "type": "string",
      "description": "Date: YYYY-MM-DD, ISO 8601 date-time (2026-11-01T09:30, optional Z or +08:00), Unix seconds, today or now"
    },
    "until": {
      "type": "string",
      "description": "Second date: returns the difference in days, weeks, years/months/days and business days"
    },
    "weekend": {
      "type": "string",
      "description": "Weekend days for business-day math, e.g. sat,sun (default), fri,sat, sun or none"
    },
    "holidays": {
      "type": "string",
      "maxLength": 5000,
      "description": "Dates to skip as holidays in business-day math: up to 400 YYYY-MM-DD, comma-separated"
    },
    "subtract": {
      "type": "string",
      "description": "Duration to subtract (same formats as add)"
    }
  },
  "additionalProperties": false
}
date_calc annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
regex_test — Regex tester: matches, groups, replace and split (JavaScript flavor)
Advertised by the server during the last successful anonymous check.
Advertised read-only

$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.

regex_test input schema
{
  "type": "object",
  "required": [
    "pattern",
    "text"
  ],
  "properties": {
    "mode": {
      "enum": [
        "match",
        "test",
        "replace",
        "split"
      ],
      "type": "string",
      "default": "match",
      "description": "match (all matches with groups, default), test (first match only), replace or split"
    },
    "text": {
      "type": "string",
      "maxLength": 400000,
      "description": "Text to run the regex on, up to 400,000 characters (POST for long text)"
    },
    "flags": {
      "type": "string",
      "pattern": "^[dgimsuyv]{0,8}$",
      "description": "Regex flags, e.g. gi (or write the pattern as /.../flags)"
    },
    "pattern": {
      "type": "string",
      "description": "JavaScript regular expression, up to 2,000 characters, either the bare pattern or /pattern/flags"
    },
    "replace": {
      "type": "string",
      "maxLength": 10000,
      "description": "Replacement for mode=replace ($1, $<name>, $&; default empty = delete matches)"
    },
    "max_matches": {
      "type": "string",
      "default": "100",
      "pattern": "^\\d{1,4}$",
      "description": "Matches to list, 1-1000 (default 100)"
    }
  },
  "additionalProperties": false
}
regex_test annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
text_diff — Text diff: unified diff, hunks and similarity of two texts
Advertised by the server during the last successful anonymous check.
Advertised read-only

$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.

text_diff input schema
{
  "type": "object",
  "required": [
    "before",
    "after"
  ],
  "properties": {
    "mode": {
      "enum": [
        "line",
        "word",
        "char"
      ],
      "type": "string",
      "default": "line",
      "description": "Compare by line (default, unified diff), word or character"
    },
    "after": {
      "type": "string",
      "maxLength": 200000,
      "description": "The new text, up to 200,000 characters (POST for long text)"
    },
    "before": {
      "type": "string",
      "description": "The original text, up to 200,000 characters (POST JSON {\"before\": \"...\", \"after\": \"...\"} for long text)"
    },
    "context": {
      "type": "string",
      "default": "3",
      "pattern": "^\\d{1,2}$",
      "description": "Unchanged lines around each change in line mode, 0-20 (default 3)"
    },
    "ignore_case": {
      "enum": [
        "yes",
        "no"
      ],
      "type": "string",
      "default": "no",
      "description": "Ignore upper/lower case"
    },
    "ignore_whitespace": {
      "enum": [
        "yes",
        "no"
      ],
      "type": "string",
      "default": "no",
      "description": "Line mode: ignore leading/trailing whitespace"
    }
  },
  "additionalProperties": false
}
text_diff annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
verdict_card — Shareable risk-signals card for a site (SVG)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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

verdict_card input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    }
  },
  "additionalProperties": false
}
verdict_card annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
page_markdown — Page to Markdown (main content)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

page_markdown input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    }
  },
  "additionalProperties": false
}
page_markdown annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
page_meta — Page metadata + Markdown
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

page_meta input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    }
  },
  "additionalProperties": false
}
page_meta annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
email_auth — Email authentication check (SPF, DKIM, DMARC)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

email_auth input schema
{
  "type": "object",
  "required": [
    "domain"
  ],
  "properties": {
    "domain": {
      "type": "string",
      "description": "Domain name, e.g. example.com (a URL or email address also works)"
    }
  },
  "additionalProperties": false
}
email_auth annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
security_headers — Security headers + TLS quick grade
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

security_headers input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    }
  },
  "additionalProperties": false
}
security_headers annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
tech_stack — Tech stack detection
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

tech_stack input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    }
  },
  "additionalProperties": false
}
tech_stack annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
seo_page — On-page SEO check (one page)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

seo_page input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    }
  },
  "additionalProperties": false
}
seo_page annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
site_snapshot — Site snapshot (SEO + security + tech + email)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

site_snapshot input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    }
  },
  "additionalProperties": false
}
site_snapshot annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
page_quality — Page quality verdict (AI)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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.

page_quality input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    }
  },
  "additionalProperties": false
}
page_quality annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
site_verdict — Business-site risk signals (evidence + risk level, AI-assisted)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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

site_verdict input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    }
  },
  "additionalProperties": false
}
site_verdict annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
seo_audit_lite — SEO Audit LITE (top 10 issues, one page)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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).

seo_audit_lite input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    }
  },
  "additionalProperties": false
}
seo_audit_lite annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
security_scan_lite — Website Security Scan LITE (passive summary)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

$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).

security_scan_lite input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL or bare domain, e.g. https://example.com"
    }
  },
  "additionalProperties": false
}
security_scan_lite annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
2001 ms
95th percentile latency
2001 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 2001 ms · metadata changed · 53 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http lordevo-shop-mcp https://shop.lordevo.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add lordevo-shop-mcp --url https://shop.lordevo.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable lordevo-shop-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "lordevo-shop-mcp": {
      "url": "https://shop.lordevo.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "lordevo-shop-mcp": {
      "type": "streamableHttp",
      "url": "https://shop.lordevo.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start lordevo-shop-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "lordevo-shop-mcp": {
      "type": "http",
      "url": "https://shop.lordevo.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http lordevo-shop-mcp https://shop.lordevo.com/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "lordevo-shop-mcp": {
      "url": "https://shop.lordevo.com/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "lordevo-shop-mcp": {
      "serverUrl": "https://shop.lordevo.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Lordevo Shop MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Lordevo Shop MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing