TKOResearch
Menu
Back to insights
AI InfrastructureAgent-Readable WebImplementation guide

Agent-Readable Web Files and Protocols: A Field Guide

A practical decision guide to 17 web discovery, access, authentication, tool, and commerce mechanisms for AI agents.

Last reviewed July 16, 202613 min read

An agent-readiness scan can produce a long list of missing files. That list is useful only after one question has been answered: what service does each file describe?

Discovery metadata must follow a real service. It must never be published to imply a capability that the organization hasn't built, secured, staffed, and committed to operate. A missing optional discovery feature isn't automatically a site defect. Sometimes absence is the accurate result.

That rule shaped our review of 17 mechanisms suggested for TKOResearch. We implemented controls that describe the public site as it exists: links to its RSS feed and security contact, a crawler access policy, a content-use policy, an informal /llms.txt index, and an operations path for Markdown representation at the edge. We didn't advertise an API catalog, authorization server, MCP server, agent skill, browser tool, or payment service. TKOResearch doesn't currently operate those public services.

This field guide separates established standards from active drafts and vendor proposals. It also gives an adoption decision for each mechanism. The decisions are specific to the present TKOResearch site, not a universal scorecard.

The decision table

FeaturePurposeArtifact or endpointMaturityAppropriate adoptersMain security concernTKOResearch decision
Link headersAttach typed relationships to an HTTP responseLink response fieldStandards Track RFC 8288Sites with real alternate representations, policies, or related resourcesA stale or false link can misdirect automated clientsPublish links to the existing RSS feed and RFC 9116 security contact
DNS-AIDDiscover an organization's agent endpoints through DNSSVCB records beneath proposed agent namesActive Internet-Draft, built on RFC 9460Operators of reachable, maintained agent servicesDNSSEC authenticates zone data, not the behavior of the advertised agentDo not publish because no public agent endpoint exists
Markdown content negotiationReturn a Markdown representation when a client asks for itAccept: text/markdown and a variant responseCloudflare product feature, not an IETF standardContent sites using a supported Cloudflare planConversion, caching, and policy headers must remain correct across variantsPrepare Cloudflare enablement and rollback; keep the origin policy authoritative
AI crawler rulesExpress crawler access preferences by product token and path/robots.txtStandards Track RFC 9309, with operator-specific tokensPublic sites that want documented automated access boundariesA named group can accidentally lose wildcard exclusionsPublish explicit groups that repeat protected paths and retain wildcard coverage
Web Bot AuthAuthenticate outbound automated HTTP requestsSigned requests plus an operator key directoryRFC 9421 foundation with active architecture and directory draftsBot operators and sites that verify their trafficKey ownership, replay resistance, rotation, and intermediary changesDo not publish a key directory because TKOResearch isn't operating an outbound bot
Content SignalsState permitted post-access uses for public contentContent-Signal response field and robots directivePublisher convention implemented by CloudflarePublishers prepared to declare training, search, and AI-input preferencesEnforcement depends on recipients honoring the declarationPublish ai-train=yes, search=yes, ai-input=yes at the origin and in robots
API CatalogGive machines a maintained index of public APIs/.well-known/api-catalog with Linkset JSONStandards Track RFC 9727, using RFC 9264Organizations that publish supported developer APIsAn obsolete catalog exposes retired surfaces and wrong documentationDo not publish; the contact form isn't a developer API
OAuth and OpenID Connect discoveryPublish authorization-server or identity-provider metadataRFC 8414 or OpenID well-known metadataStandards Track RFC 8414 and final OpenID Connect DiscoveryOperators of real OAuth authorization servers or OpenID ProvidersInvented issuers and endpoints create severe trust failuresDo not publish because this domain isn't an authorization server or OpenID Provider
OAuth Protected Resource MetadataTell clients which authorization servers protect a resource/.well-known/oauth-protected-resource variantsStandards Track RFC 9728OAuth-protected APIs and MCP resourcesResource identifiers and authorization-server bindings must match enforcementDo not publish because there is no public OAuth-protected resource
auth.mdGive agents human-readable registration and authorization instructionsProposed auth.md documentWorkOS open proposal, not an IETF standardServices with an implemented OAuth flow that needs supplementary guidanceNarrative instructions can become stale or conflict with machine metadataDo not publish until a real authorization service exists
MCP Server CardsDescribe an MCP server before a client connectsCandidate well-known card documentCurrent open draft SEP-2127, not a settled standardOperators of maintained remote MCP serversStatic capability claims can be stale, overbroad, or trusted without verificationDo not publish because TKOResearch has no public MCP server
Agent Skills discoveryIndex downloadable agent skill artifactsProposed /.well-known/agent-skills/ indexCloudflare v0.2.0 proposal, not an IETF standardPublishers that maintain reviewed, versioned skill packagesA digest checks bytes, not whether instructions are safeDo not publish an empty index or unowned packages
WebMCPLet a page register tools for browser-mediated agent useAPIs under document.modelContextWeb Machine Learning Community Group draft workWeb applications with narrow, user-visible actionsTool invocation can cross user intent and page authorization boundariesDo not register tools on the current informational site
x402Request payment before serving an HTTP resourceHTTP 402 plus x402 payment fieldsx402 Foundation specification, an industry protocol rather than an IETF standardAPIs with priced resources, wallets, and settlement operationsReplay, settlement finality, refunds, and idempotent fulfillmentDo not add payment middleware because no priced machine resource exists
Machine Payments ProtocolCarry payment terms through HTTP authenticationPayment authentication scheme and payment metadataProtocol documentation plus an Internet-Draft whose draft text is dated July 11, 2026Services with explicit machine pricing and controlled fulfillmentPayment authorization must bind to the exact request and fulfillment stateDo not implement because the site has no machine-purchasable product
Universal Commerce ProtocolNegotiate merchant services, checkout, and payment handlers/.well-known/ucp business profile and transport bindingsUCP specification, an active industry specificationMerchants with operational product, checkout, payment, and support systemsMerchant-of-record duties and signed state transitions must remain coherentDo not publish a business profile for a consulting contact form
Agentic Commerce ProtocolLet agents manage merchant-owned checkout sessionsACP checkout API and product feedsOpenAI and Stripe beta specification; the latest stable ACP snapshot, 2026-04-17, omits /.well-known/acp.json, while the official repository carries discovery as an unreleased proposalMerchants accepted into the beta with production commerce operationsDelegated payment tokens, idempotency, and merchant-owned state require strict controlsDo not implement; an unreleased discovery proposal cannot describe a checkout service that doesn't exist

Classify the mechanism before checking the URL

The 17 items don't form one technical stack. They occupy different layers and have different owners.

Link headers, robots rules, and several OAuth documents have standards-track specifications. Those specifications define syntax and processing behavior, but they don't require every website to deploy the feature. RFC 9727 is a valid API discovery standard. A site without public APIs still has no catalog to publish.

DNS-AID, the Web Bot Auth architecture, and MPP discovery are Internet-Drafts. An Internet-Draft is work in progress. It can change, expire, or be replaced. A team can experiment with one when the use case and maintenance capacity justify it, but production documentation should preserve that maturity label.

Other items are community or vendor work. Cloudflare Markdown for Agents is an account-level conversion feature. Content Signals is a publisher convention. The MCP, Agent Skills, WebMCP, x402, UCP, and ACP materials come from their respective project maintainers. Calling all of them “web standards” would erase meaningful differences in governance and interoperability.

Procurement and architecture review depend on this classification. An RFC gives implementers a stable reference, but it doesn't warrant that a product integration is safe. Vendor features can be ready for production inside one network and remain non-portable. Draft work needs an owner who can absorb incompatible revisions.

Discovery is a pointer, not a capability

A discovery artifact reduces the cost of finding something. It doesn't create the thing.

Consider an API catalog. RFC 9727 expects a publisher to list APIs and useful metadata, with a required Linkset JSON representation. The catalog needs monitoring and maintenance because consumers will treat its targets as intentional public surfaces. Pointing it at a contact form would misclassify a form-processing route as a supported developer interface. An empty catalog would be equally unhelpful.

The same reasoning applies to authorization metadata. An issuer value isn't a brand identifier. It identifies an authorization server and anchors exact endpoint relationships. Protected Resource Metadata binds a resource to the authorization servers that may issue usable credentials. Publishing invented URLs to satisfy a scanner can train clients to send credentials to the wrong place.

MCP cards, skill indexes, and commerce profiles have a similar dependency. A card presupposes a running MCP server. A skill index presupposes reviewed packages with owners and update procedures. A UCP profile presupposes a merchant operation. If the service disappears while its discovery file remains, automation keeps following a false promise.

Our adoption gate is therefore simple: name the live service, its owner, its authentication policy, its threat model, its monitoring, and its retirement process before adding discovery metadata. If those facts can't be supplied, the correct state is absence.

What a content site can adopt accurately

An informational site still has useful machine-readable controls.

First, publish typed links to resources that actually exist. TKOResearch sends a Link response field for /feed.xml with rel="alternate" and for /.well-known/security.txt with rel="security". RFC 9116 registers the security relation and defines the security contact file. A client can verify both targets with ordinary GET or HEAD requests.

Second, make crawler policy explicit. The wildcard group remains the baseline for unlisted crawlers. Named groups document policy for operator tokens verified against current operator documentation. Because a named match doesn't inherit the wildcard group's rules under RFC 9309, every named group repeats /api/, /admin/, and /private/ exclusions. This prevents a documentation block from weakening access boundaries.

Third, separate access from use. Robots rules concern whether a compliant crawler may fetch a path. The approved Content Signals policy declares permitted uses after content has been accessed. TKOResearch permits all three defined categories for its public material:

Content-Signal: ai-train=yes, search=yes, ai-input=yes

That statement is sent as an origin response field and repeated in robots. It doesn't override authentication, authorization, copyright law, contracts, or protected-path rules.

Fourth, offer a lean index and representation. /llms.txt is an informal convention, not a standard. On this site it lists real public pages, articles, feeds, and policies from maintained application data. Cloudflare Markdown for Agents can return a text/markdown variant when a client sends Accept: text/markdown. Enabling that feature belongs in edge operations, so the repository holds a runbook with enablement, verification, and rollback instructions rather than pretending a code commit changed the Cloudflare account.

Security review by layer

Each layer fails differently. A single “present or missing” score hides these failure modes.

Publication controls

Robots and Content Signals are declarations. They depend on recipient behavior. Protected routes still need authentication and authorization, and sensitive material shouldn't be published on the assumption that a crawler will comply. Policy values should be version-controlled, reviewed, and tested at the deployed origin and edge.

Markdown conversion creates another representation of the same resource. Test caching with Vary: Accept, content type, canonical links, structured data handling, token-count fields, and origin header preservation. Cloudflare documents a 2 MB origin-response limit and HTML-only conversion. Rollback should be rehearsed before broad enablement.

Discovery controls

Link headers, DNS records, catalogs, metadata documents, cards, and indexes create routing decisions. Their targets need ownership checks and continuous availability checks. DNSSEC can authenticate that a DNS record came from a validated zone, but the DNS-AID draft correctly warns that authentic metadata doesn't prove a discovered agent is safe. The same principle holds for a signed directory or a package digest.

Clients should constrain redirects, validate origins, reject insecure schemes where required, and treat downloaded descriptions as untrusted input. Publishers should plan rotation and retirement before launch. Stale discovery is a security and reliability defect because machines may act on it without a human noticing the mismatch.

Authentication and action controls

Web Bot Auth applies HTTP Message Signatures to outbound automated traffic. The bot operator creates keys, publishes the public directory, registers it where required, and signs requests. A content origin may verify those requests through its edge provider, but it doesn't publish an operator directory merely because it receives bots.

OAuth metadata describes trust relationships, not generic login instructions. MCP and WebMCP expose actions. Their review must cover scopes, per-tool authorization, user presence, parameter validation, tenant boundaries, rate limits, and revocation. Discovery is the beginning of that assessment, never the end.

Payment and commerce controls

Payment starts a contract between a request and a result. Before an origin can collect money, its operator needs a priced product, authoritative inventory or capacity, tax and refund policy, settlement handling, customer support, fraud controls, observability, and idempotent execution. None of the four protocols supplies those business systems.

Their technical boundaries differ. x402 places payment terms directly on an HTTP resource. MPP expresses payment through an HTTP authentication challenge and can advertise payable operations in OpenAPI. UCP negotiates a merchant's services, capabilities, transports, and payment handlers. ACP carries merchant-owned checkout state from product selection through order creation. Treating the paths as substitutes would promise incompatible behavior.

ACP needs one more maturity label. The official project is beta, and 2026-04-17 is its latest stable snapshot. That snapshot omits /.well-known/acp.json. The official repository now contains an Agentic Checkout Discovery document for that path, but its own header says Status: Proposal and Version: unreleased. A readiness check may observe the proposed path; it cannot call the path a released ACP conformance requirement.

Any payment or commerce launch should begin with the product's fulfillment record and system of record, then choose the protocol that matches the transaction. Discovery comes after the route, checkout, or merchant service works under production controls.

A practical implementation sequence

Start with an inventory, not a scanner result. List public representations, policies, APIs, authorization servers, protected resources, agents, tools, packages, and commerce surfaces. Mark the owner and production status of each.

Then map only live entries to their governing specifications. Verify whether the material is an RFC, an Internet-Draft, a project proposal, or a vendor feature. Use the specification's artifact name and processing rules rather than a checker's preferred shape when they differ.

For every proposed artifact, answer five operational questions:

  1. What real service or policy does this describe?
  2. Who owns accuracy, rotation, monitoring, and retirement?
  3. What will a machine reasonably do after reading it?
  4. Could the artifact expose a protected route, credential boundary, tool, or payment action?
  5. How will deployment and rollback be verified outside the repository?

Finally, test the public behavior. Request headers with GET and HEAD, resolve every linked target, query DNS with validation when applicable, check variants with explicit Accept fields, and compare well-known metadata with the enforcing service. A repository file can be correct while a CDN, redirect, or cache serves something else.

Collecting all 17 checks would misrepresent the current site. The sound outcome is the smallest accurate machine-readable description of services the organization can defend and operate. For TKOResearch today, that means strong publication controls and honest non-implementation of service metadata. When a real API, agent, tool, or commerce product launches, its discovery work should ship as part of that service, with the same engineering owner and release gate.

Primary references