Disclosure: Diggama publishes this page, and Diggama is one of the ten CMS compared. We have tried to treat it like the others: the same criteria, its real limitations stated plainly, and no ranking that puts it first by default. Third-party prices and capabilities come from each vendor’s own pricing page, docs or repository, linked in its section and checked on 7 October 2026. Prices change often, so check the linked page before you buy.
The list is in alphabetical order. It is not a ranking. Each entry ends with a “best for” verdict, and the decision guide at the end maps common situations to a shortlist.
Which headless CMS is best in 2026?
The best headless CMS is the one that matches who edits the content and where it must run. For a large organization with many brands and locales, Contentful or Hygraph. For developers who want the schema in code, Sanity or Payload. For marketers who build landing pages visually, Storyblok or Prismic. For a mandatory self-hosted setup, Strapi or Directus. For a developer blog in Markdown, TinaCMS.
Quick picks, by situation:
| If you need | Look first at | Why |
|---|---|---|
| Enterprise governance, many spaces and locales | Contentful, Hygraph | Mature permissions, environments, large partner ecosystems |
| Schema in code, real-time collaboration, custom studio | Sanity | Studio configured in TypeScript, hosted content store, GROQ queries |
| A CMS inside your Next.js app, fully self-hosted | Payload | Runs in the same Next.js project, MIT license |
| Visual page building for marketers | Storyblok, Prismic | Visual editor and component-based pages are the core product |
| Self-hosting on your own database | Strapi, Directus | Mature self-hostable projects with admin UIs and REST plus GraphQL |
| Markdown files in Git, with a visual editor on top | TinaCMS | Content stays in your repository, editors get a UI |
| A small team building a site with an AI coding agent, on a REST API with MCP on every plan | Diggama | Simple model, scoped MCP tools, flat team pricing |
How did we compare these headless CMS?
We scored each CMS on seven criteria, using its own documentation and pricing page as the source: hosting model and license, content APIs, content modeling, editor experience, localization, pricing entry point, and AI-readiness. We did not run benchmarks, and we did not use any vendor’s marketing claims about speed or customer counts.
The candidates are the ten names that come up most often when teams pick a headless CMS for a new website in 2026: Contentful, Sanity, Strapi, Payload, Storyblok, Directus, Hygraph, Prismic, one Git-based option, and Diggama.
For the Git-based slot we compared TinaCMS and Keystatic and kept TinaCMS. On npm, tinacms was at version 3.14.2, published in October 2026, and the TinaCMS repository is maintained by SSW with a paid hosted backend (TinaCloud) funding it. The Keystatic repository still describes the project as experimental, and @keystatic/core was at 0.6.9. Keystatic is pleasant to use, but for a production pick in 2026 TinaCMS has the healthier project behind it.
What does “AI-readiness” mean for a CMS?
AI-readiness is how well a CMS works when an AI agent, not only a human, is one of its users. We checked three things:
- An official MCP server. The Model Context Protocol is the standard way for AI tools to call external services: Claude Code, OpenAI Codex, Cursor, GitHub Copilot and Gemini CLI on the coding side, ChatGPT and Claude on the chat side. An official server, maintained by the vendor, lets an agent read the content model and read or write entries. We noted whether it is hosted (a URL you connect to) or local (a package you run), how it authenticates, and whether write access can be limited. Authentication decides which tools can connect: coding agents accept a token in an
Authorizationheader, while ChatGPT supports only OAuth or no authentication, and claude.ai custom connectors use OAuth unless the organization has the request-headers beta. - Docs that LLMs can read. An llms.txt file at the root of the site or docs gives a language model a Markdown map of the documentation. It helps coding agents find the right page instead of guessing an API.
- AI features in the editor. Text generation, translation or alt text inside the editing interface, for the content team rather than the developer.
Anthropic announced MCP in November 2024. In October 2026, nine of the ten CMS here have an official MCP server. The differences are now in the details: OAuth or token, hosted or self-run, and how much an agent can break.
Headless CMS comparison table (October 2026)
The two tables below summarize the comparison. The first covers hosting, APIs and price. The second covers AI-readiness and localization. Prices are list prices in the vendor’s currency, monthly unless stated, from the pricing pages linked in each section.
Hosting, APIs and pricing
| CMS | Hosting and license | Content APIs | Free tier | Paid entry point |
|---|---|---|---|---|
| Contentful | SaaS, proprietary | REST, GraphQL | Yes: 10 users, 2 locales, 100K API calls | Lite, $300/month |
| Diggama | SaaS, proprietary | REST | No (3-month trial) | Starter, 29.90 EUR/month |
| Directus | Self-hosted or Directus Cloud; source-available license since v12 | REST, GraphQL, realtime | Core tier, 3 seats | Team, $499/month billed yearly |
| Hygraph | SaaS, proprietary | GraphQL | Hobby, free | Growth, $199/month |
| Payload | Self-hosted, MIT (Payload Cloud closed to new projects) | REST, GraphQL, Local API | Free to self-host | Hosting costs only |
| Prismic | SaaS, proprietary | REST, GraphQL (read-only) | Yes: 1 user, 2 locales | Starter, $10/month |
| Sanity | Hosted content store, MIT-licensed Studio | GROQ, GraphQL | Yes: 20 seats | Growth, $15/seat/month |
| Storyblok | SaaS, proprietary | REST, GraphQL (read-only) | Starter, 1 seat | Growth, $99/month |
| Strapi | Self-hosted (MIT Community Edition) or Strapi Cloud | REST, GraphQL | Free to self-host | Cloud Starter, $35/project/month |
| TinaCMS | Self-hosted backend or TinaCloud; Apache-2.0 | GraphQL over Git content | TinaCloud Free, 2 users | Team, $24/project/month |
AI-readiness and localization
| CMS | Official MCP server | MCP auth | llms.txt | AI in the editor | Localization |
|---|---|---|---|---|---|
| Contentful | Hosted and local package | OAuth (hosted), personal access token (local) | Yes, docs | Yes (AI Actions) | Field-level locales, count by plan |
| Diggama | Hosted | Project token | Yes, site; not yet on API docs | Yes (AI Assistant) | Variants per blueprint |
| Directus | Built in (v11.12+) | User access token | Yes | Yes (AI Assistant) | Translations interface |
| Hygraph | Hosted | Account login or permanent auth token | Yes | Yes (AI Assist; Agents as a paid add-on) | Built-in locales, extra ones paid |
| Payload | Official plugin, runs in your app | API key | Yes | Not in core | Built-in field localization |
| Prismic | Hosted | OAuth | Yes | On request | Locales, count by plan |
| Sanity | Hosted | OAuth or token | Yes | Yes (Content Agent, AI credits) | Document or field level, via plugins |
| Storyblok | Hosted | OAuth | Yes | Yes (AI credits) | Field-level and folder-level |
| Strapi | Built in (5.47+) | Admin token | Yes, docs | Yes, on paid plan (Strapi AI) | Built-in i18n |
| TinaCMS | None official (community only) | n/a | Yes | Not found | Folder-based i18n |
What changed in the headless CMS market in 2026?
Three changes matter if you are choosing now: MCP servers became standard, two self-hostable projects changed hands or terms, and AI features moved into the editor behind credit systems.
MCP went from experiment to checkbox. By October 2026, Sanity, Contentful, Storyblok, Prismic, Hygraph and Diggama run hosted MCP endpoints. Strapi built one into the core in version 5.47, and Directus in 11.12. Payload ships an official plugin. A CMS without an MCP server now needs a reason.
Ownership and licenses moved. Payload joined Figma in June 2025 and stays open source, but Payload Cloud states that “deployment of new projects is currently paused”. Directus moved to a new license with version 12 in May 2026: the Monospace Sustainable Core License, derived from the Fair Core License, which keeps the software free for organizations under $5M revenue and 50 employees and converts each version to GPLv3 after four years.
AI in the editor became metered. Sanity, Storyblok and Strapi all count AI usage in monthly credits per plan. Budget for it if your team plans to translate or generate at volume.
Contentful: best for enterprise content platforms
Contentful is the default choice for large organizations that run many sites, brands and locales from one content platform, and that need governance more than speed of setup. It is SaaS only, with REST and GraphQL delivery APIs, environments, roles and a large marketplace of apps.
Content modeling. Content types are defined in the web app or through the Management API and CLI migrations. References between entries model relations. Rich text is stored as a structured JSON document, which takes some rendering code on the front end but keeps content portable.
Editor experience. A form-based editor with live preview, tasks and comments. It is familiar to enterprise content teams and has a deep app ecosystem, but it is not a visual page builder by default.
Pricing. The Contentful pricing page lists a Free plan with 10 users, 2 roles, 2 locales, 100K API calls and 50 GB of CDN bandwidth a month, and a Lite plan at $300 a month (€300 in Europe) with 20 users, 3 roles, 3 locales, 1M API calls and 100 GB of bandwidth, plus scheduled publishing, comments and live collaboration. Above that, the Enterprise plan is priced on request. Along with Directus, it has the steepest jump from free to paid in this list.
AI-readiness. Contentful runs a hosted MCP server at mcp.contentful.com with OAuth sign-in, plus an EU endpoint, and an official local package, @contentful/mcp-server, which covers entries, content types, assets, locales, environments and releases with a Content Management API personal access token. The hosted server only works in a space once the Contentful Remote MCP app is installed there, and that app is where space admins choose which tools AI clients get. Its developer docs publish an llms.txt. In the editor, AI Actions run reusable prompts on content.
Limitations. Cost rises quickly once you outgrow the free plan, and locales, spaces and API calls are all counted. It is more platform than a small marketing site needs.
Best for: enterprises with dedicated content operations, many locales and a CMS budget of several hundred dollars a month or more.
Diggama: best for small teams building sites with AI coding agents
Diggama is a SaaS headless CMS with a REST API and an MCP server included on every plan, built for teams who write their site with an AI coding agent and need non-developers to edit the content. It is the product of the company that publishes this page, and it is younger and smaller than most of the CMS here.
Content modeling. Content types are called blueprints. There are three kinds, documented on the blueprints page: a resource (many records, like blog posts), a singular resource (one record, like a homepage), and a read-only resource (records created through the API, like contact form submissions). Fields come in 21 types, including text, rich text (served as sanitized HTML), slug, image (served as a URL), relations, money, address and a page builder field.
API. A REST API at https://api.diggama.com/v2 with filtering and search, sorting, pagination and bulk operations. Tokens are scoped per blueprint and per ability (view, preview, create, update, delete, publish), so a build gets a read-only token and a contact form a create-only one.
Editor experience. A form-based dashboard with a block-based rich text editor, a media library, autosave on drafts, scheduled publishing and optional SEO scoring per blueprint. A page builder field lets editors stack ready-made blocks (hero, feature grid, FAQ) and returns the rendered HTML, its CSS and the block tree. Workflows can POST to a URL, such as a Cloudflare Pages or Netlify deploy hook, when a resource is created, updated or deleted. The request body carries only the event name, such as {"event": "resource_updated"}, so it works as a rebuild trigger, not as a content sync.
Localization. Each blueprint can declare variants (languages), and every endpoint takes a variant parameter.
Pricing. Starter is 29.90 EUR a month (3 users, 5 custom blueprints, 1 API key), Growth 89 EUR (6 users, 10 blueprints, 3 API keys), Enterprise 249 EUR (12 users, 25 blueprints, 5 API keys, 2FA, priority support). MCP, the AI Assistant and Workflows are on every plan. See pricing.
AI-readiness. The MCP server is hosted at https://api.diggama.com/mcp and authenticates with a project token. The tools it offers depend on the token: a view-only token gets four read tools and no write tool at all, and a full-access token gets ten. Creates and updates accept dry_run to preview the record or a field-by-field diff, and writes are capped at 60 a minute per project. There is no upload tool (image fields take the URL of a file already uploaded), and page builder fields are read-only over MCP. The MCP setup guide covers each client. In the editor, the AI Assistant writes text for a field from a prompt, optionally working from another field’s content. diggama.com publishes an llms.txt and a Markdown version of every guide; the API docs site does not have an llms.txt yet.
Limitations, plainly:
- No free plan. There is a three-month trial without a credit card, then a paid plan.
- REST only. No GraphQL endpoint.
- SaaS only. You cannot self-host it, and the code is not open source.
- MCP uses a bearer token, not OAuth. It works in the coding agents that send a header: Claude Code, the Codex CLI and IDE extension, Cursor, VS Code with Copilot, and Gemini CLI. ChatGPT cannot connect. claude.ai and Claude Desktop connectors need the request-headers beta, which only some organizations have; without it, Claude Desktop needs a third-party bridge such as
mcp-remote. - Smaller ecosystem. No official framework SDK, and fewer integrations and community answers than Contentful, Sanity or Strapi.
- Plan limits on structure. Starter allows 5 custom blueprints and 1 API key, so a site that wants separate tokens for the build and the contact form already points to Growth (3 API keys).
- No visual editing of your own front end. Editors work in forms. The page builder uses Diggama’s own block catalogue (you can map its block tree onto your components in code), and there is no click-to-edit preview of your site like Storyblok’s.
Best for: small companies and agencies moving off Webflow or Framer to a site written with an AI coding agent (Claude Code, Codex, Cursor or another), where a handful of people edit content and the developer wants a simple REST API and scoped MCP access.
Directus: best for a CMS on top of an existing SQL database
Directus wraps any SQL database (PostgreSQL, MySQL, SQLite and others) with REST and GraphQL APIs and an admin app, so it works as a CMS, a back office and a data API at once. It is the strongest pick when the data already exists or must live in your own database.
Content modeling. Collections map to database tables, fields to columns. You can model in the admin app or point Directus at an existing schema. Flows automate actions on events.
Editor experience. The Data Studio is a polished admin for structured data. It is more database-shaped than page-shaped, which suits product catalogs and internal tools better than landing pages.
License and pricing. Since version 12, Directus ships under the Monospace Sustainable Core License. Organizations under $5M in revenue and 50 employees can self-host the full platform at no cost; larger ones get a free Core tier with limits and need a commercial plan beyond it. The pricing page lists Core at $0 (3 seats, 25 collections, 5 flows), Team at $499 a month billed yearly, and cloud hosting from $99 a month for grant recipients. Neither this license nor the Business Source License it replaces is OSI-approved open source, which matters to some legal teams.
AI-readiness. An MCP server is built into Directus from v11.12, enabled in Settings, AI, and authenticated with a user’s access token, so it inherits that user’s permissions. The pricing page lists an AI Assistant on the free Core tier. The docs publish an llms.txt.
Limitations. The license change adds a compliance step for growing companies. The admin is less suited to marketers who think in pages.
Best for: teams that need a CMS and data API on their own SQL database, especially small organizations that qualify for the free license.
Hygraph: best for GraphQL-first and federated content
Hygraph is a SaaS CMS built around GraphQL, with content federation that pulls data from other APIs into the same graph. If your front end team already lives in GraphQL, it is the most natural fit here.
Content modeling. Models, components and references are defined in the schema editor, and every change is reflected in the generated GraphQL schema. Remote sources let you join external APIs, like a commerce backend, into queries.
Editor experience. A structured form editor with content stages and scheduled publishing. Clean, but form-based rather than visual.
Pricing. The Hygraph pricing page lists Hobby (free forever), Growth at $199 a month, and Enterprise on request. The same page lists additional locales at $150 a month each, which adds up for multilingual sites.
AI-readiness. The Hygraph MCP server is available on all projects, through a project endpoint with a permanent auth token or a global endpoint with your Hygraph login. It can read, create, update and publish entries and edit the schema, and the docs state that deleting and unpublishing must be done manually in Hygraph Studio, a deliberate safety choice. Hygraph publishes an llms.txt. On the pricing page, AI Assist is included on all plans with usage limits, and AI Agents are described as an add-on whose pricing is still being finalized.
Limitations. GraphQL only, so a team that prefers REST has nothing to fall back on. Extra locales are priced separately.
Best for: GraphQL-native teams and companies that want one API over content and other data sources.
Payload: best for developers who want the CMS inside their Next.js app
Payload is an open source, TypeScript-first CMS that installs into a Next.js project: the admin panel, the APIs and your front end run in one app. Schemas are code, access control is code, and hooks are code, which developers who live in TypeScript tend to love.
Content modeling. Collections and globals are defined in TypeScript config files, with field-level access control and hooks. Types are generated from the config, so the front end is typed against the schema.
API. REST and GraphQL over HTTP, plus a Local API that queries the database directly from server code in the same app, with no network hop.
Editor experience. A clean React admin, with live preview and drafts. Editors get a good form-based experience; the admin is extensible with your own React components.
Hosting and pricing. The payload package is MIT-licensed and free to self-host on any Node host with a database (PostgreSQL, MongoDB or SQLite). Payload joined Figma in June 2025 and stated that it remains open source. The Payload Cloud page says deployment of new projects is paused while existing projects keep running, so in practice you host it yourself.
AI-readiness. The official MCP plugin, @payloadcms/plugin-mcp, adds an /api/mcp endpoint to your app. You choose which operations (find, create, update, delete) are allowed per collection, and requests authenticate with a Payload API key whose user’s access rules still apply. The docs publish an llms.txt. We did not find AI writing features in the core admin; community plugins fill that gap.
Limitations. You run the infrastructure: server, database, backups, upgrades. Editors depend on a deployed app, so a broken deploy can take the admin down with the site.
Best for: TypeScript developers building on Next.js who want full control and no SaaS bill, and who are comfortable operating a database.
Prismic: best for marketing teams building pages from slices
Prismic is a SaaS CMS built around slices: reusable page sections that developers code once and marketers assemble into pages. It is aimed squarely at marketing websites built with Next.js, Nuxt or SvelteKit.
Content modeling. Page types and slices are modeled with Slice Machine, a local tool that generates the model and the matching components in your repository.
Editor experience. The page builder lets editors stack slices and see a preview, which is close to what marketing teams liked in visual builders.
Pricing. The Prismic pricing page lists a Free plan (1 user, 2 locales), Starter at $10 a month (3 users, 3 locales), Small at $25 (7 users, 4 locales) and Medium at $150 (25 users, 5 locales). It is the cheapest paid entry point in this comparison.
AI-readiness. A hosted MCP server at mcp.prismic.io with OAuth sign-in, so access matches your Prismic account. It can search and read documents, create and update documents inside releases, upload assets from URLs, and publish a release, which the docs flag as irreversible. Prismic publishes an llms.txt. AI features in the editor are listed as available on request.
Limitations. The model is page-centric; it is less natural for structured data such as catalogs. The GraphQL API is read-only, and the REST API is the main path.
Best for: small marketing teams that want to compose landing pages from developer-built sections, on a modest budget.
Sanity: best for developer-led teams that want a customizable studio
Sanity combines a hosted content store with Sanity Studio, an open source editing app you configure in TypeScript and deploy yourself or on Sanity’s hosting. Content is queried with GROQ, Sanity’s own query language, or GraphQL.
Content modeling. Schemas are code in the Studio project. Portable Text stores rich text as structured JSON. Real-time collaboration and document history are built in.
Editor experience. The Studio is highly customizable: custom inputs, desk structure, and visual editing through its Presentation tool. That flexibility is a strength for developers and a configuration task for someone.
Pricing. The Sanity pricing page lists a Free plan with 20 seats and 10k documents, a Growth plan at $15 per seat per month, and Enterprise on request. Usage above quotas is pay-as-you-go on Growth.
AI-readiness. Among the most complete in this list. The Sanity MCP server is hosted at mcp.sanity.io, signs in with OAuth or a token, and covers GROQ queries, creating and patching documents, releases, schema deployment and asset uploads. npx sanity@latest mcp configure sets it up for Claude Code, Cursor and VS Code. Sanity publishes a large llms.txt. In the Studio, Content Agent and Agent Actions are included on every plan, metered by AI credits.
Limitations. GROQ is one more language to learn. Per-seat pricing grows with the team. Getting the most out of the Studio takes development time.
Best for: product and developer teams that want content modeled in code, real-time collaboration and an editing app they can shape.
Storyblok: best for visual editing at scale
Storyblok is a SaaS CMS whose visual editor shows the real page while editors change components, which makes it the closest headless experience to Webflow’s editor for marketing teams.
Content modeling. Content is built from nestable components (bloks) that map to front end components. Pages are trees of bloks.
Editor experience. The visual editor is the product: click a section on the preview, edit it in the sidebar. It works with most front end frameworks through official SDKs.
API. The REST Content Delivery API is the main path. A GraphQL API exists, is read-only, and Storyblok’s own docs recommend REST for new projects.
Pricing. The Storyblok pricing page lists a free Starter plan with 1 seat, Growth at $99 a month with 5 seats, Growth Plus at $349 a month with 15 seats, and Premium or Elite on request.
AI-readiness. A hosted MCP server at mcp.storyblok.com exposes the Management API through read tools, mutating tools and a separate destructive tool that asks for confirmation, plus asset uploads. Access is scoped through OAuth, and since August 2026 Storyblok is listed in Claude’s connector directory. Storyblok publishes an llms.txt. The AI features in the editor (translation, alt text, generation) are metered in monthly AI credits per plan.
Limitations. Paid plans start around $100 a month, and seats are counted. The component model rewards upfront planning; a messy component library becomes a messy editor.
Best for: marketing teams that want to edit pages visually, in several languages, with developers owning the components.
Strapi: best for self-hosted, open source with a large community
Strapi is the most widely known open source headless CMS: a Node.js app with an admin panel, REST and GraphQL APIs, and a large plugin ecosystem. You can self-host the Community Edition for free or pay for Strapi Cloud.
Content modeling. The Content-Type Builder creates collection types, single types and components in the admin, saved as schema files in your project. Internationalization and Draft and Publish are built in.
Editor experience. A conventional, form-based admin. It is familiar and capable, without a visual page editor out of the box.
Pricing. The Community Edition is open source and free to self-host. The Strapi Cloud pricing page lists Starter at $35 per project per month, Pro at $90 and Business at $450.
AI-readiness. Since version 5.47, an MCP server is built into Strapi at /mcp, free on every project, authenticated with admin tokens. Tools are generated from your schema, and a read-only token only exposes reading tools. The docs publish an llms.txt. Strapi AI adds a schema assistant to the Content-Type Builder and alt text generation in the media library, on paid plans with AI credits.
Limitations. Self-hosting means owning upgrades and security patches, and major version migrations (such as v4 to v5) are real projects. Some features, including Strapi AI, require a paid plan.
Best for: teams that want a mature, self-hostable open source CMS with a big community and are ready to run a Node app.
TinaCMS: best for Markdown and MDX sites in Git
TinaCMS keeps content as Markdown, MDX or JSON files in your Git repository and gives editors a visual editing interface on top. Every save is a commit. It is the right answer when developers want content versioned with code but still need non-developers to edit it.
Content modeling. Collections and fields are defined in a TypeScript config. Tina builds a GraphQL API over the files, which your site queries at build time.
Editor experience. Contextual visual editing on the page, backed by Git. Editors never see Git, but every change becomes a commit and a build.
Hosting and pricing. The framework is Apache-2.0. The backend can be self-hosted or run on TinaCloud, whose pricing page lists a Free plan (2 users), Team at $24 per project per month (3 users) and Business at $249.
AI-readiness. Tina publishes an llms.txt. We found no official MCP server, only community projects. In practice, an AI coding agent can already read and write the Markdown files in the repository directly, which covers much of what MCP gives other CMS.
Limitations. Content tied to a Git repository fits sites, not apps that need runtime content or user-generated data. Large volumes of content make builds slow.
Best for: developer blogs, docs and small marketing sites where content in Git is a feature.
Which headless CMS has the best MCP server for AI agents?
For connecting an AI agent, Sanity and Contentful have the most complete hosted MCP servers, Storyblok is the easiest to add to claude.ai through the connector directory, Prismic and Hygraph add safety limits on what an agent can publish or delete, and Strapi, Directus and Payload let you run the server inside your own infrastructure. The right one depends less on the tool count than on how access is scoped.
Four questions separate them:
| Question | Why it matters | Who answers it well |
|---|---|---|
| Can I give the agent read-only access with no write tools at all? | An agent cannot misuse a tool it never sees | Diggama, Strapi (tools follow the token’s permissions); Payload (per-collection operations) |
| Does it authenticate with OAuth? | ChatGPT connects only through OAuth (or no auth), and so do claude.ai and Claude Desktop outside the request-headers beta; coding agents also accept a token | Sanity, Contentful (hosted), Storyblok, Prismic, Hygraph (global endpoint) |
| Are destructive actions limited? | Deleting content through a chat is hard to undo | Hygraph (no delete or unpublish), Storyblok (separate destructive tool), Prismic (publishing is per release) |
| Can I preview a write before it happens? | A diff before a bulk edit is the cheapest safety net | Diggama (dry_run on creates and updates), Prismic (writes land in a release you review before publishing) |
Whatever the CMS, the same rules apply. Give the agent a token scoped to the content types it needs. Start read-only. Grant write access to drafts before you grant publish or delete. And remember that writes from an agent fire the same webhooks as writes from a person: an agent creating twenty drafts can trigger twenty rebuilds.
The MCP and headless CMS guide walks through a full setup with Claude Code, Codex, Cursor and the other main agents, including the token scopes and prompts that work.
Open source or SaaS: which headless CMS model should you choose?
Choose SaaS when nobody on the team wants to run servers, and a self-hosted CMS when you must control where data lives, need to customize the backend, or have the operations skills to self-host. The license is free; running it is not.
| SaaS (Contentful, Sanity, Storyblok, Hygraph, Prismic, Diggama) | Self-hosted (Strapi, Payload, Directus, TinaCMS) | |
|---|---|---|
| Setup time | Minutes | Hours to days, plus a database and storage |
| Upgrades and security patches | Vendor | You |
| Data location | Vendor’s regions | Wherever you deploy |
| Backend customization | Through APIs, apps and webhooks | Full: hooks, plugins, code |
| Cost shape | Monthly plan, often per seat or per usage | Hosting plus maintenance time |
| Lock-in risk | Export APIs, proprietary model | Your database, but framework-specific schema |
Two recent changes are worth weighing. Payload Cloud is closed to new projects, so a team that picked Payload for its managed hosting now has to self-host. Directus replaced its Business Source License with a new source-available license enforced by registration keys. Source you can read does not mean terms that never change; read the license of the version you install.
How do you choose a headless CMS?
Start from who edits the content and where it must run, then check the API, localization and AI-readiness against your needs, and only then compare prices. A CMS chosen on its feature list alone tends to fail on the day editors start using it.
Work through these questions in order:
- Who edits, and how often? Developers only: TinaCMS, Payload or Sanity. A marketing team that builds pages: Storyblok or Prismic. A small team updating copy, posts and team pages: Diggama, Strapi Cloud or Sanity.
- Must it be self-hosted? If yes, Strapi, Payload, Directus or TinaCMS. Check Directus’s license thresholds against your company’s size.
- REST or GraphQL? If your team is committed to GraphQL, Hygraph first, then Contentful, Payload, Strapi or Directus. If REST is fine, every option works.
- How many languages? Count locales against plan limits on Contentful, Prismic and Hygraph, where locales are priced. Strapi and Payload include localization in the open source core, and Diggama includes variants on every plan without a per-locale fee.
- Will an AI agent work on the content? If Claude Code, Codex, Cursor or a chat assistant such as ChatGPT will draft, translate or bulk-edit content, check for an official MCP server, its authentication (ChatGPT needs OAuth, and so does claude.ai outside a beta; coding agents also accept a token), and whether writes can be scoped and previewed.
- How will existing content get in? Webflow exports each CMS collection as a CSV file. Check that the new CMS has an import tool or a write API you can script: Diggama, for example, imports blueprints and records from one JSON file, and your AI coding agent can convert the CSV into that format. The Webflow migration guide covers the full move, redirects included.
- What is the real monthly cost at your team size? Multiply per-seat prices by the number of editors, add locales and usage overages for SaaS, and add hosting and maintenance hours for self-hosted options.
To model your content before you commit, the content model generator turns the pages your site needs into content types and fields, and the website cost calculator estimates what a site really costs per year, hosting and maintenance hours included.
Which headless CMS works best with Claude Code, Codex or Cursor?
A CMS works well with an AI coding agent when it has a plain, well documented API, an llms.txt or Markdown docs the agent can read, and an official MCP server so the agent can inspect the real content model instead of inventing field names. Sanity, Payload, Strapi, Contentful and Diggama all meet that bar in October 2026.
The difference is in who the CMS is for once the agent has finished writing the code. Payload and Sanity put the schema in code, which suits a developer who will keep prompting the agent to change the model. Strapi and Directus give you the whole stack to run. Contentful brings enterprise governance. Diggama keeps the API small and the dashboard simple, for a team that left Webflow or Framer and wants marketers editing again without a developer in the loop.
A prompt like this one works with any of them, as long as the MCP server is connected and the token is read-only:
Use the CMS MCP server to list every content type and describe its fields. Then write src/lib/cms.ts with one typed fetch function per content type, using the exact field keys the server returned, and a TypeScript type for each. Read the API token from the CMS_API_TOKEN environment variable, never hardcode it, and throw a clear error if it is missing. Do not create, update or delete any content.Only the place you register the MCP server differs between agents: claude mcp add or a .mcp.json file for Claude Code, ~/.codex/config.toml for Codex, .cursor/mcp.json for Cursor, a workspace .mcp.json for VS Code with Copilot, and .gemini/settings.json for Gemini CLI.
The AI website guide builds a complete site this way, and web and CMS trends for 2027 looks at where this is heading.