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.
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.
Content
Pull your entire library locally via CLI. Run it through Claude, GPT, or any local model for translations, rewrites, audits, or restructuring.
1 $ sovereign pull --all2 Indexing 4,204 nodes ...3 $ ai-process --model="claude-3-opus"4 Refactoring content structure to .mdx ...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.
1 $ sovereign pull --all2 Indexing 4,204 nodes ...3 $ ai-process --model="claude-3-opus"4 Refactoring content structure to .mdx ...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.
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.
Multi-locale content with automatic fallback chains and translation workflows.
See MDX components render in real-time as you write content.
Role-based access control for editors, reviewers, and AI agents.
Model Context Protocol server for AI agent content operations.
Full content revision history with diff view and one-click rollback.
Draft, staging, and production content environments with promotion flows.
Define content types in TypeScript with automatic database migrations.
Enterprise single sign-on with SAML, OIDC, and team management.
Shape the roadmap with us
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, PageAI 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 / productionThe 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 }} />
}Use MDCMS your way
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
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
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.