Capability Checks
P1 api-catalog, P2 MCP Server Card, P3 Agent Skills, P4 OAuth discovery.
The Capabilities dimension is where reading turns into doing. Each check here exposes a machine-readable manifest of what an agent can call on your site — APIs, tools, skills, and the OAuth flow they need to do it authenticated.
P1 — API Catalog (RFC 9727) (weight 4)
RFC 9727 defines /.well-known/api-catalog — a Linkset document listing every API your site exposes.
How to fix
# /.well-known/api-catalog
{
"linkset": [
{
"anchor": "https://example.com/",
"service-desc": [
{ "href": "https://example.com/api/openapi.json", "type": "application/openapi+json" }
]
}
]
}Pair with a Link header (D3) for instant discovery.
P2 — MCP Server Card (weight 5)
Model Context Protocol lets an agent connect to your site as if it were a tool runtime. The convention AIScan checks for: a server card at /.well-known/mcp/server-card.json describing the available tools, resources, and prompts.
How to fix
Implement an MCP server (HTTP transport works for most web apps), then publish a server card. See our own live example at /.well-known/mcp/server-card.json. Read MCP Server for the full integration guide.
P3 — Agent Skills bundle (weight 4)
Agent Skills are a portable JSON/Markdown bundle that teaches Claude Code (and compatible runtimes) when to use your service and how to call it. AIScan checks for a discoverable aiscan-skill.json-style bundle plus an accompanying CLAUDE.md.
How to fix
See Agent Skill & CLAUDE.md for the format, plus our own files at /aiscan-skill.json and /CLAUDE.md as a reference.
P4 — OAuth protected-resource metadata (weight 3)
For authenticated APIs, agents need to know which OAuth authorisation server to talk to. RFC 9728 defines /.well-known/oauth-protected-resource for exactly that.
How to fix
# /.well-known/oauth-protected-resource
{
"resource": "https://example.com/api",
"authorization_servers": ["https://auth.example.com"],
"bearer_methods_supported": ["header"],
"scopes_supported": ["read", "write"]
}Required only if your site has authenticated APIs — otherwise the check is N/A.
E2 — Machine-readable API description (weight 3, recommended)
If your site exposes endpoints, agents shouldn't have to reverse-engineer them. AIScan looks for /openapi.json, /openapi.yaml, /api/openapi.json, /.well-known/openapi.json, /swagger.json, or a service-desc link in your RFC 9727 API catalog.
On sites we detect as pure content sites, this is reported as an optional improvement rather than a failure — the report says so explicitly instead of silently dropping the check.
How to fix
# 1. Publish the spec
GET /openapi.json -> 200 application/json (OpenAPI 3.1)
# 2. Advertise it
Link: </openapi.json>; rel="service-desc"; type="application/json"Ours is at /openapi.json, linked from /.well-known/api-catalog.
Further reading
- Publish an MCP Server Card So Agents Can Find Your Tools
On 10 September 2026 we probed every host running a remote MCP server listed in the official MCP Registry: 79 domains, three requests each. Seven of them publish a parseable server card at…
- Docs Sites and AI Agents: Four Markdown Routes, 52 Sites Tested
Ask an AI assistant how to configure a webhook, add a database index, or set a cache header, and it does not go looking for a blog post. It goes to the vendor's documentation. Docs are the…
- The complete AI readiness setup for Wix in 2026
Every other platform in this series asks you to create something. Wix has already created it. Before you open a single panel, a Wix site is serving a robots.txt, a sitemap index, serverrendered HTML…
- The Agentic Commerce Stack in 2026: UCP, ACP, AP2 and x402, Measured on 30 Storefronts
Five protocol names now compete for the same sentence in every agentic commerce explainer: UCP, ACP, AP2, x402 and MPP. Almost every explainer treats them as rivals. They are not. Four of the five…
- llms.txt vs robots.txt vs sitemap.xml in 2026: Six Files, Six Jobs
Verified 4 September 2026. Every figure below was measured or fetched on that date. Three files keep getting compared as if they were competing for the same job: robots.txt, sitemap.xml and llms.txt.…
- The State of AI Agent Readiness in 2026: 473 Sites Measured
Half of the web's agentreadiness problem is already solved, and almost nobody has noticed which half. Across 473 real websites scanned by AIScan between 24 August and 3 September 2026, the median…
- WebMCP in 2026: Do You Actually Need It Yet? 85 Sites Measured
Verified 2 September 2026. Every number below was measured on this date against live sites. The honest answer to "do I need WebMCP yet" turned out to depend on a question nobody asks first: is it…
- The complete AI readiness setup for Lovable in 2026
Two Lovable apps can look identical in a browser and differ by a factor of fifty in what an AI crawler actually receives. On 1 September 2026 we fetched fifteen published Lovable apps twice each,…