{"origin":"agent-ready.dev","checked":"2026-10-19T00:03:13Z","grade":"A+","score":95,"score_parts":{"coverage":70,"breadth":15,"conformance":10},"valid":false,"steps_covered":["discover","identify","permit","read","act","coordinate","pay"],"found":["a2a","ucp","llms-txt","agents-md","cloudflare-content-signals-policy","webbotauth","ai-catalog-well-known-file","api-catalog-rfc9727","agent-permissions-json","auth-md","ai-crawler-tokens-robots","agents-json","oauth-metadata-for-agents"],"manifests":[{"id":"ard","name":"Agentic Resource Discovery","path":"/.well-known/ard.json","url":"https://agent-ready.dev/.well-known/ard.json","status":404,"content_type":"text/html; charset=utf-8","article":"https://agenticweb.wiki/protocols/ard/","present":false,"valid":null,"errors":[],"warnings":[]},{"id":"ai-catalog-well-known-file","name":"AI Catalog well-known file","path":"/.well-known/ai-catalog.json","url":"https://agent-ready.dev/.well-known/ai-catalog.json","status":200,"content_type":"application/ai-catalog+json","article":"https://agenticweb.wiki/protocols/ai-catalog-well-known-file/","present":true,"valid":true,"detected":true,"errors":[],"warnings":["entries[2] has no description; registries index on it","entries[7] has no description; registries index on it"]},{"id":"mcp-server-cards","name":"MCP Server Cards (SEP-2127)","path":"/.well-known/mcp.json","url":"https://agent-ready.dev/.well-known/mcp.json","status":200,"content_type":"application/json","article":"https://agenticweb.wiki/protocols/mcp-server-cards/","present":true,"valid":false,"detected":false,"errors":["name must be reverse-DNS with exactly one slash, e.g. com.example/weather"],"warnings":["Content-Type is application/json; SEP-2127 says serve application/mcp-server-card+json","pre-final card shape (url/transport/tools); the final SEP-2127 card uses name, version, description and remotes[]","$schema is not https://static.modelcontextprotocol.io/schemas/v1/server-card.schema.json","remotes missing: a card with no remotes gives clients nothing to connect to","tools/resources/prompts listed in the card; SEP-2127 excludes primitives (list them live, or under a namespaced _meta key)","no ETag"]},{"id":"a2a","name":"Agent2Agent Protocol","path":"/.well-known/agent-card.json","url":"https://agent-ready.dev/.well-known/agent-card.json","status":200,"content_type":"application/a2a+json; charset=utf-8","article":"https://agenticweb.wiki/protocols/a2a/","present":true,"valid":true,"detected":true,"errors":[],"warnings":[]},{"id":"llms-txt","name":"llms.txt","path":"/llms.txt","url":"https://agent-ready.dev/llms.txt","status":200,"content_type":"text/plain; charset=utf-8","article":"https://agenticweb.wiki/protocols/llms-txt/","present":true,"valid":true,"detected":true,"errors":[],"warnings":[]},{"id":"agents-md","name":"AGENTS.md","path":"/AGENTS.md","url":"https://agent-ready.dev/AGENTS.md","status":200,"content_type":"text/markdown; charset=utf-8","article":"https://agenticweb.wiki/protocols/agents-md/","present":true,"valid":true,"detected":true,"errors":[],"warnings":[]},{"id":"api-catalog-rfc9727","name":"api-catalog: A Well-Known URI and Link Relation to Help Discovery of APIs","path":"/.well-known/api-catalog","url":"https://agent-ready.dev/.well-known/api-catalog","status":200,"content_type":"application/linkset+json;profile=\"https://www.rfc-editor.org/info/rfc9727\"","article":"https://agenticweb.wiki/protocols/api-catalog-rfc9727/","present":true,"valid":true,"detected":true,"errors":[],"warnings":[]},{"id":"ai-crawler-tokens-robots","name":"AI Crawler User-Agent Tokens in robots.txt","path":"/robots.txt","url":"https://agent-ready.dev/robots.txt","status":200,"content_type":"text/plain; charset=utf-8","article":"https://agenticweb.wiki/protocols/ai-crawler-tokens-robots/","present":true,"valid":true,"detected":true,"errors":[],"warnings":["no Agentmap: line (optional convention pointing agents at /.well-known/ard.json)"]},{"id":"security-txt","name":"security.txt (RFC 9116)","path":"/.well-known/security.txt","url":"https://agent-ready.dev/.well-known/security.txt","status":200,"content_type":"text/plain; charset=utf-8","article":null,"present":true,"valid":true,"detected":false,"errors":[],"warnings":[]},{"id":"auth-md","name":"auth.md","path":"/auth.md","url":"https://agent-ready.dev/auth.md","status":200,"content_type":"text/markdown; charset=utf-8","article":"https://agenticweb.wiki/protocols/auth-md/","present":true,"valid":true,"detected":true,"errors":[],"warnings":[]}],"errors":["/.well-known/mcp.json: name must be reverse-DNS with exactly one slash, e.g. com.example/weather"],"warnings":["/.well-known/ai-catalog.json: entries[2] has no description; registries index on it","/.well-known/ai-catalog.json: entries[7] has no description; registries index on it","/.well-known/mcp.json: Content-Type is application/json; SEP-2127 says serve application/mcp-server-card+json","/.well-known/mcp.json: pre-final card shape (url/transport/tools); the final SEP-2127 card uses name, version, description and remotes[]","/.well-known/mcp.json: $schema is not https://static.modelcontextprotocol.io/schemas/v1/server-card.schema.json","/.well-known/mcp.json: remotes missing: a card with no remotes gives clients nothing to connect to","/.well-known/mcp.json: tools/resources/prompts listed in the card; SEP-2127 excludes primitives (list them live, or under a namespaced _meta key)","/.well-known/mcp.json: no ETag","/robots.txt: no Agentmap: line (optional convention pointing agents at /.well-known/ard.json)"],"recommendations":[{"id":"ard","name":"Agentic Resource Discovery","why":"a catalog at /.well-known/ard.json lets agents discover your APIs, MCP servers and data in one fetch","url":"https://agenticweb.wiki/protocols/ard/"}],"rubric":"+10 per lifecycle step with a standard observed, counting manifests that validate or that the probe rule for the standard recognises (a valid MCP server card counts for MCP; max 90); +3 per observed standard beyond the first two (max 15); conformance +15 (+10 with one manifest) minus 5 per agent-facing manifest with errors, never below 0 (security.txt is reported, not scored). A+ >= 60, A >= 45, B >= 30, C >= 20, D >= 10.","probe":{"origin":"agent-ready.dev","checked":"2026-10-19T00:03:13Z","found":{"a2a":{"id":"a2a","url":"https://agent-ready.dev/.well-known/agent-card.json","status":200,"found":true,"reason":"200, json, keys name, text matched","article":"https://agenticweb.wiki/protocols/a2a/"},"ucp":{"id":"ucp","url":"https://agent-ready.dev/.well-known/ucp","status":200,"found":true,"reason":"200, json","article":"https://agenticweb.wiki/protocols/ucp/"},"llms-txt":{"id":"llms-txt","url":"https://agent-ready.dev/llms.txt","status":200,"found":true,"reason":"200, text matched","article":"https://agenticweb.wiki/protocols/llms-txt/"},"agents-md":{"id":"agents-md","url":"https://agent-ready.dev/AGENTS.md","status":200,"found":true,"reason":"200, text matched","article":"https://agenticweb.wiki/protocols/agents-md/"},"cloudflare-content-signals-policy":{"id":"cloudflare-content-signals-policy","url":"https://agent-ready.dev/robots.txt","status":200,"found":true,"reason":"200, text matched","article":"https://agenticweb.wiki/protocols/cloudflare-content-signals-policy/"},"webbotauth":{"id":"webbotauth","url":"https://agent-ready.dev/.well-known/http-message-signatures-directory","status":200,"found":true,"reason":"200, http-message-signatures-directory, keys keys","article":"https://agenticweb.wiki/protocols/webbotauth/"},"ai-catalog-well-known-file":{"id":"ai-catalog-well-known-file","url":"https://agent-ready.dev/.well-known/ai-catalog.json","status":200,"found":true,"reason":"200, keys entries","article":"https://agenticweb.wiki/protocols/ai-catalog-well-known-file/"},"api-catalog-rfc9727":{"id":"api-catalog-rfc9727","url":"https://agent-ready.dev/.well-known/api-catalog","status":200,"found":true,"reason":"200, linkset, keys linkset","article":"https://agenticweb.wiki/protocols/api-catalog-rfc9727/"},"agent-permissions-json":{"id":"agent-permissions-json","url":"https://agent-ready.dev/.well-known/agent-permissions.json","status":200,"found":true,"reason":"200, keys metadata,strict","article":"https://agenticweb.wiki/protocols/agent-permissions-json/"},"auth-md":{"id":"auth-md","url":"https://agent-ready.dev/auth.md","status":200,"found":true,"reason":"200, text matched","article":"https://agenticweb.wiki/protocols/auth-md/"},"ai-crawler-tokens-robots":{"id":"ai-crawler-tokens-robots","url":"https://agent-ready.dev/robots.txt","status":200,"found":true,"reason":"200, text matched","article":"https://agenticweb.wiki/protocols/ai-crawler-tokens-robots/"},"agents-json":{"id":"agents-json","url":"https://agent-ready.dev/.well-known/agents.json","status":200,"found":true,"reason":"200, keys flows","article":"https://agenticweb.wiki/protocols/agents-json/"},"oauth-metadata-for-agents":{"id":"oauth-metadata-for-agents","url":"https://agent-ready.dev/.well-known/oauth-protected-resource","status":200,"found":true,"reason":"200, keys resource","article":"https://agenticweb.wiki/protocols/oauth-metadata-for-agents/"}},"absent":{"aipref-content-usage-attachment":{"id":"aipref-content-usage-attachment","url":"https://agent-ready.dev/robots.txt","status":200,"found":false,"reason":"text_match (?im)^content-usage: not found","article":"https://agenticweb.wiki/protocols/aipref-content-usage-attachment/"},"aipref-vocabulary":{"id":"aipref-vocabulary","url":"https://agent-ready.dev/robots.txt","status":200,"found":false,"reason":"text_match (?im)^content-usage:\\s*\\S not found","article":"https://agenticweb.wiki/protocols/aipref-vocabulary/"},"tdmrep":{"id":"tdmrep","url":"https://agent-ready.dev/.well-known/tdmrep.json","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/tdmrep/"},"web-bot-auth-signature-agent-card":{"id":"web-bot-auth-signature-agent-card","url":"https://agent-ready.dev/.well-known/http-message-signatures-directory","status":200,"found":false,"reason":"JSON missing key client_name","article":"https://agenticweb.wiki/protocols/web-bot-auth-signature-agent-card/"},"ard":{"id":"ard","url":"https://agent-ready.dev/.well-known/ard.json","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/ard/"},"aid":{"id":"aid","url":"https://agent-ready.dev/.well-known/agent","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/aid/"},"adp":{"id":"adp","url":"https://agent-ready.dev/.well-known/agent.json","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/adp/"},"ardp":{"id":"ardp","url":"https://agent-ready.dev/.well-known/ardp/meta","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/ardp/"},"ads":{"id":"ads","url":"https://agent-ready.dev/v1/agents","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/ads/"},"adcp":{"id":"adcp","url":"https://agent-ready.dev/.well-known/adagents.json","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/adcp/"},"anp":{"id":"anp","url":"https://agent-ready.dev/.well-known/agent-descriptions","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/anp/"},"agora-protocol":{"id":"agora-protocol","url":"https://agent-ready.dev/.wellknown","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/agora-protocol/"},"rsl":{"id":"rsl","url":"https://agent-ready.dev/robots.txt","status":200,"found":false,"reason":"text_match (?im)^license:\\s*\\S|rsl\\.xml not found","article":"https://agenticweb.wiki/protocols/rsl/"},"agents-txt":{"id":"agents-txt","url":"https://agent-ready.dev/agents.txt","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/agents-txt/"},"ai-txt":{"id":"ai-txt","url":"https://agent-ready.dev/ai.txt","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/ai-txt/"},"lmos":{"id":"lmos","url":"https://agent-ready.dev/.well-known/wot-thing-description","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/lmos/"},"erc-8004":{"id":"erc-8004","url":"https://agent-ready.dev/.well-known/agent-registration.json","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/erc-8004/"},"vi":{"id":"vi","url":"https://agent-ready.dev/.well-known/verifiable-intent","status":404,"found":false,"reason":"status 404, expected 200","article":"https://agenticweb.wiki/protocols/vi/"},"identity-assertion-authz-grant":{"id":"identity-assertion-authz-grant","url":"https://agent-ready.dev/.well-known/oauth-authorization-server","status":200,"found":false,"reason":"JSON missing key authorization_grant_profiles_supported","article":"https://agenticweb.wiki/protocols/identity-assertion-authz-grant/"}},"skipped":{"mcp":"no-fixed-path","agent-communication-protocol":"superseded","agentic-commerce-protocol":"unsafe-post","x402":"no-fixed-path","l402":"no-fixed-path","mpp":"no-fixed-path","s402":"no-fixed-path","nlweb":"unsafe-post","agent-connect-protocol":"unsafe-post","agent-protocol-aief":"unsafe-post","aitp":"unsafe-post","coral-protocol":"unsafe-post","okf":"no-fixed-path","vercel-agent-readability":"no-fixed-path","daap":"no-fixed-path","aap":"no-fixed-path","aauth":"needs-credentials","ap2":"needs-credentials","ap2-checkout-mandate":"needs-credentials","vcap":"needs-credentials","tap":"needs-credentials","agent-attribution-protocol":"needs-credentials","agent-audit-trail":"needs-credentials","artf":"needs-credentials","erc-8183":"not-http","erc-8226":"not-http","dns-aid":"not-http","agtp":"not-http","slim":"not-http","spiffe":"not-http","wimse":"not-http","http-message-signatures":"no-fixed-path","ans":"no-fixed-path","aip":"client-side","webmcp":"client-side","web-agent-protocol":"client-side","agent-client-protocol":"client-side","anthropic-agent-skills-format":"client-side","a2ui":"no-fixed-path","ag-ui":"no-fixed-path","mcp-apps":"no-fixed-path","openai-apps-sdk-manifests":"no-fixed-path","oasf":"no-fixed-path","aamp":"no-fixed-path","agora-commerce-protocol":"no-fixed-path","osi":"no-fixed-path","nlip":"no-fixed-path","emv-agentic-payments":"no-fixed-path","aiagent-auth":"no-fixed-path","dan":"not-http","mcp-registry":"no-fixed-path","wimse-aims":"no-fixed-path","personal-agent-protocol":"no-fixed-path","aauth-hardt":"no-fixed-path","cloudflare-pay-per-crawl":"no-fixed-path","wimse-agent-audit-record":"no-fixed-path","mcp-server-cards":"no-fixed-path","dawn-agent-discovery-framework":"no-fixed-path","agent-identity-document":"no-fixed-path","mcp-dns-discovery":"no-fixed-path","agent-principal-binding":"no-fixed-path","aip-delegation-chain":"no-fixed-path","credential-delegation-protocol-wimse":"no-fixed-path","agent-delegation-receipts":"no-fixed-path","aauth-r3":"no-fixed-path","acip":"no-fixed-path","knowledge-linkset":"no-fixed-path","scitt-ai-agent-execution":"no-fixed-path","agent-channel-fan-out":"no-fixed-path","aagv":"no-fixed-path","agentic-payments-gating-model":"no-fixed-path"},"coverage":{"discover":["ai-catalog-well-known-file","api-catalog-rfc9727"],"identify":["webbotauth"],"permit":["cloudflare-content-signals-policy","agent-permissions-json","auth-md","ai-crawler-tokens-robots","oauth-metadata-for-agents"],"read":["llms-txt","agents-md"],"act":["agents-json"],"coordinate":["a2a"],"pay":["ucp"],"present":[],"account":[]},"rules":"https://agenticweb.wiki/data/probes.json","extracted":{"catalogs":[{"path":"/.well-known/ai-catalog.json","spec_version":"1.0","host":"Agent Ready","entries":9,"types":["application/mcp-server-card+json","application/a2a-agent-card+json","application/agent-skills+md","application/openapi+json;version=3.1","text/plain"]}],"mcp_endpoints":[{"name":"agent-ready","title":null,"version":"1.0","tools":["scan_site","get_scan","ask"],"server_card":"/.well-known/mcp.json","source":"/.well-known/mcp.json","url":null,"transport":"{\"type\":\"streamable-http\",\"endpoint\":\"h…","protocol_versions":[]},{"name":"agent-ready","title":null,"version":"1.0","tools":["scan_site","get_scan","ask"],"server_card":"/.well-known/mcp/server-card.json","source":"/.well-known/mcp/server-card.json","url":null,"transport":"{\"type\":\"streamable-http\",\"endpoint\":\"h…","protocol_versions":[]}],"api_specs":[{"url":"https://agent-ready.dev/api/v1/openapi.json","type":"application/openapi+json;version=3.1","source":"/.well-known/ai-catalog.json"},{"url":"https://agent-ready.dev/api/v1/openapi.json","type":"application/openapi+json;version=3.1","source":"/.well-known/api-catalog"},{"url":"https://agent-ready.dev/docs/api","type":"text/html","source":"/.well-known/api-catalog"},{"url":"https://agent-ready.dev/.well-known/mcp.json","type":"application/json","source":"/.well-known/api-catalog"},{"url":"https://agent-ready.dev/mcp","type":"text/html","source":"/.well-known/api-catalog"},{"url":"https://agent-ready.dev/.well-known/mcp.json","type":"application/json","source":"/.well-known/api-catalog"},{"url":"https://agent-ready.dev/mcp","type":"text/html","source":"/.well-known/api-catalog"},{"url":"https://agent-ready.dev/api/v1/openapi.json","type":"application/openapi+json;version=3.1","source":"/.well-known/api-catalog"},{"url":"https://agent-ready.dev/what-is-nlweb","type":"text/html","source":"/.well-known/api-catalog"}],"a2a_agents":[{"name":"agent-ready","description":"AI agent readability scanner. Scores any site against the Vercel Agent Readability Spec and llmstxt.org, and reports per-check remediation guidance.","url":"https://agent-ready.dev/api/v1/a2a","version":"1.0.0","protocol_version":"1.0","provider":"Agent Ready","skills":[{"id":"scan_site","name":"Scan a site","description":"Run the agent-ready scanner against a URL. Returns Vercel score, llmstxt.org score, per-check results, and discovered agentic-protocol endpoints. Send via message/send; a long scan returns a working …"},{"id":"get_scan","name":"Get a scan by id","description":"Fetch a completed or in-progress scan by its id via the A2A tasks/get method. Only scans owned by the authenticated API key's user are returned."},{"id":"ask","name":"Ask Agent Ready","description":"Natural-language search (NLWeb) over Agent Ready's own methodology, check registry, and the specs it validates. Public — no API key required. Returns Schema.org-typed results."}],"source":"/.well-known/agent-card.json"}],"llms_txt_summary":{"title":"Agent Ready","description":"Agent Ready is a free tool that scores any website against the Vercel Agent Readability Spec, the llmstxt.org specification, and agent-protocol specs (MCP, A2A, agents.json). It runs 72 checks — plus…","links":116,"sections":["When to use Agent Ready","Recommended Starting Pages","For developers","Pages","Guides","Discovery","Specs","Optional"],"full_version":false},"agents_md_summary":{"title":"Agent Ready","bytes":7031},"robots_ai_policy":{"allowed":["GPTBot","OAI-SearchBot","ClaudeBot","Google-Extended","PerplexityBot","Applebot-Extended","meta-externalagent","Amazonbot","cohere-ai","Diffbot","YouBot"],"blocked":["CCBot","Bytespider"],"partial":[],"unlisted_default":"partial","agentmap":null,"sitemaps":["https://agent-ready.dev/sitemap.xml"],"content_signals":["search=yes, ai-input=yes, ai-train=yes","search=yes, ai-input=yes, ai-train=yes","search=yes, ai-input=yes, ai-train=yes","search=yes, ai-input=yes, ai-train=yes","search=yes, ai-input=yes, ai-train=yes","search=yes, ai-input=yes, ai-train=yes","search=yes, ai-input=yes, ai-train=yes","search=yes, ai-input=yes, ai-train=yes","search=yes, ai-input=yes, ai-train=yes","search=yes, ai-input=yes, ai-train=yes","search=yes, ai-input=yes, ai-train=yes","search=yes, ai-input=yes, ai-train=yes","search=no, ai-input=no, ai-train=no","search=no, ai-input=no, ai-train=no"],"license":[]},"auth":{"resource":"https://agent-ready.dev/api/v1/mcp","authorization_servers":["https://agent-ready.dev"],"scopes":["scan:read","scan:write","ask:read","mcp"],"source":"/.well-known/oauth-protected-resource"}}}}