Technical SEO audit of a web page ($0.009)
seo_auditPAID ($0.009 USDC via x402). Audit one public web page the way a search crawler first reads it (the HTML as served, JavaScript not run), plus the site's /robots.txt and XML sitemap: indexability (robots meta, X-Robots-Tag, a robots.txt that blocks everything), HTTPS and mixed content, title and meta-description length, canonical (and whether it points elsewhere), viewport, lang, H1 count and H2s, images without alt text, internal/external/nofollow links, readable word count, Open Graph and Twitter card, JSON-LD blocks and their @types, hreflang, favicon, redirect chain, response time and HTML weight. Returns every issue with a severity (high/medium/low), the raw measurements, and a 0-100 score. Fetched through the SSRF guard; a page we cannot read is not charged. Without payment this returns the 402 challenge; the fiatdock-mcp npm package pays automatically. Any answer the tool cannot produce is >= 400 and is NOT charged.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | The page to audit (https://… or a bare domain) | |
| payment | No | Base64 of a single x402 v2 PaymentPayload (EIP-3009 transferWithAuthorization on Base USDC). OMIT it on the first call: the 402 you get back carries `howToPay.payloadTemplate` — the exact envelope to fill in — plus the price and the EIP-712 domain. Send it on the second call to complete the purchase; it is forwarded as the PAYMENT-SIGNATURE header, never as body data. Nothing is charged for the 402 itself, and a call that fails after payment settles nothing. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL asked for | |
| note | Yes | How the page was read, and the limits | |
| grade | Yes | A (90+), B (80+), C (70+), D (60+), F | |
| https | Yes | Whether the page is served over HTTPS | |
| score | Yes | 0-100: 100 minus 20 per high, 8 per medium and 3 per low issue | |
| checks | Yes | The raw on-page measurements behind the issues | |
| issues | Yes | Every finding, most severe first, with what is wrong | |
| status | Yes | HTTP status of the page | |
| sitemap | Yes | The XML sitemap found (from robots.txt, else /sitemap.xml) and how many URLs it lists | |
| finalUrl | Yes | The page actually audited, after redirects (at most 3, each safety-checked) | |
| checkedAt | Yes | ISO time of the audit | |
| defaulted | No | Present only when the body was empty: which subject the answer is for, and why | |
| htmlBytes | Yes | Size of the HTML, in bytes | |
| redirects | Yes | Each redirect hop before the page | |
| robotsTxt | Yes | What /robots.txt says to every crawler | |
| responseMs | Yes | Time to download the page, in ms |