Is cal.com agent ready?
cal.com is largely agent ready: it scores 60/100 (grade B) on the w2agent rubric. Weakest areas: Agent Auth (30).
Changed since last check
−13 points since the previous check (2026-09-15)
Regressed: PKCE S256 support, Public API surface, Response time, Agent/bot auth documentation, OAuth discovery chain (RFC 9728 → RFC 8414), Developer portal, Scoped API permissions
Category scores
Technical
87
Agent Auth
30
Agent Discovery
50
Agent Protocols
60
Content Quality
72
Structured Data
59
Bot Accessibility
79
Agent protocol panel
- A2A agent cardNot found
- OAuth discoveryPresent
- MCP discoveryPresent
- llms.txt validityPresent
Check results
Bot Accessibility
- ✓No error status codespass
- ✗Response timefail
- ✓XML sitemap existspass
- ✓AI agent accesspass
- ✓Edge treatment of agent user-agentstracked, not scoredpass
- ✓robots.txt existspass
- ✗Content negotiation (Markdown)fail
- ✓Declared AI usage preferencestracked, not scoredpass
Structured Data
- ✓OpenGraph meta tagspass
- ~Semantic HTML elementspartial
- ~Appropriate Schema.org typepartial
- ✓JSON-LD validpass
- ~Heading hierarchypartial
- ~Schema.org JSON-LD presentpartial
- ~Schema.org completenesspartial
Content Quality
- ✓FAQ contentpass
- ~Answer-first contentpartial
- ✓Content lengthpass
- ✓Token efficiency (HTML-to-text ratio)pass
- ✗Freshness signalsfail
- ✗Author attributionfail
- ✓Citation readinesspass
- ✓Lists and tables for structured infopass
Agent Discovery
- ✓llms.txt follows specpass
- ✓llms.txt existspass
- ✗MCP server cardtracked, not scoredfail
- ✓Markdown alternate linkspass
- ✗/.well-known/agent-card.jsonfail
- ✓llms.txt links resolvepass
Agent Protocols
- ✓Discoverable API endpointspass
- ✓MCP endpointpass
- ✗Action schemasfail
- —/.well-known/ucpskip
- ✗Structured formsfail
- —WebMCP imperative APItracked, not scoredskip
- —WebMCP declarative APItracked, not scoredskip
- ✓Reachable as Google-Agentpass
- ✓Reachable as ChatGPT-Userpass
- ✓Reachable as Perplexity-Userpass
Agent Auth
- —MCP authorization (401 challenge → protected resource metadata)skip
- ✗PKCE S256 supportfail
- ~Public API surfacepartial
- —Client ID Metadata Documents (bonus)skip
- ✗OpenAPI specificationfail
- ✗Agent/bot auth documentationfail
- ~OAuth discovery chain (RFC 9728 → RFC 8414)partial
- ~Developer portalpartial
- ✗Scoped API permissionsfail
- ✓API catalog (RFC 9727)pass
- —Agent operator signing directorytracked, not scoredskip
Technical
- ✓HTTPSpass
- ✓UTF-8 charsetpass
- ✓Canonical URLspass
- ✓Mobile viewportpass
- ✓Content accessible without JSpass
- ~Security headerspartial
Other
- ✓nextjs-metadata-apipass
- ~nextjs-static-generationpartial
- ✗nextjs-well-known-servedfail
- —local-business-hours-jsonldskip
- —local-business-nap-structuredskip
- —local-business-booking-accessibleskip
Score history
- 60/100 · rubric v3.0
- 73/100 · rubric v3.0
- 73/100 · rubric v3.0
- 53/100 · rubric v2.0
- 53/100 · rubric v2.0
- 53/100 · rubric v2.0
- 53/100 · rubric v2.0
- 52/100 · rubric v2.0
- 53/100 · rubric v2.0