llms-txtmarkdown with an H1 and substantive content
The 10-point checklist
| # | Check | Verdict |
|---|---|---|
| 01 | llms.txt is served and agent-actionable | PASS |
| 02 | /.well-known/agents.json capability card parses | PASS |
| 03 | /icp.json self-classification surface | PASS |
| 04 | root content-negotiates (curl → markdown, browser → HTML, agent JSON → JSON/non-HTML) | PASS |
| 05 | machine-readable API contract (OpenAPI) is published | PASS |
| 06 | MCP interface declared with transport + tools | PASS |
| 07 | at least one declared endpoint answers 2xx with no key | PASS |
| 08 | payment boundaries answer as structured 402 offers | PASS |
| 09 | surfaces cross-reference each other (linkset) | PASS |
| 10 | attestation/identity ladder is declared | PASS |
Check details
llms-txtmarkdown with an H1 and substantive content
agents-jsonvalid JSON; name="api.qa", 4 http endpoint(s) declared
icp-jsonvalid JSON with agent_classes — an agent can self-classify
content-negotiationAccept: */* got non-HTML text; Accept: text/html got HTML; Accept: application/json served no JSON body but did NOT return HTML (agent-actionable non-HTML fallback — partial credit)
openapiOpenAPI parses; 4 path(s), 2 keyless GET candidate(s)
mcp-declaredmcp: stdio with tools [verify_domain, discover_domain, verify_pinned_spec] (presence-grade; stdio not spawned)
mcp-oauth-protected-resourceMCP declared stdio transport (no url) — not an OAuth resource server; skipped
mcp-oauth-as-metadataMCP declared stdio transport (no url) — not an OAuth resource server; skipped
mcp-pkceMCP declared stdio transport (no url) — not an OAuth resource server; skipped
mcp-oauth-dcrMCP declared stdio transport (no url) — not an OAuth resource server; skipped
mcp-oauth-resource-indicatorsMCP declared stdio transport (no url) — not an OAuth resource server; skipped
mcp-www-authenticateMCP declared stdio transport (no url) — not an OAuth resource server; skipped
aap-discoveryno /.well-known/agent-configuration document (2xx) — target does not claim the Agent Auth Protocol
authmd-agent-identityno authorization-server metadata resolved (no MCP/OAuth AS declared) — nothing advertises an agent_auth block
keyless-flow3/3 sampled endpoint(s) answered 2xx keyless (seed 1750173690)
offers-402declared boundary answered HTTP 402 with a typed OFFER (type:"OFFER" + id/title + price|checkoutUrl|alternatives)
linksetLink header present on root
attestationattestation ladder declared (agents.json attestationLadder / icp.json ladder)
schema-conformance2 sampled response(s) conform to their OpenAPI schemas
claims-honestyevery probed claimed endpoint exists (no 404/5xx)
contract-difflive surface conforms to every declared contract; 5 additive deviation(s) (undeclared field/endpoint — live has more than declared, non-breaking)
mcp-server-jsonno server.json manifest served at the well-known/declared path — target is not claiming MCP-registry publishability
mcp-remote-liveno server.json manifest — no registry remote to resolve
mcp-registry-ownershipno server.json manifest — no namespace ownership to prove
mcp-registry-presenceno server.json manifest — registry presence not applicable
mcp-ui-resource-linkageno MCP-UI declared (no tool advertises a ui:// template) — informational not-ready, not a failure
mcp-ui-self-containedno MCP-UI declared (no tool advertises a ui:// template) — informational not-ready, not a failure
mcp-ui-envelope-hygieneno MCP-UI declared (no tool advertises a ui:// template) — informational not-ready, not a failure
mcp-ui-register-parityno MCP-UI declared (no tool advertises a ui:// template) — informational not-ready, not a failure
mcp-ui-host-renderno MCP-UI declared (no tool advertises a ui:// template) — informational not-ready, not a failure
ui-stream-transportno UI-message-stream face declared (no interfaces.uiMessageStream) — informational not-ready, not a failure
ui-stream-framingno UI-message-stream face declared (no interfaces.uiMessageStream) — informational not-ready, not a failure
ui-stream-part-shapesno UI-message-stream face declared (no interfaces.uiMessageStream) — informational not-ready, not a failure
ui-stream-envelope-hygieneno UI-message-stream face declared (no interfaces.uiMessageStream) — informational not-ready, not a failure
ui-stream-parityno UI-message-stream face declared (no interfaces.uiMessageStream) — informational not-ready, not a failure
digital-link-resolverno Digital Link interface declared (agents.json `interfaces.digitalLink` absent) — the interface is OPTIONAL and this card does not claim it, so nothing was fetched and nothing is judged; under a pinned must:pass this fails closed
published-test-suiteno published test suite interface declared (agents.json `interfaces.testSuite` absent) — the interface is OPTIONAL and this card does not claim it, so nothing was fetched and nothing is judged; under a pinned must:pass this fails closed
capability-coverageno published test suite interface declared (agents.json `interfaces.testSuite` absent) — capability coverage is judged only over a declared suite's run (A.8.7): nothing is claimed, so nothing is judged; under a pinned must:pass this fails closed
machine-legible-homeno probe manifest declared (agents.json top-level `probes`) — target does not claim AXP; under a pinned must:pass this fails closed
conneg-acceptno probe manifest declared (agents.json top-level `probes`) — target does not claim AXP; under a pinned must:pass this fails closed
conneg-client-classno probe manifest declared (agents.json top-level `probes`) — target does not claim AXP; under a pinned must:pass this fails closed
conneg-alternatesno probe manifest declared (agents.json top-level `probes`) — target does not claim AXP; under a pinned must:pass this fails closed
conneg-forced-faceno probe manifest declared (agents.json top-level `probes`) — target does not claim AXP; under a pinned must:pass this fails closed
card-interfaces-linkedno probe manifest declared (agents.json top-level `probes`) — target does not claim AXP; under a pinned must:pass this fails closed
probe-manifestno probe manifest declared (agents.json top-level `probes`) — nothing to validate
card-interfaces-linkedno probe manifest — target does not claim the agent-first API contract
Attestation & evidence
Verify this yourself
Re-run the checks over the bundle and you must get this same grade, or the report is forged or the verifier version changed.