$HEADLESS SYSTEMS
03 / Scorecard / Content Management

Craft CMS

C
Headless Index
52/100
JAIRF
N/A
Verified
AUG 20, 2026
Methodology v1 · JAIRF v1.0.0

Powered by JAIRF v1.0.0 by Jentic · open methodology at /the-headless-index/methodology

Craft CMS earns Band C in the Content Management category of The Headless Index, with a thesis-fit score of 52/100. Its strongest dimension is headless operation (14/20); its weakest scored dimension is MCP and agent posture (6/20). No public OpenAPI specification was found when Craft CMS was scored, which limits how far an agent can go without human integration work.

Editorial verdict
Craft CMS is partially headless and partly UI-led. The Headless Index thesis-fit score of 52/100 puts it mid-table on the index, and JAIRF is recorded as N/A for this vendor because no public OpenAPI specification was reachable for the open-source scorer. In practice, vendors at this tier are partly machine-consumable: the core flows are reachable through code but several adjacent surfaces still expect a human at a dashboard, and the rest of this verdict explains where Craft CMS lands inside that pattern. On the API surface, the question is whether the API is the product or a layer beneath the dashboard. Craft inverts the usual order: it is a template-rendering monolith first, with GraphQL bolted on as a Pro feature at a configurable endpoint (/api by default), gated by schemas and tokens. An agent can drive parts of this product, but not all of it: integrators should plan for human-in-the-loop checkpoints where the headless surface stops short. On headless operability: Project config is the real asset here. Every field, section and setting serialises to YAML under config/project/, and the console binary applies it (php craft project-config/apply, plus resave/entries, db/backup and migrate/all), so a site rebuilds deterministically from a repository. The catch is the same as Drupal's: those commands need shell access, not an API token, so remote agents are locked out.[1] On the MCP and agent-integration axis, which is the fastest-moving criterion in the index: Nothing exists under github.com/craftcms. What agents get instead is community work: a third-party plugin on Packagist (stimmt/craft-mcp, roughly 2,700 installs) and a separate package that repackages Craft documentation as Claude skills. Both are useful and neither is a commitment from the vendor. For a CMS whose whole config surface is already YAML, the absence is a missed opportunity.[2] Event posture closes the loop: an agent that cannot react to state changes is reduced to polling. A first-party plugin covers this (craftcms/webhooks, roughly 141,000 Packagist installs) with an unusual model: you bind a webhook to any Yii event class, so an Entry afterSave event or a Commerce order transition can fire. Payloads carry senderClass, event and time. Retries are a queue setting (retryDelay defaults to 60 seconds), nothing signs the body, and there is no published event catalogue. Net assessment: integrators can build agent flows against Craft CMS, but the rough edge to plan around is MCP posture[3]. Expect to wrap missing pieces in bespoke glue or accept human-in-the-loop checkpoints. Workable but requires scaffolding.
Verdict by Headless Index pipeline (auto)
// AI-drafted from the evidence layer. Editorial review pending.
Scores

Scorecard detail

Headless Index · 5 sub-criteria
API-first design intent12/20
scored

Craft inverts the usual order: it is a template-rendering monolith first, with GraphQL bolted on as a Pro feature at a configurable endpoint (/api by default), gated by schemas and tokens. Queries and mutations both work, which is more than most PHP CMSs offer. There is no REST management API and no official client library in any language.

signals (5)
  • +AI review appliedReviewer: Editorial review on 2026-08-19
  • OpenAPI specNot found across 17 probe paths
  • GraphQL endpointNot discovered (5 probes; project-scoped endpoints require a real project ID)
  • ·SDKs maintained1 (php); top by stars: craftcms/element-api (503 stars)
  • +SDK recency1 of 1 SDK repos pushed within 30 days (most recent SDK commit: 2026-08-05)
cite (1)
  • github.sdks@2026-08-19
Headless operation14/20
scored

Project config is the real asset here. Every field, section and setting serialises to YAML under config/project/, and the console binary applies it (php craft project-config/apply, plus resave/entries, db/backup and migrate/all), so a site rebuilds deterministically from a repository. The catch is the same as Drupal's: those commands need shell access, not an API token, so remote agents are locked out.

signals (9)
  • +AI review appliedReviewer: Editorial review on 2026-08-19
  • API operations exposedNo OpenAPI spec; operations count unknown
  • ·Docs pages crawled0 pages (crawler: none)
  • ·Auth schemes documentedAuth documentation page not reached by crawler
  • ·Setup / quickstart docsNot reached by crawler
  • ·Billing docsNot reached by crawler
  • ·Teams / org docsNot reached by crawler
  • ·CLI docsNot reached by crawler
  • ·Schema / data model docsNot reached by crawler
cite (1)
  • github.sdks@2026-08-19
MCP & agent posture6/20
scored

Nothing exists under github.com/craftcms. What agents get instead is community work: a third-party plugin on Packagist (stimmt/craft-mcp, roughly 2,700 installs) and a separate package that repackages Craft documentation as Claude skills. Both are useful and neither is a commitment from the vendor. For a CMS whose whole config surface is already YAML, the absence is a missed opportunity.

signals (4)
  • +AI review appliedReviewer: Editorial review on 2026-08-19
  • Official MCP serverNone found in vendor's GitHub org or the official MCP registry
  • Community MCP serversNone found
  • Agent-friendly SDKsNo TypeScript/JavaScript SDK published (agents commonly run in TS/JS)
cite (1)
  • github.sdks@2026-08-19
Schema observability10/20
scored

GraphQL introspection works, but only against your own install and only for the schema a token is scoped to, so there is no address an agent can fetch cold. No OpenAPI document exists anywhere, and the Element API plugin (github.com/craftcms/element-api) produces hand-shaped JSON endpoints with no machine-readable contract at all. Discovery starts with a running instance and credentials.

signals (3)
  • +AI review appliedReviewer: Editorial review on 2026-08-19
  • OpenAPINot discovered across 17 standard probe paths
  • GraphQL introspectionNo GraphQL endpoint discovered (5 probes; some vendors use project-scoped endpoints that require a real project handle)
cite (1)
  • github.sdks@2026-08-19
Webhooks & events10/20
scored

A first-party plugin covers this (craftcms/webhooks, roughly 141,000 Packagist installs) with an unusual model: you bind a webhook to any Yii event class, so an Entry afterSave event or a Commerce order transition can fire. Payloads carry senderClass, event and time. Retries are a queue setting (retryDelay defaults to 60 seconds), nothing signs the body, and there is no published event catalogue.

signals (2)
  • +AI review appliedReviewer: Editorial review on 2026-08-19
  • ·Webhook docs pageNot reached by crawler within budget (0 pages crawled). Cannot confirm whether vendor offers webhooks.
cite (1)
  • github.sdks@2026-08-19
JAIRF · 6 dimensions
JAIRF · N/A

This vendor does not publish a public OpenAPI specification. JAIRF cannot be computed. The Headless Index score and editorial verdict carry the readiness assessment.

No public OpenAPI specification discovered during collection

Powered by JAIRF v1.0.0 by Jentic

Band rationale:C band: scores 40-75 range

04 / Embed

Show Craft CMS's score on your site.

Drop a live badge into your README, footer, or marketing page. It updates automatically when we re-score, and every embed is a dofollow link back here.

FAQ

Craft CMS and agent readiness

Is Craft CMS agent-ready?
Craft CMS scores Band C on The Headless Index. Its JAIRF rating is not available because no machine-readable spec was scored. Its strongest area for agent use is headless operation; its weakest is MCP and agent posture.
Does Craft CMS publish an OpenAPI spec?
No published OpenAPI specification was found when Craft CMS was scored. That caps its JAIRF dimensions and forces agents to rely on documentation or reverse engineering to operate it.
What is Craft CMS's Headless Index score?
Craft CMS scores 52/100 on the Headless Index thesis-fit rubric and sits in Band C in the Content Management category. The score weighs API-first design, headless operation, MCP and agent posture, schema observability, and webhooks.