← Tools

Agent Ready Audit

13 probes across 5 categories — Discoverability, Content, Bot Access Control, API / Auth / MCP / Skills, and Commerce. Uses a comparison model for the Cloudflare / isitagentready.com signal categories. For parsed document fields and bounded live URL checks, use the Mega Analyzer verification results; its comparison score remains separate. Tests Link headers, Markdown negotiation, Content Signals, Web Bot Auth, API Catalog (RFC 9727), MCP Server Card (SEP-2127), Agent Skills (v0.2.0), WebMCP, OAuth metadata, x402, MPP, UCP, ACP.

Pair with Agent Runtime Readiness → · AI Posture Audit → · MCP Server Audit →

Test a URL

Paste any homepage URL. The audit fetches via /.netlify/functions/fetch-page with proxied headers; nothing is stored server-side.

What each probe means

Discoverability

robots.txt (RFC 9309)

The first file any crawler reads. Must return HTTP 200 with text/plain and contain at least one valid User-agent: directive.

Sitemap discovery

Either a Sitemap: line in robots.txt OR a reachable /sitemap.xml at the apex. Sitemaps power agent crawl planning.

Link response headers (RFC 8288)

HTTP Link: response headers point agents to discovery resources without parsing HTML. Recommended rel values: api-catalog, mcp-server-card, agent-skills, llms-txt, sitemap.

Content

Markdown content negotiation

When an agent sends Accept: text/markdown, the server returns a Markdown variant of the page. Cloudflare's Markdown for Agents and equivalent origin negotiation both qualify.

Bot Access Control

AI bot rules in robots.txt

Whether robots.txt leaves known AI crawlers (GPTBot, ClaudeBot, PerplexityBot, CCBot, Bytespider, etc.) able to read the site. Blocking training-only crawlers (GPTBot, ClaudeBot, CCBot, Bytespider) is reported as an AI-training opt-out and does not fail the probe. Per-bot groups pass, and so does an open policy: a crawler with no group of its own follows User-agent: *, so a wildcard group that allows the site covers every AI crawler. The probe fails when robots.txt cannot be read, or when a known AI crawler is blocked from the whole site, by its own group or by a blanket Disallow: / it inherits. Google-Extended and Applebot-Extended are usage-control tokens that never fetch pages, so a Disallow for them is reported as an AI-training preference, not a block.

Content Signals (contentsignals.org / IETF draft)

A structured directive in robots.txt declaring AI usage preferences: Content-Signal: search=yes, ai-input=yes, ai-train=yes. Adopted by Cloudflare AI Crawl Control as the default response.

Web Bot Auth (informational)

An IETF draft for cryptographically authenticating bots via HTTP Message Signatures. Public keys live at /.well-known/http-message-signatures-directory. Mainly relevant if you operate a friendly bot; absence on a content site is fine.

API / Auth / MCP / Skills

API Catalog (RFC 9727)

/.well-known/api-catalog serves application/linkset+json. Lets agents discover OpenAPI specs, service docs, status endpoints without parsing markup.

OAuth / OIDC discovery (RFC 8414, OpenID Connect)

/.well-known/oauth-authorization-server or /.well-known/openid-configuration. Required only if your APIs are protected; intentionally absent on read-only public sites. Scored only when the site shows a protected API (/api or /api/v1 answering 401 or sending a Bearer challenge, or an OAuth or bearer scheme in /openapi.json); otherwise reported as not applicable.

OAuth Protected Resource (RFC 9728)

/.well-known/oauth-protected-resource. Tells agents which authorization server issues tokens for this resource. Static read-only sites can skip this honestly, so like OAuth discovery it is scored only when the site shows a protected API.

MCP Server Card (SEP-2127)

/.well-known/mcp/server-card.json. Declares serverInfo (name, version), one or more transports (http-stream, websocket, webmcp), and capabilities (tools, resources, prompts).

Agent Skills index (v0.2.0)

/.well-known/agent-skills/index.json. Lists SKILL.md files describing what an agent can do with your site. Each entry has name, type, description, url, and optionally a SHA-256 digest.

WebMCP (W3C Community Draft)

JS code that calls document.modelContext.registerTool() once per tool on page load to register tools with browser-side AI agents (navigator.modelContext is accepted as an alias). The draft removed the older provideContext() call on 2026-03-05, so a page that only calls provideContext() gets a warning. Detected by reading the homepage HTML and up to three WebMCP scripts it loads.

Commerce (informational)

x402 (HTTP 402 Payment Required)

Coinbase-led protocol for agent-native HTTP payments. Protected routes return 402 with payment requirements that compatible agents fulfill automatically.

MPP (Machine Payment Protocol)

/openapi.json with x-payment-info extensions on payable operations.

UCP (Universal Commerce Protocol)

/.well-known/ucp. Co-developed by Google, Shopify, Etsy.

ACP (Agentic Commerce Protocol)

/.well-known/acp.json. Stripe + OpenAI specification for agent-driven checkout.

Disclaimer

Probes run via the jwatte.com fetch-page proxy with an Origin allow-list. Some hosts return different bodies to bots vs humans; this tool sends a generic UA. Score is point-in-time; some probes (Web Bot Auth, OAuth) are honestly absent on read-only static sites and should not be remediated.