# Directus vs dotCMS (slim)

> Directus and dotCMS score within a point of each other for content management, 58.1 and 57.7 out of 100. Prices, MCP, x402, uptime and agent notes side by side.

- Full: https://www.anchorterminal.com/compare/directus-vs-dotcms.md (~4,600 tokens) · this version ~2,680 tokens · JSON https://www.anchorterminal.com/compare/directus-vs-dotcms.json · canonical https://www.anchorterminal.com/compare/directus-vs-dotcms
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-11-07
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

Directus and dotCMS score within a point of each other on agent readiness, 58.1 (C) and 57.7 (C). Both do content management.

- Directus: C 58.1, rank #762 of 1510 · https://www.anchorterminal.com/tools/directus.min.md
- dotCMS: C 57.7, rank #784 of 1510 · https://www.anchorterminal.com/tools/dotcms.min.md
- Directus, 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 Reliability, 82 against 47; Schema & documentation, 81 against 65; Agent ergonomics, 73 against 68; Security & auth, 68 against 63; Payments & pricing, 55 against 35; Maintenance & community, 86 against 75; Transparency & trust, 62 against 54.
- dotCMS, good for Enterprises already on dotCMS who want an agent to manage content and pages. Also Runs on your own machine; No incidents deducted, where Directus loses 15 points for them.

| Category | Directus | dotCMS |
| --- | --- | --- |
| Reliability (16%) | 82 | 47 |
| Performance (10%) | pending | pending |
| Schema & documentation (13%) | 81 | 65 |
| Agent ergonomics (13%) | 73 | 68 |
| Security & auth (14%) | 68 | 63 |
| Payments & pricing (10%) | 55 | 35 |
| Task success (10%) | pending | pending |
| Maintenance & community (7%) | 86 | 75 |
| Transparency & trust (7%) | 62 | 54 |

| Fact (where they differ) | Directus | dotCMS |
| --- | --- | --- |
| Kind | HTTP API | MCP server |
| Vendor | Monospace Inc. (Directus) | dotCMS LLC |
| Transports | HTTP, Streamable HTTP | stdio |
| Auth | OAuth or key | API key |
| 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 | BUSL-1.1 |
| Tools exposed | 12 | 7 |
| Last release | 2026-10-27 | 2026-09-02 |
| Privacy policy last updated | 2026-06-09 | 2026-09-08 |
| Terms restrict benchmarking | yes | not found in the text |
| Popularity | 38k stars, 23k npm/wk | 43 npm/wk |
| Agent reviews | 2.8/5 (4) | none |

Why the edge:
- Reliability, Directus +35: Directus 82 (Read with the local-software lines, since the graded surface is the self-hosted software on the free Core tier. Directus Cloud's status page isn't scored here. Official Docker image `directus/directus` and npm package `directus` 12.6.0, with Node.js 26 or later in `engines` since 12.6.0 and the supported databases listed (20). The Check workflow passed on the 10 most recent runs on main on 8 October, per the 8 October check, not re-read on 1 November, and separate end-to-end and CodeQL workflows exist (25). 339 open issues. The 15 newest carry labels and one to eight comments, but we couldn't read closed counts, and at least 20 advisories were fixed between June and September 2026 (15 of 25). The docs say releases don't follow semantic versioning and any release may break. Breaking changes are listed per version, and 12.1 to 12.6 each had some (7 of 15). Version 12, and the MCP server isn't marked beta (15).); dotCMS 47 (Read with the local-software lines, since the MCP server is a stdio package the owner runs against their own instance. Official npm package with Node 20 or later and Bun stated (20). The monorepo has CI and the MCP app has vitest tests and smoke tests; whether they pass on main wasn't read (12 of 25). Open issues weren't read because the GitHub API refused us for its rate limit (10 of 25). 0.1.0 and 0.1.1 without release notes for the package (5 of 15). Pre-1.0, and the dev docs still call it beta (0). 20+12+10+5+0 = 47.)
- Payments & pricing, Directus +20: Directus 55 (Scored with the self-hosted rule, taking prices from the paid options beside the free tier. No x402, MPP or L402 (0). Core is $0, Team is $499 a month on an annual term or $599 monthly, extra seats are $50 each a month, and Directus Cloud hosting is a $99 a month add-on, all public. Enterprise is priced by sales (20). The Core tier is free to self-host with no card and no account, and Cloud has a 14-day trial (20). `ADMIN_EMAIL`, `ADMIN_PASSWORD` and `ADMIN_TOKEN` create the first administrator and a static token at start-up, so the REST route needs no browser. The docs enable the MCP server only through the Studio settings page, so we took 5 off (15 of 20).); dotCMS 35 (Scored with the self-hosted rule, with prices from the cloud plans. No x402, MPP or L402 (0). Cloud prices are on request only (0). Free with every capability under $5 million in revenue under the BSL, with no card (20). Self-hosting needs no dotCMS account, and tokens can be minted by API on one's own instance (15 of 20). 0+0+20+15 = 35.)
- Schema & documentation, Directus +16: Directus 81 (An OpenAPI file ships in `@directus/specs` with 70 paths, each instance serves its own at `/server/specs/oas`, and every MCP tool has a typed input schema. The spec's `info.version` still reads 10 (22 of 25). llms.txt, llms-full.txt and a raw Markdown copy of every docs page (10). Each tool has a one-sentence description and a `prompt.md` of instructions with worked examples, up to 13 KB for flows, and a `system-prompt` tool sets conventions (16 of 20). Actions are enums and validation uses strict unions per action, but item data, filters, `deep`, and field `schema` and `meta` are open records (8 of 15). The errors page lists HTTP statuses and error codes with the response shape, and guides show REST, GraphQL and SDK examples side by side (14 of 15). A monthly changelog, release notes and breaking-change pages per major version. REST paths carry no version and releases aren't semantic (11 of 15).); dotCMS 65 (The search tool exposes the instance's own OpenAPI spec, so the contract is machine-readable, though the tools themselves take JavaScript code (20 of 25). llms.txt and Markdown pages on dev.dotcms.com (10). The README says what each tool is for and gives examples; when not to use them isn't stated (12 of 20). Code strings rather than typed parameters for search and execute (4 of 15). Examples for both tools; error behaviour of the sandbox isn't documented (9 of 15). dotCMS changelogs are dated; the MCP package has no changelog (10 of 15). 20+10+12+4+9+10 = 65.)
- Maintenance & community, Directus +11: Directus 86 (v12.6.0 was tagged on 27 October 2026 (30). Seven tagged releases in the 90 days from 3 August (12.3.0, 12.3.1, 12.4.0, 12.4.1, 12.5.0, 12.5.1 and 12.6.0) (20). 339 open issues, the newest labelled and answered, with 170 commits on main since 10 July, per the 8 October check, not re-read on 1 November. Closed-issue counts weren't readable (17 of 25). `@directus/sdk` is current and is the only official SDK. We couldn't reach the official MCP registry, which matters less for a server built into the product (10 of 15). Dependency updates for CVEs land in each release (12.5.1 and 12.6.0 among them), CI passed on main on 8 October and CodeQL runs (9 of 10).); dotCMS 75 (dotCMS core tagged v26.11.06-03 on 6 November 2026; the MCP package's last release was 0.1.1 on 2 September (30). Core tags several times a week (20). GitHub issues and a community forum; response times weren't read because the GitHub API refused us for its rate limit (10 of 25). Not in the official MCP registry; official JavaScript client libraries (8 of 15). The MCP package's dependencies and CI state weren't read (7 of 10). 30+20+10+8+7 = 75.)
- Transparency & trust, Directus +8: Directus 62 (The full source is public under MSCL-1.0-GPL, which bars competing use and bypassing the licence key and converts each version to GPL-3.0 after four years. It isn't an OSI licence. The SDK is MIT. The docs index still calls the licence BSL (19 of 30). A self-hosted install keeps content on its owner's servers. The privacy policy of 9 June 2026 says customer data is handled under customer agreements and not the policy, the terms dated 28 April 2025 let the company keep or delete account materials at its discretion, and no public DPA or retention period was found. The trust centre names five subprocessors without locations (16 of 30). Breaking changes are documented per version, upgrades to version 12 got a 30-day grace period and old monthly plans six months. No stated notice period for API changes (10 of 20). Telemetry is documented field by field with an opt-out variable, but it sends the instance's public URL and the opt-out is honoured only where the licence allows, which the pricing table lists for Enterprise alone (10 of 20).); dotCMS 54 (dotCMS core is under the Business Source License 1.1, source-available rather than OSI, with an additional use grant under $5 million; the MCP package is GPL-3.0 on npm (20 of 30). The privacy policy of 8 September 2026 covers website visitors only; no cloud data-handling terms were found (10 of 30). A deprecations page, an LTS lifecycle and dated changelogs (16 of 20). Telemetry and sub-processors weren't established (5 of 20). 20+10+16+5 = 51.)
- Agent ergonomics, Directus +5: Directus 73 (Default mode lists 12 tools, the 11 to 30 band, but each definition carries its whole instruction file, 78,855 bytes in total at v12.5.0, so we scored 10 and added 8 for registry mode, which lists three tools and loads details on demand (18 of 25). `limit` (default 100), `offset`, `page`, `fields`, `filter`, `search`, `sort` and `aggregate`, with `QUERY_LIMIT_MAX` as a server cap (20). One error shape with a machine-readable `extensions.code`. Missing items answer `FORBIDDEN`, not 404, by design (17 of 20). Tools set `readOnlyHint` and `destructiveHint`, though one `items` tool covers reads and writes and is marked destructive. No idempotency keys were found in the reviewed documentation (10 of 20). Few required parameters. One official SDK, `@directus/sdk` for JavaScript and TypeScript (8 of 15).); dotCMS 68 (7 tools in code mode, so the definitions stay small (25). Output is capped at about 25,000 characters with helpers such as pick and first, and download_assets returns only a manifest (16 of 20). Errors come back from the API inside the sandbox; no documented recovery guidance (10 of 20). No readOnlyHint or destructiveHint found, and execute can write and delete; the sandbox keeps the token out of reach (5 of 20). Two required settings and a setup command, `npx dotcms agent setup`, that writes the editor config (12 of 15). 25+16+10+5+12 = 68.)
