MIT Licensed
Open Source
v1.0-beta

Save weeks of CMS setup and skip the ticket queue

MDCMS is a headless open-source CMS that's database-backed and Markdown-first. Import your existing project in minutes and let AI agents handle the bulk content work that used to land in your sprint planning.

Built for the modern stack
Next.jsReactAstroRemixGatsby
MDCMS-TERMINAL
[1/3] Fetching 12,402 records from Sanity... DONE[2/3] Mapping schemas to target structure... DONE[3/3] AI Agent resolving asset link inconsistencies...
↳ Scanning 4,500 .webp files↳ Auto-generating alt text for 1,200 images↳ Correcting 42 broken internal references
Migration ready. Run 'architect deploy' to finalize.

Core engine features

Switch CMS in weeks, not quarters.

Open-source migration tools for Contentful, Sanity, Strapi, and existing Markdown projects. Run cms init on your repo and MDCMS detects your schema, imports your content, and sets up Studio. Your frontend doesn't change.

Built for teams that include AI agents.

AI is a first-class user across your content, config, and codebase. Code-first schemas in TypeScript, MCP-native AI agents, and Markdown-first content that works with the LLMs you already use. Pull content locally, push atomically, let AI agents do the bulk work.

Open source. MIT. Forever.

PostgreSQL and Markdown on infrastructure you control. No proprietary API between you and your own data. Fork it, extend it, shape the roadmap – the community drives what gets built next.

Three interfaces, one data layer.

Developers define schemas in code and sync via CLI. Marketing team gets a collaborative visual Studio. AI agents process content through the same API. Each role works in the space designed for them.

AI-native across your entire stack

MDCMS is built from the ground up to support LLM agents as first-class citizens in your workflow.

01

Content

Pull your entire library locally via CLI. Run it through Claude, GPT, or any local model for translations, rewrites, audits, or restructuring.

content_engine.sh
1 $ sovereign pull --all2 Indexing 4,204 nodes ...3 $ ai-process --model="claude-3-opus"4 Refactoring content structure to .mdx ...
02

Config

Describe what you need in natural language and the agent directly updates your mdcms.config.ts. Schema changes, new content types, field modifications – through MCP or the CLI, validated against your existing configuration before anything syncs.

content_engine.sh
1 $ sovereign pull --all2 Indexing 4,204 nodes ...3 $ ai-process --model="claude-3-opus"4 Refactoring content structure to .mdx ...
03

Codebase

The module system exposes type-safe contracts that AI agents can read, implement against, and extend. Build integrations, create custom endpoints, add new capabilities – all through AI-assisted development. The architecture is documented in .ai/ so agents have the context they need from the first prompt.

content_engine.sh
1 $ sovereign pull --all2 Indexing 4,204 nodes ...3 $ ai-process --model="claude-3-opus"4 Refactoring content structure to .mdx ...

Every feature you need to ship content with AI agents in the loop

The core idea is simple: keep the speed, portability, and AI-readiness of local files, but add the collaboration, permissions, versioning, publishing, and editor experience of a real CMS.

Localization

Multi-locale content with automatic fallback chains and translation workflows.

Live MDX Preview

See MDX components render in real-time as you write content.

Permission Groups

Role-based access control for editors, reviewers, and AI agents.

MCP Integration

Model Context Protocol server for AI agent content operations.

Version History

Full content revision history with diff view and one-click rollback.

Environments

Draft, staging, and production content environments with promotion flows.

Code-first Schema

Define content types in TypeScript with automatic database migrations.

SSO and Auth

Enterprise single sign-on with SAML, OIDC, and team management.

Shape the roadmap with us

TOP CONTRIBUTORS
Watch: Getting Started with MDCMS

Three decisions. Everything else follows.

Your content model lives in the repo

Types, fields, and validation are defined in mdcms.config.ts and checked into git. Structure changes go through pull requests - no drift between what your code expects and what the CMS delivers.

$ mdcms schema sync

Schema synced (hash: 8f3c1b7a2d41)
Affected types: BlogPost, Author, Page

AI agents work the same way your team does

No special integration needed. The config is a file agents can edit. The CLI is commands agents can run. The API is the same for every caller. An agent that creates a blog post gets the same validation, the same permissions, and the same audit trail as a developer.

$ mdcms push --validate

Validating against schema 8f3c1b7 ...

  blog/weekly-roundup.mdx   ✓ valid (new)
  blog/hello-world.mdx      ✓ valid (body updated)

2 documents · pushed to marketing / production

The Studio lives inside your app

The Studio is just a React component running inside your app. It has access to your code, your design system, and your custom components. When an editor drops a component into a page, they see it live instantly.

// app/admin/[[...path]]/page.tsx
import { Studio } from '@mdcms/studio'
import { PricingTable, Chart, Callout } from '@/components'

export default function AdminPage() {
  return <Studio components={{ PricingTable, Chart, Callout }} />
}
IMPLEMENTATION OPTIONS

Use MDCMS your way

Self Implementation

Open-source and ready to go

MDCMS is open-source and can be implemented by your internal team.

  • Free to use
  • Full control over codebase
  • Active community contribution
Visit GitHub
Recommended
WithBlazityBlazity

Work with the team behind MDCMS

Accelerate your implementation with the engineering team that built MDCMS from the ground up.

  • Faster time to production
  • Expert-led migration
  • Architecture tailored to your business
Talk to Head of Product
GET STARTED

Let's talk about how MDCMS fits your setup

Book a call to explore how MDCMS could work for your team, your content, and your markets. No commitment. We'll get back to you within 12 hours.

The Controller of your personal data is Blazity Sp. z o.o. with its registered office at Warsaw, Poland, who processes your personal data for marketing purposes. You have the right to data access, rectification, erasure, restriction and portability, object to processing and to lodge a complaint with a supervisory authority. For detailed information, please refer to the Privacy Policy.