Head to head
Stop guessing which one. Put them side by side.
Up to 4 tools, same rows for each: what it is, what it really costs, the trap, and how to wire it up. The URL carries your picks — send it to anyone.
StoryblokKeystaticMDX
Quick read
- Free with no card: Keystatic, MDX.
| Field | Storyblokstoryblok.com | Keystatickeystatic.com | MDXmdxjs.com |
|---|---|---|---|
| What it is | Storyblok is a headless CMS built around a real-time visual editor that renders your live site in an iframe and lets editors click any component to edit it in place. The free tier is 1 seat, 1 space, 100k API requests per month and 2 locales. | Keystatic from Thinkmill is an MIT-licensed CMS that makes Markdown, MDX, JSON and YAML in your repository editable through a React admin UI. There is no database. It runs against the local filesystem in development and against GitHub in production. | MDX is a format that lets you write JSX inside Markdown, so an article can embed live React components — charts, interactive figures, embeds — between paragraphs of prose. It compiles to a React component and is supported by Vite, Next.js and Astro. |
| Category | CMS & content infrastructure | CMS & content infrastructure | CMS & content infrastructure |
| Cost tier | mixed | free | free |
| Pricing | Free: 1 seat, 1 space, 100k API requests/mo, 2 locales. Growth $99/mo (5 seats, 1M requests). Growth Plus $349/mo (15 seats). Extra seats $15/mo. | Free and MIT-licensed with no seat limits. Keystatic Cloud is an optional free add-on for GitHub auth and image handling. | Free, MIT-licensed open format. |
| Why builders pick it | The visual editor is what wins editor buy-in — non-technical staff see the page exactly as it will publish. Official MCP server launched March 2026, and the React SDK works cleanly with Vite. | Zero cost and zero vendor lock-in — the schema is a TypeScript file and content stays as plain files you can grep and diff. Ships integrations for Next.js, Astro and Remix. | The reason a technical publication can ship an interactive explainer inside an ordinary article. Every file-based tool here — Tina, Keystatic, Outstatic, Velite — speaks it natively. |
| Watch out for | The free plan is genuinely one seat, so a second editor immediately costs money. Extra locales are $20/mo each and API overages $10 per 1M requests. | Smaller community and slower release cadence than Tina or Payload. No official MCP server, no built-in scheduling, and no multi-stage editorial workflow or approval chain. | MDX is a compiler, not a CMS: no editor, no media library, no workflow, no roles. Non-technical writers will not author raw MDX, so pair it with an editing layer. |
| How to wire it up | npm i @storyblok/react | npm create @keystatic@latest | npm i @mdx-js/rollup |
| Editor's pick | No | No | No |
Which one did you ship?
The grid says what these tools are. This says what builders did about it — one decision per person, changeable whenever you change your mind.
0/280Sign in to add yours.
Or try
Hand this to your Lovable agent
# Tool comparison — Storyblok vs Keystatic vs MDX Source: Kbaise, a directory of tools that work with Lovable projects. Pick one and tell me why before writing any integration code. ## Storyblok (storyblok) - URL: https://www.storyblok.com - Category: CMS & content infrastructure - Cost: mixed — Free: 1 seat, 1 space, 100k API requests/mo, 2 locales. Growth $99/mo (5 seats, 1M requests). Growth Plus $349/mo (15 seats). Extra seats $15/mo. - What it is: Storyblok is a headless CMS built around a real-time visual editor that renders your live site in an iframe and lets editors click any component to edit it in place. The free tier is 1 seat, 1 space, 100k API requests per month and 2 locales. - Why builders pick it: The visual editor is what wins editor buy-in — non-technical staff see the page exactly as it will publish. Official MCP server launched March 2026, and the React SDK works cleanly with Vite. - Trap: The free plan is genuinely one seat, so a second editor immediately costs money. Extra locales are $20/mo each and API overages $10 per 1M requests. - Wiring: npm i @storyblok/react - Full dossier: /api/public/tools/storyblok ## Keystatic (keystatic) - URL: https://keystatic.com - Category: CMS & content infrastructure - Cost: free — Free and MIT-licensed with no seat limits. Keystatic Cloud is an optional free add-on for GitHub auth and image handling. - What it is: Keystatic from Thinkmill is an MIT-licensed CMS that makes Markdown, MDX, JSON and YAML in your repository editable through a React admin UI. There is no database. It runs against the local filesystem in development and against GitHub in production. - Why builders pick it: Zero cost and zero vendor lock-in — the schema is a TypeScript file and content stays as plain files you can grep and diff. Ships integrations for Next.js, Astro and Remix. - Trap: Smaller community and slower release cadence than Tina or Payload. No official MCP server, no built-in scheduling, and no multi-stage editorial workflow or approval chain. - Wiring: npm create @keystatic@latest - Full dossier: /api/public/tools/keystatic ## MDX (mdx) - URL: https://mdxjs.com - Category: CMS & content infrastructure - Cost: free — Free, MIT-licensed open format. - What it is: MDX is a format that lets you write JSX inside Markdown, so an article can embed live React components — charts, interactive figures, embeds — between paragraphs of prose. It compiles to a React component and is supported by Vite, Next.js and Astro. - Why builders pick it: The reason a technical publication can ship an interactive explainer inside an ordinary article. Every file-based tool here — Tina, Keystatic, Outstatic, Velite — speaks it natively. - Trap: MDX is a compiler, not a CMS: no editor, no media library, no workflow, no roles. Non-technical writers will not author raw MDX, so pair it with an editing layer. - Wiring: npm i @mdx-js/rollup - Full dossier: /api/public/tools/mdx ## Quick read - Free with no card: Keystatic, MDX. ## Rules 1. Prefer the free tier when no budget was stated, and say what the ceiling is. 2. Read the full dossier before integrating. 3. Fetch /api/public/models before writing any AI model ID.
Agents can fetch the same thing: GET /api/public/compare?slugs=storyblok,keystatic,mdx