mdserve
NewSummary
mdserve is a zero-configuration Markdown preview server designed for AI coding agents.
- It renders markdown files live in the browser with instant reload via WebSocket, enabling agents to write and humans to read in real time without terminal clutter.
Overview
Markdown preview server for AI coding agents.
Follow along as your AI agent writes markdown, rendered live in the browser instead of raw text in the terminal.
!Terminal output when starting mdserve
Features
Zero config. mdserve file.md just works. No config files, no flags required, no setup steps.
Single binary. One statically-compiled executable. Install it and forget about it. No runtime dependencies to manage.
Instant live reload. File changes appear in the browser immediately via WebSocket. This is the core interaction: an agent writes, a human reads.
Ephemeral sessions. Start it during a coding session, kill it when you're done. mdserve is not a long-running server and doesn't need to be.
Agent-friendly content. Full GFM support (tables, task lists, code blocks), Mermaid diagrams, and directory mode with sidebar navigation - the kinds of content AI coding agents actually produce.
What mdserve is not
- •Not a documentation site generator. Use mdBook, Docusaurus, or MkDocs
for that.
- •Not a static site server or something you deploy to production.
- •Not a general-purpose markdown authoring tool with heavy customization
for manual writing workflows.
Installation
macOS (Homebrew)
brew install mdserveLinux
curl -sSfL https://raw.githubusercontent.com/jfernandez/mdserve/main/install.sh | bashThis will automatically detect your platform and install the latest binary to your system.
Alternative Methods
cargo install mdservesudo pacman -S mdservenix profile install github:jfernandez/mdservegit clone https://github.com/jfernandez/mdserve.git
cd mdserve
cargo build --release
cp target/release/mdserve <folder in your PATH>Download the appropriate binary for your platform from the latest release.
Claude Code Plugin
mdserve includes a Claude Code plugin that teaches the agent when and how to launch markdown previews during coding sessions. With the plugin installed, Claude Code will automatically serve markdown files when the content benefits from rendered presentation (tables, diagrams, long documents) and skip the preview for short responses that read fine in the terminal.
Install the plugin
In Claude Code, run:
/plugin install mdserve@mdserveThis installs to user scope by default (available across all projects). To install at a different scope:
/plugin install mdserve@mdserve --scope project # for all collaborators
/plugin install mdserve@mdserve --scope local # for yourself in this repoNote: The
mdservebinary must also be installed on your system (seeInstallation above).
Usage
Basic Usage
# Serve a single markdown file on default port (3000)
mdserve README.md
# Serve all markdown files in a directory
mdserve docs/
# Serve on custom port
mdserve README.md --port 8080
mdserve docs/ -p 8080
# Serve on custom hostname and port
mdserve README.md --hostname 0.0.0.0 --port 8080
# Open in browser automatically
mdserve README.md --openSingle-File vs Directory Mode
Single-File Mode: When you pass a file path, mdserve serves that specific markdown file with a clean, focused view.
Directory Mode: When you pass a directory path, mdserve automatically:
- •Scans and serves all
.mdand.markdownfiles in that directory - •Displays a navigation sidebar for easy switching between files
- •Watches for new markdown files added to the directory
- •Only monitors the immediate directory (non-recursive)
Themes
Five built-in themes (light, dark, and Catppuccin variants) accessible from the theme picker in the top-right corner. Your choice persists across sessions.
!mdserve with Catppuccin Macchiato theme
Documentation
For detailed information about mdserve's internal architecture, design decisions, and how it works under the hood, see Architecture Documentation.
Development
Prerequisites
- •Rust 1.85+ (2024 edition)
Building
cargo build --releaseRunning Tests
# Run all tests
cargo test
# Run integration tests only
cargo test --test integration_testContributing
Contributions should enhance the agent-companion workflow. The best PRs improve rendering of content that agents produce (code blocks, diagrams, tables, math), make live reload more robust, or refine the zero-config experience. Features that push mdserve toward being a documentation platform or a configurable server are out of scope.
We use conventional commits (feat:, fix:, chore:, etc.). All commits are automatically validated against this format in CI. See CONTRIBUTING.md for details.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- •Built with Axum web framework
- •Markdown parsing by markdown-rs
- •Catppuccin color themes
- •Inspired by various markdown preview tools
Install & Usage
/plugin marketplace add <org/repo>Add the configuration to /plugin install mdserve@<marketplace>
/pluginUse Cases
Usage Examples
/mdserve README.md
Start a markdown preview server for the file docs/guide.md so I can see it rendered live.
/mdserve --dir ./docs
Security Audits
Frequently Asked Questions
What is mdserve?
mdserve is a zero-configuration Markdown preview server designed for AI coding agents. It renders markdown files live in the browser with instant reload via WebSocket, enabling agents to write and humans to read in real time without terminal clutter.
How to install mdserve?
To install mdserve: add a marketplace (/plugin marketplace add <org/repo>), then add the config to /plugin install mdserve@<marketplace>. Finally, /plugin in Claude Code.
What is mdserve best for?
mdserve is a plugin categorized under General. Created by Jose Fernandez.
What can I use mdserve for?
mdserve is useful for: Preview a markdown file as you write it in Claude Code, seeing rendered output update instantly in the browser.; Share a live preview of documentation or notes with a colleague during a pair programming session.; Quickly render and review GFM content like tables, task lists, and code blocks generated by an AI agent.; View Mermaid diagrams embedded in markdown without needing a separate diagram tool.; Navigate multiple markdown files in a directory using the built-in sidebar for easy browsing.; Spin up an ephemeral preview server during a coding session and kill it when done, with no setup or cleanup..