Head to head · Cms content · October 2026 research run
Ghost vs Strapi
Strapi scores 65.7 (B) on agent readiness against Ghost's 58.3 (C), and leads in 4 of 7 scored categories. Both do cms content.
Which one, for what
Ghost C
Good for A publication, blog or newsletter where an agent drafts posts and a person or a higher role publishes.
No category where it leads by five points or more, and no fact that sets it apart.
Watch for
No OpenAPI or other machine-readable description of the Admin API was found in the docs or the repository
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
- Schema & documentation, 80 against 51
- Security & auth, 66 against 56
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 | Ghost | Strapi | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 80 | 82 | Strapi +2 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 51 | 80 | Strapi +29 |
| Agent ergonomics | 13%16.2 | 69 | 65 | Ghost +4 |
| Security & auth | 14%17.5 | 56 | 66 | Strapi +10 |
| Payments & pricing | 10%12.5 | 50 | 50 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 85 | 87 | Strapi +2 |
| Transparency & trust | 7%8.8 | 72 | 72 | even |
| Negative events | ≤15 | -7 | -6 | |
| Total | 58.3 · C | 65.7 · B |
Facts side by side
| Fact | Ghost | Strapi |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | Ghost Foundation | Strapi, Inc. |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | HTTP | HTTP, Streamable HTTP |
| Auth | API key | API key |
| Pricing | Freemium | Freemium |
| x402 | no | no |
| Licence | MIT, copyright Ghost Foundation. Ghost(Pro) is a paid hosting service under the Ghost Foundation's terms | 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 |
| 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 | no date given | 2023-03-01 |
| Customer content may train models | not found in the text | not found in the text |
| Terms restrict automated access | yes | yes |
| Terms restrict benchmarking | not found in the text | 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 | 56k stars, 24k npm/wk | 73k stars, 259k npm/wk |
Verdicts
Ghost
A create needs only a title, updates are checked against updated_at so a stale write is refused, and a Contributor's staff token can draft without being able to publish. The Admin API has no OpenAPI file and one fixed permission set per integration, and 20 security advisories were published between 3 September and 1 October 2026.
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
Ghost
- Sign a fresh HS256 token for each batch of calls. Decode the hex secret to bytes, set
kidto the key id,audto/admin/andexpat most 5 minutes ahead - Set
statustodrafton every create unless told to publish, and publish later with a PUT that setsstatustopublished - GET the post before each PUT and send its
updated_atback. Tags and authors in a PUT replace the existing lists - Send content as a Lexical JSON string, or add
?source=htmland sendhtml. The HTML conversion is lossy unless wrapped in an HTML card - Page through lists with
limitup to 100 andpage. Since Ghost 6.0limit=allreturns 100 items without an error
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, Ghost or Strapi?
Strapi scores 65.7 (B) on agent readiness against Ghost's 58.3 (C), and leads in 4 of 7 scored categories.
Do Ghost and Strapi need an API key?
Both need an API key.
Can an agent call Ghost and Strapi without installing anything?
No hosted endpoint is listed for Ghost. No hosted endpoint is listed for Strapi.
Are Ghost and Strapi open source?
Yes. Ghost is open source (MIT, copyright Ghost Foundation. Ghost(Pro) is a paid hosting service under the Ghost Foundation's terms). 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 Ghost or Strapi
Machine-readable
- This page as Markdown
/compare/ghost-vs-strapi.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/ghost.json·/api/v1/tools/strapi.json - From a terminal
anchor compare ghost strapi(the CLI) - Over MCP
compare_tools {"a": "ghost", "b": "strapi"}at/mcp, no key