{"$schema":"https://agentready.org/schemas/agentready.v1.json","standard":"AgentReady","version":"1.0.0","date":"2026-04-24","license":"MIT","homepage":"https://agentready.org","repository":"https://github.com/agentready-org/standard","normativeReferences":[{"id":"BCP14","refs":["RFC 2119","RFC 8174"],"url":"https://www.rfc-editor.org/info/bcp14","note":"The keywords MUST, SHOULD, and MAY are interpreted per BCP 14 when they appear in all capitals."}],"conformance":{"summary":"A product conforms when it implements every MUST requirement that applies to its surfaces. It should implement every applicable SHOULD requirement unless it documents a reason not to. It may implement MAY requirements as appropriate.","applicability":{"baseline":"Applies to every agent-addressable product, regardless of surface.","conditional":"Applies only when the product exposes the surface named in the requirement's `applies` field."},"strengths":{"MUST":"Mandatory for products within the requirement's scope.","SHOULD":"Strongly recommended; deviation permitted only with documented rationale.","MAY":"Optional; implementation adds value but is not required for conformance."},"alternatives":{"commerce":"Requirements in the Commerce section are alternative, interoperating approaches. A product that accepts agent payment conforms by implementing at least one applicable Commerce requirement."}},"versioning":{"scheme":"semver","rules":{"MAJOR":"An existing requirement's strength is raised (for example SHOULD to MUST), a requirement is removed, or a stable identifier is reassigned.","MINOR":"A requirement is added, an existing strength is lowered, or a reference is updated to a newer specification.","PATCH":"Clarifications, editorial fixes, and link updates."},"stableIdFormat":"AR-<SECTION>-<NN>","stableIdPolicy":"Stable identifiers are preserved across spec versions and are the canonical way to cite a requirement."},"counts":{"sections":5,"requirements":30},"sections":[{"id":"discoverability","name":"Discoverability","summary":"Help agents find the product and the files they need to read.","requirements":[{"stableId":"AR-DISC-01","slug":"robots-txt","name":"robots.txt with AI policy","summary":"Declare which AI crawlers are allowed. A robots.txt that distinguishes GPTBot, ClaudeBot, Google-Extended, PerplexityBot, and other identified agents from broad training crawlers gives agents a clear signal about intent.","applies":"baseline","strength":"MUST","emerging":false,"reference":"RFC 9309","referenceUrl":"https://www.rfc-editor.org/rfc/rfc9309.html","anchor":"https://agentready.org/#robots-txt"},{"stableId":"AR-DISC-02","slug":"sitemap","name":"Sitemap","summary":"A /sitemap.xml lets agents list the site's main URLs without crawling every page.","applies":"baseline","strength":"SHOULD","emerging":false,"reference":"sitemaps.org","referenceUrl":"https://www.sitemaps.org/protocol.html","anchor":"https://agentready.org/#sitemap"},{"stableId":"AR-DISC-03","slug":"llms-txt","name":"llms.txt","summary":"A markdown index at the site root that summarizes the product and links to the documents agents should read first.","applies":"baseline","strength":"SHOULD","emerging":false,"reference":"llmstxt.org","referenceUrl":"https://llmstxt.org","anchor":"https://agentready.org/#llms-txt"},{"stableId":"AR-DISC-04","slug":"llms-full-txt","name":"llms-full.txt","summary":"A single-file, ingestible version of the product documentation that fits into an agent context window in one request.","applies":"baseline","strength":"MAY","emerging":false,"reference":"llmstxt.org","referenceUrl":"https://llmstxt.org","anchor":"https://agentready.org/#llms-full-txt"},{"stableId":"AR-DISC-05","slug":"http-link-header","name":"HTTP Link response header","summary":"Link headers with rel=sitemap, describedby, api-catalog, or alternate surface related resources to agents without parsing HTML.","applies":"baseline","strength":"MAY","emerging":false,"reference":"RFC 8288","referenceUrl":"https://www.rfc-editor.org/rfc/rfc8288.html","anchor":"https://agentready.org/#http-link-header"},{"stableId":"AR-DISC-06","slug":"nlweb-schema-feeds","name":"NLWeb schema feeds","summary":"A schemamap directive in robots.txt pointing to a structured feed that describes site content in schema.org vocabulary for natural-language retrieval.","applies":"Products that offer search or natural-language retrieval","strength":"MAY","emerging":true,"reference":"nlweb.ai","referenceUrl":"https://nlweb.ai/docs/specification","anchor":"https://agentready.org/#nlweb-schema-feeds"}]},{"id":"content","name":"Content for agents","summary":"Expose content in a form models can parse without running JavaScript.","requirements":[{"stableId":"AR-CONT-01","slug":"json-ld","name":"JSON-LD structured data","summary":"Embed schema.org types such as Product, Organization, Offer, SoftwareApplication, and FAQPage as JSON-LD so models can read entity and product facts directly.","applies":"baseline","strength":"SHOULD","emerging":false,"reference":"schema.org","referenceUrl":"https://schema.org/docs/gs.html","anchor":"https://agentready.org/#json-ld"},{"stableId":"AR-CONT-02","slug":"markdown-negotiation","name":"Markdown content negotiation","summary":"Respond to Accept: text/markdown with a markdown representation of the page, giving agents a cleaner and more token-efficient view of the same content.","applies":"baseline","strength":"MAY","emerging":true,"reference":null,"referenceUrl":null,"anchor":"https://agentready.org/#markdown-negotiation"},{"stableId":"AR-CONT-03","slug":"index-md","name":"/index.md fallback","summary":"A markdown version of the homepage served at /index.md, so the primary product page is directly fetchable as plain text.","applies":"baseline","strength":"MAY","emerging":true,"reference":null,"referenceUrl":null,"anchor":"https://agentready.org/#index-md"},{"stableId":"AR-CONT-04","slug":"speakable","name":"Speakable content markup","summary":"Mark portions of a page as suitable to be read aloud by voice agents using schema.org/SpeakableSpecification.","applies":"Products with content meant to be consumed by voice agents","strength":"MAY","emerging":false,"reference":"schema.org","referenceUrl":"https://schema.org/SpeakableSpecification","anchor":"https://agentready.org/#speakable"}]},{"id":"capabilities","name":"Capabilities","summary":"Declare what the product can do for agents and how to call it.","requirements":[{"stableId":"AR-CAPA-01","slug":"mcp","name":"Model Context Protocol (MCP)","summary":"An open JSON-RPC protocol for exposing tools, resources, and prompts to agents over Streamable HTTP or stdio.","applies":"Products that expose tools or resources to agents","strength":"MUST","emerging":false,"reference":"modelcontextprotocol.io","referenceUrl":"https://modelcontextprotocol.io","anchor":"https://agentready.org/#mcp"},{"stableId":"AR-CAPA-04","slug":"a2a-agent-card","name":"A2A Agent Card","summary":"A /.well-known/agent-card.json descriptor used for agent-to-agent discovery under the A2A protocol. The Agent Card declares identity, service endpoints, supported interfaces, skills, and security schemes.","applies":"Products that expose an agent-to-agent surface","strength":"MUST","emerging":false,"reference":"A2A v1.0","referenceUrl":"https://a2a-protocol.org/latest/specification","anchor":"https://agentready.org/#a2a-agent-card"},{"stableId":"AR-CAPA-08","slug":"openapi","name":"OpenAPI","summary":"A machine-readable description of HTTP APIs. Function-calling agents use OpenAPI to understand paths, parameters, schemas, and errors.","applies":"Products that expose an HTTP API","strength":"MUST","emerging":false,"reference":"OpenAPI 3.1","referenceUrl":"https://spec.openapis.org/oas/latest.html","anchor":"https://agentready.org/#openapi"},{"stableId":"AR-CAPA-02","slug":"mcp-server-card","name":"MCP Server Card","summary":"A /.well-known/mcp/server-card.json document describing a server's name, version, transport, capabilities, authentication, and tool surface for pre-connection discovery.","applies":"Products that expose an MCP server over HTTP","strength":"SHOULD","emerging":true,"reference":"SEP-2127","referenceUrl":"https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2127","anchor":"https://agentready.org/#mcp-server-card"},{"stableId":"AR-CAPA-03","slug":"mcp-apps","name":"MCP Apps","summary":"The MCP extension for ui:// resources (io.modelcontextprotocol/ui), letting servers return renderable HTML that hosts can embed in sandboxed iframes for confirmation, payment, or generative-UI handoffs.","applies":"MCP servers that return renderable UI","strength":"MAY","emerging":false,"reference":"modelcontextprotocol/ext-apps","referenceUrl":"https://github.com/modelcontextprotocol/ext-apps","anchor":"https://agentready.org/#mcp-apps"},{"stableId":"AR-CAPA-05","slug":"webmcp","name":"WebMCP","summary":"A browser API (navigator.modelContext) and HTML-native tool metadata that let pages expose actions as MCP-style tools to in-page agents.","applies":"Products whose pages expose in-page actions to agents","strength":"MAY","emerging":true,"reference":"W3C WICG","referenceUrl":"https://webmachinelearning.github.io/webmcp/","anchor":"https://agentready.org/#webmcp"},{"stableId":"AR-CAPA-06","slug":"nlweb-ask","name":"NLWeb /ask endpoint","summary":"A natural-language query endpoint that returns structured schema.org responses, designed to make any site conversational. NLWeb instances also act as MCP servers.","applies":"Products that offer natural-language retrieval","strength":"MAY","emerging":true,"reference":"nlweb.ai","referenceUrl":"https://nlweb.ai/docs/specification","anchor":"https://agentready.org/#nlweb-ask"},{"stableId":"AR-CAPA-07","slug":"agent-skills","name":"Agent Skills","summary":"SKILL.md files packaging discrete, portable agent capabilities as YAML frontmatter plus markdown instructions, with optional scripts, references, and assets.","applies":"Products that ship agent-invokable skills","strength":"MAY","emerging":false,"reference":"agentskills.io","referenceUrl":"https://agentskills.io/specification","anchor":"https://agentready.org/#agent-skills"},{"stableId":"AR-CAPA-09","slug":"ai-plugin-json","name":"ai-plugin.json","summary":"A /.well-known/ai-plugin.json manifest originally introduced for ChatGPT plugins and still used as a lightweight capability descriptor.","applies":"Products that expose a plugin-style capability","strength":"MAY","emerging":true,"reference":null,"referenceUrl":null,"anchor":"https://agentready.org/#ai-plugin-json"}]},{"id":"identity-access","name":"Identity & Access","summary":"Prove who the agent is and give it scoped, revocable access.","requirements":[{"stableId":"AR-IDEN-02","slug":"oauth","name":"OAuth 2.0","summary":"The foundation for delegated, scoped access. Publish authorization and token endpoints agents can discover.","applies":"Products with user-owned resources or delegated access","strength":"MUST","emerging":false,"reference":"RFC 6749","referenceUrl":"https://www.rfc-editor.org/rfc/rfc6749.html","anchor":"https://agentready.org/#oauth"},{"stableId":"AR-IDEN-03","slug":"oauth-as-metadata","name":"OAuth Authorization Server Metadata","summary":"A /.well-known/oauth-authorization-server or /.well-known/openid-configuration document exposing issuer, endpoints, and supported scopes.","applies":"Products that run an OAuth authorization server","strength":"MUST","emerging":false,"reference":"RFC 8414","referenceUrl":"https://www.rfc-editor.org/rfc/rfc8414.html","anchor":"https://agentready.org/#oauth-as-metadata"},{"stableId":"AR-IDEN-05","slug":"pkce","name":"PKCE","summary":"Proof Key for Code Exchange with S256. The secure pattern for native and agent OAuth flows that cannot hold a client secret.","applies":"Products that accept public or agent OAuth clients","strength":"MUST","emerging":false,"reference":"RFC 7636","referenceUrl":"https://www.rfc-editor.org/rfc/rfc7636.html","anchor":"https://agentready.org/#pkce"},{"stableId":"AR-IDEN-01","slug":"web-bot-auth","name":"Web Bot Auth","summary":"HTTP message signatures over agent requests, with a /.well-known/http-message-signatures-directory publishing the public keys an agent operator signs with. Servers verify signatures to distinguish identified agents from unattributed traffic.","applies":"baseline","strength":"SHOULD","emerging":true,"reference":"draft-meunier-web-bot-auth / RFC 9421","referenceUrl":"https://datatracker.ietf.org/doc/html/draft-meunier-web-bot-auth-architecture","anchor":"https://agentready.org/#web-bot-auth"},{"stableId":"AR-IDEN-04","slug":"oauth-protected-resource","name":"OAuth Protected Resource","summary":"A /.well-known/oauth-protected-resource document declaring which authorization servers a resource trusts, plus supported scopes and bearer methods.","applies":"Products that expose OAuth-protected resources","strength":"SHOULD","emerging":false,"reference":"RFC 9728","referenceUrl":"https://www.rfc-editor.org/rfc/rfc9728.html","anchor":"https://agentready.org/#oauth-protected-resource"},{"stableId":"AR-IDEN-06","slug":"api-catalog","name":"API Catalog","summary":"A /.well-known/api-catalog linkset describing a site's public APIs and pointing agents to OpenAPI, AsyncAPI, or other descriptors.","applies":"Products that expose one or more public APIs","strength":"MAY","emerging":false,"reference":"RFC 9727","referenceUrl":"https://www.rfc-editor.org/rfc/rfc9727.html","anchor":"https://agentready.org/#api-catalog"}]},{"id":"commerce","name":"Commerce","summary":"Let agents pay, initiate checkouts, and complete purchases on behalf of their users. The requirements in this section are alternative, interoperating approaches; a conformant commerce product implements at least one.","requirements":[{"stableId":"AR-COMM-01","slug":"x402","name":"x402","summary":"An HTTP-native payment protocol built on the 402 Payment Required status code for inline stablecoin settlement of API calls.","applies":"Products that charge for API calls or resources","strength":"MAY","emerging":false,"reference":"x402.org","referenceUrl":"https://www.x402.org","anchor":"https://agentready.org/#x402"},{"stableId":"AR-COMM-02","slug":"acp","name":"Agentic Commerce Protocol (ACP)","summary":"OpenAPI-backed checkout sessions that let agents drive standard e-commerce flows end to end. Maintained by OpenAI and Stripe, used by ChatGPT Instant Checkout.","applies":"Products that accept agent-driven checkout","strength":"MAY","emerging":true,"reference":"agentic-commerce-protocol","referenceUrl":"https://github.com/agentic-commerce-protocol/agentic-commerce-protocol","anchor":"https://agentready.org/#acp"},{"stableId":"AR-COMM-03","slug":"acp-delegate-payment","name":"ACP Delegate Payment","summary":"A companion flow for shared payment tokens, letting an agent pay on a user's behalf with a short-lived, cart-scoped token.","applies":"Payment providers that issue delegated tokens to agents","strength":"MAY","emerging":true,"reference":"agentic-commerce-protocol","referenceUrl":"https://github.com/agentic-commerce-protocol/agentic-commerce-protocol","anchor":"https://agentready.org/#acp-delegate-payment"},{"stableId":"AR-COMM-04","slug":"ucp","name":"Universal Commerce Protocol (UCP)","summary":"A /.well-known/ucp profile declaring services, capabilities, and payment handlers, plus an agent profile URL for two-sided capability negotiation. Co-developed by Shopify and Google.","applies":"Products that expose agent-driven commerce","strength":"MAY","emerging":true,"reference":"ucp.dev","referenceUrl":"https://ucp.dev","anchor":"https://agentready.org/#ucp"},{"stableId":"AR-COMM-05","slug":"mpp","name":"Machine Payments Protocol (MPP)","summary":"An HTTP 402 + Payment authentication scheme with an OpenAPI x-payment-info extension for per-call API monetization. Submitted to the IETF as draft-httpauth-payment.","applies":"Products that monetize APIs at the call level","strength":"MAY","emerging":true,"reference":"mpp.dev","referenceUrl":"https://mpp.dev","anchor":"https://agentready.org/#mpp"}]}]}