v2.6.0 · MIT License · Node 18+

A Markdown server that became
your AI study companion

Zero config docs in one command — now with interactive quizzes, LaTeX math, and agent skills that turn folders into courses and ebooks.

terminal
$ |
10s to running docs
0 config files needed
150ms startup time
56× faster than Docusaurus

Everything included, nothing to configure

All the features of a professional docs platform, available in a single npx command.

⚡

Zero Config

Point to any Markdown folder. No setup files, no build step, no scaffolding. mdsvr figures everything out.

npx mdsvr ./docs # Done.
📝

Markdown & MDX

Render .md and .mdx with React components — callouts, steps, tabs, cards, accordions.

🧠

Interactive Quizzes new

Drop a ```quiz block into any page — exam or practice mode, instant grading, score history. Self-checks built into your docs.

∑

LaTeX Math new

Write $E = mc^2$ inline or ```math blocks. GitHub-compatible LaTeX rendering — zero plugins.

🌓

Dark / Light Mode

Auto-detects OS preference. Fully customizable accent color. Theme toggle included.

🔍

Full-Text Search

Client-side search with ⌘K shortcut. Pre-built index. No Algolia account needed.

🗂️

Auto Navigation

Sidebar and TOC auto-generated from your file structure. Active page highlighted. Collapsible sections.

🔎

SEO Ready

Open Graph, Twitter Cards, JSON-LD, canonical URLs, OG image generation, sitemap.xml, RSS, llms.txt.

📊

Mermaid Diagrams

Render flowcharts, sequence diagrams, ERDs from code blocks. Fullscreen, pan, zoom included.

📦

Static Export

Export to clean HTML for Firebase, Netlify, or GitHub Pages. Clean URLs, no .html extensions.

🐳

Docker Ready

Official Docker image on Docker Hub. Mount your docs folder and go.

docker pull ghcr.io/satoshiman/mdsvr:latest
🔒

Security Built-in

Path traversal protection, hidden file blocking, sensitive extension filtering. Read-only by design.

Not just a reader — a study companion

mdsvr grew beyond serving files. Quizzes test what you learned, math renders beautifully, and everything lives in plain Markdown you own.

📄Markdown folder
🌐Docs site
🎓Course + quizzes
📖EPUB ebook
quiz.md
```quiz
{
  "mode": "practice",
  "questions": [{
    "type": "single",
    "question": "Which command serves a docs folder?",
    "options": [
      "npm run docs",
      "npx mdsvr ./docs",
      "mkdocs serve"
    ],
    "answer": 1
  }]
}
```
Quick check practice 0/2

Which command serves a docs folder?

True or false: quizzes need a backend to grade.

math.md
The identity $e^{i\pi} + 1 = 0$
links five constants.

```math
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
```
Inline $...$, block $$...$$, or ```math fences — all LaTeX.

The identity links five constants.

Interactive docs out of the box

Drop these components directly into your Markdown files — no imports, no setup.

Note: Make sure you have Node.js 18+ installed.
1Install the package
2Create docs folder
3Run the server
npm install -g mdsvr
⚡Quick Start
⚙️Config
stable TypeScript v2.6.0

Skills that write, teach, and publish

Install the bundled agent skills and your AI assistant (Devin, Windsurf, Claude Code…) becomes a learning companion — generating doc sites, personalized courses, and ebooks on demand.

✍️

markdown-for-mdsvr

Turns any topic into a complete, multi-page doc site — correct mdsvr conventions, internal links, callouts, Mermaid, quizzes, and math baked in.

  • Multi-file doc sites, zero guesswork
  • Valid ```quiz & ```math blocks
  • Ready for serve & static export
View skill →
🎓

mdsvr-course-generator

Surveys the learner first — pace, depth, theory vs. practice — then generates a full course: lessons, labs, exercises, quizzes, and expert corners.

  • Personalized syllabus, not templates
  • Theory/practice ratio tuned to you
  • Cheatsheets & expert tips per lesson
View skill →
📚

mdsvr-to-epub

Packages any mdsvr doc set into a valid EPUB 3 ebook — cover, TOC, rendered Mermaid diagrams, math images, and quizzes as Q&A.

  • Pure Python — no pandoc or calibre
  • Mermaid & LaTeX rendered to images
  • Take your docs offline, anywhere
View skill →

On-page SEO, optimized like an expert did it

Every page ships the metadata a specialist would write by hand — generated automatically from your content, never invented.

✓
Smart titles & descriptions — title templates, per-page overrides, auto-extracted descriptions
✓
OG images, auto-generated — branded 1200×630 card per page, cached and incremental
✓
Open Graph + Twitter Cards — type, locale, image alt, summary_large_image
✓
JSON-LD structured data — Article, WebSite, BreadcrumbList on every page
✓
Canonical, sitemap, robots — deduplicated URLs, lastmod, noindex controls
✓
RSS + llms.txt — feed for readers, llms-full.txt for AI crawlers
<head> — generated per page
<title>Installation | My Docs</title>
<meta name="description"
      content="Install mdsvr in one command…">
<link rel="canonical"
      href="https://docs.example.com/install/">
<meta property="og:title" content="Installation">
<meta property="og:image"
      content="…/assets/og/install/index.jpg">
<meta name="twitter:card"
      content="summary_large_image">
<script type="application/ld+json">
  {"@type":"Article","headline":"Installation",…}
</script>

Why mdsvr wins on simplicity

Every alternative requires setup. mdsvr doesn't.

Feature mdsvr Docusaurus Nextra MkDocs Hugo
Setup ⚡ Zero config Config required Config required YAML config hugo.toml
Language TypeScript / Node Node + React Next.js Python Go
MDX Support ✓ Full ✓ Full ✓ Full ✗ No ✗ No
Dark Mode ✓ Built-in ✓ Built-in ✓ Built-in ✓ Built-in ✓ Built-in
Search ✓ Client-side Algolia API ✓ Client-side ✓ Built-in ✗ No
Mermaid ✓ Yes ✓ Yes ✓ Yes Plugin only ✓ Yes
Static Export ✓ Yes ✓ Yes ✓ Yes ✓ Yes ✓ Yes
Build Step ✗ Not needed Required Required Required Required
Docker ✓ Official image DIY DIY DIY DIY
Startup Time 150ms 8.5s build 6.2s build ~3s build ~1s build
Interactive Quizzes ✓ Built-in ✗ No ✗ No ✗ No ✗ No
LaTeX Math ✓ Built-in Plugin (remark-math) ✓ Built-in Plugin (Material) Shortcode DIY
OG Images ✓ Auto-generated Manual Manual Manual Manual
RSS + llms.txt ✓ Built-in Blog plugin only ✗ No Plugin RSS only
EPUB Export ✓ Via skill ✗ No ✗ No ✗ No ✗ No
AI Agent Skills ✓ Bundled ✗ No ✗ No ✗ No ✗ No

vs Docusaurus

npx create-docusaurus@latest my-docs classic
Then config, then build, then...
npx mdsvr ./docs

vs MkDocs

Requires Python, pip, virtual env — before you write a single line of docs.
Node.js only. Already installed if you're a JS developer.

From zero to docs in 10 seconds

01

Run without installing

$ npx mdsvr ./docs
02

Or install globally

$ npm install -g mdsvr
$ mdsvr ./docs
03

Optional: add settings

$ npx mdsvr ./docs --init
# Creates _mdsvr/settings.json — customize title, theme, SEO...
04

Export for static hosting

$ npx mdsvr ./docs --export
# Outputs to _html/public — deploy anywhere
05

Or use Docker

$ docker run -p 1800:1800 \
    -v /path/to/docs:/app/docs \
    ghcr.io/satoshiman/mdsvr:latest
📞
Why port 1800? Like a 1-800 toll-free hotline, port 1800 is your local documentation hotline — memorable, conflict-free, and always there when you need answers.

Lightweight by design

Other tools are built to be full frameworks. mdsvr is built to get out of your way.

  • ✓
    Fastest startup — 150ms vs 8s build time
  • ✓
    Zero learning curve — if you know Markdown, you know mdsvr
  • ✓
    No build pipeline — serve files directly, export when ready
  • ✓
    Full-featured anyway — search, SEO, MDX, themes, diagrams
Startup Time Comparison
mdsvr
150ms
Hugo
~1s
MkDocs
~3s
Nextra
6.2s
Docusaurus
8.5s
mdsvr is 56× faster than Docusaurus

Ready to simplify your docs?

No signup. No credit card. No configuration.
Just Markdown and one command.

npx mdsvr ./docs