validate_structured_data will check JSON-LD handed to it directly, so an agent can validate markup it has just written before the page exists anywhere. Everything else is a scan of a live site — and the free tier is enough to find out whether yours has a problem worth paying to fix.
A scanner for how well a website works for AI agents. It grades against the Vercel Agent Readability Spec, the llmstxt.org standard and agent-protocol manifests — 71 checks across four spec families — and returns per-check fix guidance plus a separate accessibility sub-score.
- scan_site runs a fresh scan on any URL and returns a Vercel score, an llms.txt sub-score and per-check findings with howToFix strings
- get_scan fetches a scan by id — scan history is account-scoped, so this one needs a Pro key
- ask is natural-language search over Agent Ready's own methodology, check registry, the specs it validates and its content library, returning Schema.org-typed results
- validate_structured_data validates a page's JSON-LD, or JSON-LD you paste, against schema lint plus agent-coherence checks — freshness honesty, canonical and .md coherence, entity-name consistency and extraction signal
- The families behind the score: 39 site and page checks (15 site-wide, 24 per page), 10 against llmstxt.org, 22 against agent-protocol manifests, and 23 WCAG 2.2 and layout-stability checks as a separate accessibility sub-score
- Three discovery prompts — scan, interpret_scan and remediation_plan — take you from URL to score to fix-it plan
No key is needed to start: scan_site, ask and validate_structured_data all work anonymously, with scan_site on a free tier of 3 scans per 30 days per IP at 25-page depth, returned synchronously. Either point a client at https://agent-ready.dev/api/v1/mcp over Streamable HTTP, or run the npm package agent-ready-mcp over stdio; AGENT_READY_API_KEY is optional. A Pro key raises the limit to 50 scans a month at 250-page depth, unlocks get_scan and adds weekly monitoring. AGENT_READY_API_URL overrides the host; AGENT_READY_SCAN_TIMEOUT_MS defaults to 60000 and AGENT_READY_GET_TIMEOUT_MS to 5000.
One command — npx -y agent-ready-mcp@latest
