How scoring works
agentgrade checks for 10 capabilities across payments, discovery, and identity. Each capability has sub-checks that fall into two tiers:
- Verified — agentgrade made a live request and confirmed the capability works (e.g., MCP handshake completed, OpenAPI spec returned valid JSON)
- Declared — a manifest or config file was found that claims the capability exists, but it wasn't independently confirmed
Verified checks are weighted 2x in the score calculation. A site that works is worth more than a site that claims to work.
The 10 capabilities
Payments (highest weight)
- Machine Payments — x402, MPP, or L402 detected via HTTP 402 headers
- Bazaar — x402.json service catalog with discoverable endpoints
Discovery
- MCP — Model Context Protocol endpoint (JSON-RPC 2.0)
- AI Plugin — ai-plugin.json manifest with reachable API spec
- Claude Plugin — claude.json manifest with valid endpoints
- OpenAPI — openapi.json spec that returns valid JSON
- llms.txt — LLM context file starting with an H1 heading
- Skills — skills.json manifest with reachable endpoints
Informational (lower weight)
- agents.txt — Agent access policy file
- robots.txt — Agent-aware directives for AI crawlers
Optional (don't hurt your score)
- Identity — WebFinger, DID, Nostr NIP-05, AT Protocol DID
Score breakdown
The percentage score is: (passed check weight / total check weight) × 100
The summary shows "X / Y checks passed" where Y excludes optional checks that weren't found. Optional checks (identity protocols) can only help your score, never hurt it.
How to improve your score
/openapi.json and /llms.txt are the easiest wins/.well-known/x402.json with discoverable endpoints earns Bazaar checks