Agent readiness · Headless CMS
strapi.io
7 of 14 measurable points under formula 9.2, measured on 2026-08-12. 15 checks exist; each is one HTTP request with a published rule, so every sentence below can be rerun and argued with. 2 of them could not be measured from where we ask, and those are left out of the denominator rather than counted as failures.
A · Discovery
- PASSAnswers an agent user-agentAnswered 200 to LetAgentsIn/1.0 (+https://letagentsin.com/methodology)
- PASSllms.txt publishedllms.txt and llms-full.txt present at https://docs.strapi.io/llms.txt and https://docs.strapi.io/llms-full.txt, and the 12 links we sampled across both files all answer
- PASSDocs readable without JavaScript7,244 characters of text without JS, on https://docs.strapi.io/cms/features/admin-tokens rather than on https://docs.strapi.io/
- PASSOn-demand agents not blockedNo on-demand agent is blocked
- N/APaths robots.txt points at answerrobots.txt names no concrete path, only patterns or nothing, so there is no claim to check
- PASSNo punishing crawl delayNo Crawl-delay applies to the agents we check
B · Agent entry
- FAILAgent entry pointNone of the 9 known agent entry paths returns a file rather than your page shell
- FAILOAuth dynamic client registrationNo OAuth metadata on any of the 9 hosts probed, including the usual auth and api subdomains
- FAILMCP surfaceMCP mentioned 15x in your own files, but nothing answered at mcp.strapi.io, mcp.strapi.io/mcp, mcp.strapi.io/v1/mcp, api.strapi.io/mcp, /mcp or /api/mcp
C · Registration
- UNMEASUREDNo CAPTCHA in the signup HTMLUnmeasurable: the signup form at https://cloud.strapi.io/signup is not in the server HTML, so its gates are not eitherServer-render the form, or tell us the endpoint it posts to, and the gates become visible to us and to an agent.
- FAILSignup reachable without a browserhttps://cloud.strapi.io/signup is reachable, but its form needs JavaScript
D · Provisioning
- FAILProgrammatic key provisioningNone of the 7 provisioning phrases appears in the 6 documents we read
- UNMEASUREDFree tier or no-card trial stated in textUnmeasurable: https://strapi.io/pricing is larger than we read, so anything we did not find in it is a fact about our cap and not about your tiersNothing for you to do. A smaller pricing page, or one that states its tiers early, makes this measurable.
E · Integration
- PASSTyped SDK on the registry@strapi/strapi@5.52.0 ships types, matched from the registry by who publishes it rather than by a link on your site
- PASSMachine-readable API descriptionDocs serve markdown to machines, at https://docs.strapi.io/cms/features/api-tokens.md
Tell me when this changes
The failures here are the kind nobody notices. An edge rule that starts refusing agents changes nothing a person sees in a browser, so the first sign is usually an integration that quietly stopped working. We rescan weekly and write only when a verdict moves.
This page is the newest scan we hold for strapi.io and changes when we rescan. It is not a judgement of the product: we measure whether an unattended run can get through, not whether the thing is any good. The whole corpus is published as JSON and CSV.