Introducing mkdnsite ("markdown site") - an open source Markdown-native web server that serves HTML to humans and raw Markdown to agents. No build step required. Runs on Bun/Node/Deno, as an OS-specific standalone executable, or as a Docker container. Possibly the easiest way to go from Markdown files to functional website in the new agentic era.
Features:
- Runtime-only, zero build
- Content negotiation means HTML for browsers and Markdown for agents
- Supports GitHub-Flavored Markdown rendering
- Mermaid diagrams, KaTeX math, embedded Chart.js charts, syntax highlighting all included
- Full-text search for humans, MCP tools for agents
- Customizable UI theming with auto-support for light/dark modes
- Pull Markdown files directly from a GitHub repo
See official docs at https://mkdn.site
# Why?
Back in February, I saw Cloudflare's announcement of "Markdown for Agents" (https://blog.cloudflare.com/markdown-for-agents/). At the time, I thought "so I'm writing my API docs or blog in Markdown and converting it to HTML for a website, only to have Cloudflare turn it back into Markdown for AI/agent consumption". This seemed odd to me.
I'm a Node.js developer but had recently been building projects on Bun because of the "batteries included" features, like cross-compilation of standalone executables (similar to Go), that Node.js lacked natively (yes, I'm aware of Node SEA, but it's messy/complicated and `bun build --compile` is not).
Then, when I found `Bun.markdown`, something clicked for me - building a web server that converts Markdown to HTML at runtime should be super easy. And agents actually want Markdown, so why not combine the two ideas?
Humans like writing Markdown (well, at least, I do) and agents like reading Markdown (less verbose, easier to grok, fewer tokens). Add to this the fact that we can now use AI to write software, and my side project was born.
Is Markdown-to-HTML a new concept? Absolutely not. It's pretty old and well-established. But what I think is new is the ability to do everything at runtime (no build step required) and the built-in support for AI agents. mkdnsite has content negotiation, automated llms.txt, an MCP server, and support for agent headers.
# How?
I worked with Claude to refine the idea and come up with basic requirements/specs and then had Claude build me a scaffolded project. I started the project on March 7.
The following Friday, I configured my first set of OpenClaw agents on my personal machine and set them up to use Slack. From that point on, I spent most evenings and every weekend building mkdnsite and a hosted service (at https://mkdn.io) by logging ideas as issues in GitHub and talking with my "team lead" agent on Slack to pick up the work and implement features.
mkdnsite v1.0.0 was released on March 16. The current version is v1.4.1 released March 28. Almost every line of code was written by AI, either via an autonomous OpenClaw agent or via individual Claude Code sessions.
# So what?
Just looking for some honest feedback. Is this useful? Is it dumb? Is there another tool that offers the same combination of features (I looked and couldn't find one)?
I am not downplaying SSGs at all. I quite like Astro. And I love GitHub Pages. I just think there's room for an easier/simpler solution.
Please try it out and let me know what you think. Thanks.