DatoCMS is Good to agents.
Discry independently scored how well an AI agent can discover and understand the DatoCMS API from what’s public — not whether it’s usable. Below: every signal we checked, what’s costing the score, and what to change.
SCORED UNDER RUBRIC 1.2 · A full re-launch under Discry Score 2.5 — a new behavioral instrument, not comparable to these scores — is in progress.
Discovery
45% of score · 62/100Comprehension
55% of score · 96/100What we found
- An agent reading the docs gets clean, purpose-built markdown for free: every page exposes a .md variant plus 'View as Markdown', 'Copy Markdown link', and 'Open in ChatGPT/Claude' buttons — DatoCMS has clearly engineered the docs for LLM consumption, not just human browsing.
- Error recovery is best-in-class: the CMA errors page documents ~80 distinct error codes, each with an explicit 'To resolve this...' step, transient-retry flagging, and a doc_url returned in the live error body — an agent can self-correct from a 4xx without ever leaving the response payload.
- The biggest discovery gap is the missing llms.txt / llms-full.txt (both 404). An agent that relies on the llms.txt convention to find an entry point gets nothing, despite the underlying docs being unusually agent-ready — a few-hours fix that would meaningfully lift the Discovery score.
- Agent-readiness is a deliberate product strategy here: there's a dedicated datocms/agent-skills repo teaching Claude/Codex/Cursor to work with the API, an official remote MCP server at mcp.datocms.com (OAuth), AGENTS.md in the plugins repo, and a write-safety header (X-Abort-If-Destructive-Request) built specifically for MCP read-only mode.
- Discovery is the weak dimension (62/C) almost entirely on convention-file absences (llms.txt, .well-known/mcp.json) and a marketing sitemap that omits /docs pages — not on substance. The machine-readable spec exists (JSON Hyperschema at a stable, documented URL), so the API itself is well-described.
What to change
Prioritized by impact on discoverability. You (or your docs platform) deploy these — Discry never touches your API.
- 01Publish an llms.txt at the docs root pointing to the CMA/CDA overviews, authentication, errors, rate limits, and the Hyperschema URL. This is the single highest-leverage fix: it unblocks two failing discovery checks (llmsTxt + llmsTxtQuality) and is a few hours of work given the .md pages already exist.
- 02Add an llms-full.txt that concatenates the core CMA/CDA markdown (overview, auth, records, errors, limits) into one agent-ingestible document, giving agents a single sub-15K-token entry point and lifting Token Efficiency from partial to pass.
- 03Add /docs URLs to the sitemap (or publish a dedicated docs sitemap and reference it from sitemap.xml). Today /sitemap.xml lists only marketing/blog/academy pages, so a crawler-based agent may never enumerate the API reference.
- 04Expose a .well-known/mcp.json (or otherwise advertise mcp.datocms.com via a discovery file) so MCP-aware agents can auto-detect the official remote MCP server instead of relying on blog posts and docs prose.
- 05Consider serving the JSON Hyperschema in OpenAPI 3.x form as well (or linking an OpenAPI export). The current spec is a valid, comprehensive JSON Hyperschema, but many agent toolchains expect OpenAPI/Swagger specifically and won't auto-ingest hyperschema.
Execution coverage · INFORMATIONAL, UNSCORED
Whether an agent can actually complete a call and recover from errors is the deeper Audit layer — documented here, but not part of the Discry Score.
Execution characteristics are documented to an exceptional standard: token-based Bearer auth, a machine-parseable JSON api_error body (code, doc_url, details, transient flag) backed by ~80 individually documented error codes each with recovery steps, explicit rate limits (60 req/3s) with x-ratelimit-limit/remaining/reset headers, and offset/limit pagination. No classic idempotency-key header, though custom record IDs and optimistic concurrency (stale-version detection) are documented.