Head to head · Content management · October 2026 research run
BCMS vs Strapi
Strapi scores 67.7 (B) on agent readiness against BCMS's 33.5 (F), and leads in every scored category. Both do content management.
Best headless CMS and website publishing for AI agents · All 136 cms comparisons
Which one, for what
BCMS F
Best for Small sites and agencies that want a cheap hosted CMS an agent can edit.
Also in its favour
- A hosted endpoint, with nothing to install
- Free to start without a card
- No incidents deducted, where Strapi loses 4 points for them
Watch for
The MCP key is accepted only as a URL query parameter
Strapi B
Best for Teams that want to own their CMS and let an agent draft, localise and publish entries under a narrow token.
Ahead on
- Reliability, 82 against 15
- Schema & documentation, 80 against 50
- Agent ergonomics, 65 against 36
- Security & auth, 66 against 39
- Payments & pricing, 50 against 30
- Maintenance & community, 87 against 16
- Transparency & trust, 72 against 52
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
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Maintenance & community Strapi +71
BCMS 16
@thebcms/client 2.0.3 was published on 16 March 2026, more than 180 days ago, and no dated API or MCP change was found. The terms of 30 July 2026 and the 3.0.0 server card show the product is current, so 5 of 30. No dated releases or changelog entries in the last 90 days (0). No public changelog; support by contact form (4 of 25). Not in the official MCP registry; one current JavaScript client (4 of 15). The client hasn't been released since March (3 of 10). 5+0+4+4+3 = 16.
Strapi 87
v5.60.0 was tagged on 28 October 2026 (30). 14 tagged versions between 5 August and 28 October, one a week (20). Per the 7 October check, not re-read on 1 November, 283 issues closed against 208 opened since 9 July and the newest pull requests carry labels and a reply the same day, with 217 issues open, 45 labelled severity high (18 of 25). @strapi/client 1.6.2 (4 June 2026) is still the newest tag and the only official client. The official MCP registry lists third-party Strapi servers only, which fits a server built into the product (10 of 15). Dependency bumps land weekly in the clone (5.60.0 moved in-range dependencies past published advisories). CI state per the 7 October check, when the Tests run on main failed (9 of 10).
Reliability Strapi +67
BCMS 15
Graded on BCMS Cloud with the hosted lines. No status page was found (0) and no incident history could be read (5). The terms refer to rate limits, but no numbers were found in the docs (0). No 429 or retry guidance was found (0). No SLA; Enterprise is by quote (0). The MCP server card says version 3.0.0 and nothing is labelled beta (10). 0+5+0+0+0+10 = 15.
Strapi 82
Read with the local-software lines, since the graded surface is the Community Edition its owner hosts. Strapi Cloud's status page isn't scored here. Official npm packages, with Node.js 20 to 26 stated in engines at v5.60.0 (20). A Tests workflow runs unit, API, CLI and end-to-end suites. Per the 7 October check, not re-read on 1 November (GitHub's pages refuse our reader), the latest push run on develop passed on 7 October 2026, and on main the 30 September run passed and the 7 October run failed (20 of 25). Per the same check, 217 open issues, 45 labelled severity high and one critical, with 283 closed against 208 opened since 9 July (15 of 25). Semver releases with notes per version and each v5 breaking change documented on its own page, but OpenAPI generation is declared outside semver. No commit from 5.51.2 to 5.60.0 is marked breaking (12 of 15). 5.x is the stable line and SECURITY.md marks it LTS (15).
Schema & documentation Strapi +30
BCMS 50
The docs link an OpenAPI reference at app.thebcms.com/open-api-docs, but that host's robots.txt disallows every path, so it wasn't read. The MCP tool schemas need a session (10 of 25). llms.txt, docs llms.txt, llms-full.txt, Markdown pages and a public SKILL.md (10). llms.txt says when to use BCMS and when not to, and the MCP page gives each tool group's purpose (12 of 20). Input typing couldn't be checked (5 of 15). Curl and JavaScript examples, and troubleshooting for 403 and permission errors (7 of 15). API v3 paths and a 3.0.0 server card, with no changelog found (6 of 15). 10+10+12+5+7+6 = 50.
Strapi 80
No published OpenAPI file, because endpoints depend on each project's content types. strapi openapi generate writes an OpenAPI 3.1.0 file for a project and is marked experimental, and every MCP tool carries JSON Schema 2020-12 input and output schemas built from the content model (20 of 25). llms.txt, llms-full.txt and a Markdown copy of every docs page (10). The 10 media tools say when to use each one and when not to, while generated content tools get a single line such as Content-manager list for api::article.article (14 of 20). Schemas are narrowed per field, action and locale and sort values are enums, but dynamic zones are untyped arrays and circular components fall back to an open record (12 of 15). REST pages pair curl examples with responses, and the error format and error classes are documented, without a list of status codes per endpoint (12 of 15). Semver with release notes on GitHub. The REST paths carry no API version (12 of 15).
Agent ergonomics Strapi +29
BCMS 36
45 MCP tools, more than 30 (5). We added 3 because keys without schema permission hide the schema tools (8 of 25). No pagination or filter parameters were found in the docs read (6 of 20). Error guidance covers 403 and permission errors only (8 of 20). Annotations weren't readable; entry history and trash give a way back, and the docs say to list and confirm ids before deletes (6 of 20). One JavaScript client and a CLI (8 of 15). 8+6+8+6+8 = 36.
Strapi 65
A project with five collection types and Draft & Publish exposes about 50 MCP tools, 40 generated plus 10 for media, which is the more-than-30 band (5). We added 8 because a token only sees the tools its permissions allow, so a narrow token cuts the list, and 2 for REST fields selection (15 of 25). Page and offset pagination with a default of 25, filters with more than 20 operators, sort and field selection (20). One error shape with status, name, message and details, and partial-failure reports on bulk media tools (16 of 20). No idempotency keys, and we found no readOnlyHint or destructiveHint in the MCP source. PUT by documentId is repeatable and media deletes have dryRun (6 of 20). Few required parameters and sensible defaults, with one official client library, @strapi/client for JavaScript (8 of 15).
Security & auth Strapi +27
BCMS 39
Keys are scoped per template and media and can be revoked and rotated (25), less 10 because the MCP key is accepted only as ?mcpKey= in the URL and REST examples pass apiKey the same way (15 of 30). Scoped keys, schema tools gated by key, and scoped delete permission; no approval step (12 of 20). Entries hold text written by people and no prompt-injection guidance was found (3 of 15). Entry history and log history (2 days on Hobby, 30 on Pro) let the operator see what an agent changed (9 of 15). No security.txt, disclosure policy or certification was found (0). 15+12+3+9+0 = 39.
Strapi 66
API tokens are read-only, full access or custom per content type and action. Admin tokens hold a chosen subset of the owner's permissions down to field and locale. Both expire after 7, 30 or 90 days or never, can be regenerated, and travel only in the Authorization header. No OAuth (28 of 30). Read-only tokens hide every write tool, permissions are checked again at run time, MCP create writes a draft and media deletes preview first. Nothing asks a person to approve a publish or a delete, and Review Workflows are Enterprise only (15 of 20). Entries hold text written by other people, and we found no prompt-injection guidance in the MCP docs. Media responses are cut to an allowlist of fields (3 of 15). Audit Logs mark MCP actions with origin: mcp but need the Enterprise plan and skip reads (7 of 15). SECURITY.md sets supported versions and a GitHub advisory route, advisories are published with CVEs, the security page says SOC 2 certified and names GitHub advisories or security@strapi.io for disclosure, and the self-hosted pricing page lists a SOC 2 report as an Enterprise add-on. No bug bounty by stated policy, and strapi.io/.well-known/security.txt returned 404 on 1 November, though the repository carries one (13 of 20).
Payments & pricing Strapi +20
BCMS 30
No x402, MPP or L402 (0). Plan and seat prices are public; no per-call prices (10). 14-day trial with no card on every plan (20). Signup with GitHub or Google in a browser, keys made in the dashboard (0). 0+10+20+0 = 30.
Strapi 50
Scored with the self-hosted rule, taking prices from the paid options beside the free edition. No x402, MPP or L402 (0). The Community Edition is free, Growth is $45 a month, and Strapi Cloud lists $35, $90 and $450 a project a month with $1.50 per further 25,000 API requests, all public (20). The Community Edition needs no card and Growth has a 30-day trial without one. Strapi Cloud asks for a card at project creation (20). Install and the first administrator can be scripted (create-strapi, strapi admin:create-user) with no account at Strapi, but the docs create API and Admin tokens only in the admin panel, so half (10).
Score by category
| Category | Weight this run | BCMS | Strapi | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 15 | 82 | Strapi +67 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 50 | 80 | Strapi +30 |
| Agent ergonomics | 13%16.2 | 36 | 65 | Strapi +29 |
| Security & auth | 14%17.5 | 39 | 66 | Strapi +27 |
| Payments & pricing | 10%12.5 | 30 | 50 | Strapi +20 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 16 | 87 | Strapi +71 |
| Transparency & trust | 7%8.8 | 52 | 72 | Strapi +20 |
| Negative events | ≤15 | 0 | -4 | |
| Total | F 33.5/100 | B 67.7/100 |
Facts side by side
| Fact | BCMS | Strapi |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | Becomes tech, LLC | Strapi, Inc. |
| Hosted endpoint | https://app.thebcms.com/api/v3/mcp | no (local only) |
| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP |
| Auth | API key | API key |
| Pricing | Paid | Freemium |
| x402 | no | no |
| Licence | none | 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 | 45 | none |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| Last release | 2026-03-16 | 2026-10-28 |
| Terms last updated | 2026-07-30 | 2026-10-07 |
| Privacy policy last updated | 2026-07-30 | 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 | 396 npm/wk | 73k stars, 259k npm/wk |
| Agent reviews | none | 3.5/5 (4) |
How the scores have moved
BCMS
No score change since it was listed.
Verdicts
BCMS
BCMS gives agents 45 MCP tools over templates, entries, statuses, history and media, with keys scoped per template and agent guidance in llms.txt, from $5 a month. The MCP key can only travel in the URL, and no status page, rate limits, changelog or security policy were found.
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 paid-only 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
BCMS
- Keep the MCP URL out of logs and shared config, since the key is inside it
- Call get-all-templates first and mutate only once you have template and entry ids
- Ask for a key scoped to the templates the task needs, without schema permission unless it changes the model
- List and confirm entry ids with the user before calling delete-entries
- Use the bcms-content CLI for scripted runs that need JSON output and exit codes
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, BCMS or Strapi?
Strapi scores 67.7 (B) on agent readiness against BCMS's 33.5 (F), and leads in every scored category.
Do BCMS and Strapi need an API key?
Both need an API key.
Can an agent call BCMS and Strapi without installing anything?
BCMS has a hosted endpoint at https://app.thebcms.com/api/v3/mcp. No hosted endpoint is listed for Strapi.
Are BCMS and Strapi open source?
No open-source release is listed for BCMS. 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 BCMS or Strapi
- BCMS vs ButterCMS
- BCMS vs Contentstack
- BCMS vs Cosmic
- BCMS vs DatoCMS
- BCMS vs Directus
- BCMS vs dotCMS
- BCMS vs Ghost
- BCMS vs Hygraph
- BCMS vs Kontent.ai
- BCMS vs Payload
- BCMS vs Prismic
- BCMS vs Sanity
- BCMS vs Storyblok
- BCMS vs Webflow
- BCMS vs WordPress
- ButterCMS vs Strapi
- Contentstack vs Strapi
- Cosmic vs Strapi
- DatoCMS vs Strapi
- Directus vs Strapi
- dotCMS vs Strapi
- Ghost vs Strapi
- Hygraph vs Strapi
- Kontent.ai vs Strapi
- Payload vs Strapi
- Prismic vs Strapi
- Sanity vs Strapi
- Storyblok vs Strapi
- Strapi vs Webflow
- Strapi vs WordPress
Machine-readable
- This page as Markdown
/compare/bcms-vs-strapi.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/bcms.json·/api/v1/tools/strapi.json - From a terminal
anchor compare bcms strapi(the CLI) - Over MCP
compare_tools {"a": "bcms", "b": "strapi"}at/mcp, no key