Head to head · Cms content · October 2026 research run
Directus vs Strapi
Directus scores 67.1 (B) on agent readiness against Strapi's 65.7 (B), and leads in 4 of 7 scored categories. Strapi leads on transparency & trust. Both do cms content.
Which one, for what
Directus B
Good for Teams that already keep content in an SQL database and want an agent to edit items, files and the data model under a named user's permissions.
Ahead on
- Agent ergonomics, 73 against 65
- Payments & pricing, 55 against 50
Watch for
Version 12 (10 June 2026) added licence enforcement. The free Core tier allows 3 Studio seats, 25 collections and 5 flows, and an instance over its limits is locked after a grace period
Strapi B
Good for Teams that want to own their CMS and let an agent draft, localise and publish entries under a narrow token.
Ahead on
- Transparency & trust, 72 against 61
Also in its favour
- Open source
Watch for
Content History keeps no version for REST, GraphQL or MCP writes, and exists only on Growth and Enterprise plans
Score by category
| Category | Weight this run | Directus | Strapi | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 82 | 82 | even |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 81 | 80 | Directus +1 |
| Agent ergonomics | 13%16.2 | 73 | 65 | Directus +8 |
| Security & auth | 14%17.5 | 68 | 66 | Directus +2 |
| Payments & pricing | 10%12.5 | 55 | 50 | Directus +5 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 86 | 87 | Strapi +1 |
| Transparency & trust | 7%8.8 | 61 | 72 | Strapi +11 |
| Negative events | ≤15 | -6 | -6 | |
| Total | 67.1 · B | 65.7 · B |
Facts side by side
| Fact | Directus | Strapi |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | Monospace Inc. (Directus) | Strapi, Inc. |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP |
| Auth | OAuth or key | API key |
| Pricing | Freemium | Freemium |
| x402 | no | no |
| Licence | MSCL-1.0-GPL (Monospace Sustainable Core Licence 1.0), source-available with a licence key for paid tiers, each version converting to GPL-3.0 after four years. @directus/sdk is MIT | MIT for the Community Edition. Code under ee/ directories is under Strapi's Enterprise Edition licence, and Strapi Cloud is a paid service under its own terms |
| Tools exposed | 12 | none |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| Last release | 2026-10-07 | 2026-10-07 |
| Terms last updated | no date given | 2026-10-07 |
| Privacy policy last updated | 2026-06-09 | 2023-03-01 |
| Customer content may train models | not found in the text | not found in the text |
| Terms restrict automated access | not found in the text | yes |
| Terms restrict benchmarking | yes | yes |
| Terms or service can change without notice | not found in the text | yes |
| Arbitration or class-action waiver | not found in the text | yes |
| Popularity | 38k stars, 23k npm/wk | 73k stars, 259k npm/wk |
Verdicts
Directus
The built-in MCP server works under the connecting user's permissions, supports OAuth limited to the MCP endpoint and blocks deletes unless an administrator allows them. Since version 12 a licence check caps the free Core tier at 3 Studio seats, 25 collections and 5 flows, and the default tool list carries about 79 KB of instructions.
Strapi
The built-in MCP server shows an agent only the tools, fields and locales its Admin token permits, and content tools create drafts by default. Rollback is the limit. Content History is a paid feature and records admin panel edits only, so API and MCP writes leave no version to restore, and the MCP server can't upload files.
Before you call either
Directus
- Connect with OAuth or an
Authorization: Bearerheader. Don't put the token in the URL as?access_token=, where it can be logged - Use
/mcp?tool_mode=registrywhen the client loads every tool definition. Default mode sends each tool's full instructions, about 79 KB in total - Read the
schematool before writing. Item payloads are untyped objects, so field names and types come only from the data model - Publish a version with
POST /versions/{id}/promoteover REST. The MCPitemstool refuses system collections such asdirectus_versions - Count translation and junction tables against the 25-collection Core limit before creating collections
Strapi
- Pass
status=drafton every REST POST and PUT. Without it the Content API publishes the entry at once - Use an Admin token for
/mcpand admin routes and an API token for/api. Each kind is rejected on the other's routes - Upload files with multipart POST to
/api/uploadfirst, then reference the returned file id in the entry. MCP tools can't upload - Call
media_delete_assetsandmedia_delete_folderwithoutdryRunfirst to preview, and take asset ids only frommedia_list_assets - Keep your own copy of an entry before updating it. API and MCP writes create no Content History version
Questions
Which is better for AI agents, Directus or Strapi?
Directus scores 67.1 (B) on agent readiness against Strapi's 65.7 (B), and leads in 4 of 7 scored categories. Strapi leads on transparency & trust.
Do Directus and Strapi need an API key?
Directus takes an API key or an OAuth sign-in. Strapi needs an API key.
Can an agent call Directus and Strapi without installing anything?
No hosted endpoint is listed for Directus. No hosted endpoint is listed for Strapi.
Are Directus and Strapi open source?
No open-source release is listed for Directus. Strapi is open source (MIT for the Community Edition. Code under ee/ directories is under Strapi's Enterprise Edition licence, and Strapi Cloud is a paid service under its own terms).
Other comparisons with Directus or Strapi
- Contentstack vs Directus
- Contentstack vs Strapi
- DatoCMS vs Directus
- DatoCMS vs Strapi
- Directus vs Ghost
- Directus vs Payload
- Directus vs Sanity
- Directus vs Storyblok
- Directus vs Webflow
- Directus vs WordPress
- Ghost vs Strapi
- Payload vs Strapi
- Sanity vs Strapi
- Storyblok vs Strapi
- Strapi vs Webflow
- Strapi vs WordPress
Machine-readable
- This page as Markdown
/compare/directus-vs-strapi.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/directus.json·/api/v1/tools/strapi.json - From a terminal
anchor compare directus strapi(the CLI) - Over MCP
compare_tools {"a": "directus", "b": "strapi"}at/mcp, no key