Quick start Features Configuration Install Licensing GitHub Get started

gomddoc vs Docusaurus

Docusaurus is a React-based documentation framework maintained by Meta Open Source. It builds static sites with MDX, versioning, a blog and a translation workflow, and it is a strong fit for large open-source projects. gomddoc is a single Go binary that serves a folder of plain Markdown as a website and as an MCP endpoint, with no JavaScript toolchain involved.


At a glance

gomddoc Docusaurus
Runtime Single Go binary (about 30 MB) Node.js project with npm dependencies
Model HTTP server, plus gomddoc build for static output Static site generator (React)
Build before publishing Not needed with serve npm run build
Config file Optional (.gomddoc/config.yml) Required (docusaurus.config.js)
Content format CommonMark + GitHub Flavored Markdown MDX (Markdown with JSX), plain .md also supported
Interactive components None; Markdown stays portable React components in MDX
Serve a Git URL Built in, with #branch:subdir Files must be on disk
MCP server Built in: stdio and HTTP at /_mcp/ Not built in
Markdown via Accept header Built in Not built in
Search Server-side TF-IDF with tag: filters Algolia DocSearch integration or community plugins
Doc versioning One branch per server, chosen in the Git URL Built-in versioned docs
Multiple languages Language directories detected automatically Built-in i18n with translation workflow
Metrics and health checks Prometheus /metrics, /health/live, /health/ready Left to your hosting
Licence PolyForm Noncommercial 1.0.0 + commercial licence (per deployment) MIT

Docusaurus is free for any use. gomddoc is free for noncommercial use and needs a commercial licence for business use; see licensing.


Where gomddoc differs

One binary instead of a Node.js project

A Docusaurus site is a Node.js application: you scaffold it, install its dependencies, and build it before every deploy. gomddoc needs only its binary and your Markdown folder:

brew install monolithiclab/tap/gomddoc
gomddoc serve ./docs

There is no node_modules to keep patched and no build queue. Page edits show on the next request; new pages join the navigation and search index when the server restarts.

Plain Markdown you can take anywhere

MDX lets you embed React components, which is powerful and ties the content to the React toolchain. gomddoc reads standard CommonMark with GitHub Flavored Markdown extensions and GitHub-style admonitions, so the same files render sensibly on GitHub, in GitLab and in your editor. KaTeX math and Mermaid diagrams work out of the box.

Your docs are available to MCP clients

gomddoc includes an MCP server with six tools, four resources and three prompts. Clients can search, read a page or a single section, list pages, get a table of contents and find related pages. Local clients launch gomddoc mcp ./docs over stdio; remote clients connect to /_mcp/ on a running server.

Any page URL also answers in Markdown, with a generated frontmatter block holding the page's metadata, related pages and previous/next links:

curl -H "Accept: text/markdown" https://docs.example.com/api/auth

Search accepts tag: filters, such as tag:api tag:auth, in the search dialog, at /api/search and in the search_docs MCP tool.

Languages are directories

Create fr-FR/ or zh-Hans/ next to your default-language content and gomddoc serves it with per-language routes, search indexes, sitemaps, Atom feeds, tag pages, hreflang tags and a language switcher. Only the English UI strings ship with the binary; other languages need a .gomddoc/locales/<lang>.yml file translating up to 26 interface keys.


When Docusaurus is the better choice


Get started

curl -fsSL https://raw.githubusercontent.com/monolithiclab/gomddoc/main/scripts/install.sh | sh
gomddoc preview --open ./docs

The getting started guide covers Homebrew, Docker and the first configuration steps.