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
- You want interactive components in your docs: live code editors, tabs driven by React state, custom widgets.
- You publish several versions of your docs side by side (v1, v2, v3) from one site.
- You run a real translation workflow and want tooling for it rather than hand-written locale files.
- You want a blog built with the same framework as your docs.
- Your team already works in React and wants to customize the site in React.
- You publish to a static host and want search to work there. gomddoc's
buildoutput has no search backend, content negotiation, MCP endpoint or metrics, because those need the server. - You need a permissive licence for commercial use at no cost. Docusaurus is MIT.
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.