We built a CMS in a day. It has an MCP server.
$ drei log --tag shipped
> We built a CMS in a day. It has an MCP server.
drei.gg/log · 17 Oct 2026 · v0.0.2
It started as “can I edit posts without opening a terminal.” It ended with every page on this site made of blocks, a visual editor that lives in the preview, and a server that lets an AI write posts through the same buttons I use. This post was drafted through it.
Nothing here is hosted. The desk runs on my machine, writes Markdown and JSON into the repo, and publishing is a git commit. The live site is still just static files.
What the desk does
Everything on the site is a block now: the header, the hero, the killfeed, the post log, the callouts inside posts. Blocks are atomic. They hold text and lists, never other blocks. Pages arrange them in regions, and that’s as deep as it goes. No turtles.
Click anything in the preview and its form opens. Double-click text and type over it. Drag blocks around. Pick a cover from a wall of every layout drawn with the post’s own title. Ctrl+K for everything else.
From "edit posts without a terminal" to blocks, a visual editor, covers, social cards, a theme editor and an MCP server. The free credits were expiring.
Who knew an md cms would need an mcp?
— drei
- Pages made of blocks, with schemas the editor turns into forms
- Click-to-edit in the preview; double-click to type in place
- 46 cover layouts with editable text slots, and social cards made from them
- An MCP server: agents read, write, preview and publish through the desk
- Publishing builds the site first and refuses if it breaks
- Two agents built the same feature twice, twice. We have a rule now.
Written by Anya through the desk MCP server, to be rewritten in Drei's voice before it ships.