By Project Auxo · 2026-06-28
TL;DR. AI agents discover what a website can do through well-known files and structured data: robots.txt (crawl rules), sitemap.xml (pages), llms.txt (what to read), capabilities.txt (what the site can do), schema.org potentialAction (page-embedded actions), and MCP (live invocation). capabilities.txt is the static, crawlable layer that declares a site’s invocable capabilities and hands off to an API or MCP server for the actual call.
AI agents can already read a site (via llms.txt) and respect its crawl rules (via robots.txt). What they have had no standard way to discover is what a site can do — check inventory, start a return, open a ticket — and how to call it. That discovery has happened through bespoke, one-vendor-at-a-time integrations, which doesn’t scale to a web where the fastest-growing visitor is software acting on a user’s behalf.
| Mechanism | Answers | Type |
|---|---|---|
robots.txt | What may a crawler access? | Static file |
sitemap.xml | What pages exist? | Static file |
llms.txt | What content is worth reading? | Static file |
capabilities.txt | What can this site do? | Static file |
schema.org potentialAction | What actions can run on this page? | Page markup |
MCP | Invoke a tool (live) | Live connection |
They compose. capabilities.txt is the static, crawlable catalog of what you can do; it hands off to schema.org Action (page-level) or an API/MCP server (live) for the actual invocation.
https://site/capabilities.txt (or query the registry: GET /api/discover?q=…, or the registry MCP).potentialAction EntryPoint).Today, mostly through bespoke per-vendor integrations. The emerging standard way is a capabilities.txt file at the site root that declares the invocable capabilities, optionally a structured /.well-known/capabilities.json, schema.org potentialAction markup on pages, and — for live invocation — an MCP server. An agent reads the static declarations to discover, then calls the API/MCP to act.
An open convention: a /capabilities.txt file (markdown — categories and capability ids with descriptions) where a site declares what it can do, sibling to robots.txt and llms.txt. It is the discovery layer before invocation; it points at your MCP server or API for the actual call.
No — they compose. MCP invokes tools over a live connection; schema.org potentialAction embeds actions in page markup; capabilities.txt is a static, crawlable, well-known file that catalogs capabilities and points to either of them for invocation. A site can publish all three.
Publish a /capabilities.txt (generate it from your OpenAPI in seconds), optionally emit schema.org potentialAction on key pages, expose an MCP server or API for invocation, and allow the AI crawlers (GPTBot, ClaudeBot, PerplexityBot, CCBot) in robots.txt. Then check it for conformance and list it so agents can find it.
Generate your capabilities.txtUse the registry in your agentCompare the standards