Three ways to call marsdawn.
MarsDawn has no AI model of its own: it's built to review Markdown, not write it, so it doesn't matter which agent or model produced the file. There are three ways for an agent or a script to call marsdawn, and all three end up running the same export.
Pick whichever your tooling supports: the free marsdawn CLI, a plain-Markdown skill file, or the marsdawn-mcp MCP server. All three call the same marsdawn export and return the same JSON result.
Which one to use
| If your agent | Use | Needs |
|---|---|---|
| Can run a shell command | The CLI | macOS 15 or later |
| Loads instruction files, like Claude Code | The skill file | The CLI, which the skill installs |
| Calls tools over MCP | marsdawn-mcp | marsdawn-mcp 0.2.1 or later, marsdawn 0.5.0 or later, and Node.js 20 or later |
The CLI
marsdawn export notes.md --json is callable by any agent or script that can run a shell command, model-agnostic by construction. Every field it returns is documented at marsdawn for agents, which is the source of truth for the JSON schema the other two surfaces below point back to.
The skill file
For an agent that reads plain-Markdown instructions instead of calling a shell directly — Claude Code today — the marsdawn skill is one file that teaches it to install marsdawn, run export and read the result. It's plain Markdown, so other agents that load instruction files can use the same one.
The MCP server
marsdawn-mcp is a separate, public, Apache-2.0 repository. It's an MCP server with two tools, export_markdown_to_pdf and open_in_marsdawn, that wrap marsdawn export --json and marsdawn open --json: point an MCP client at it and a tool call returns the same JSON as the CLI.
- Get it: as an MCP Bundle,
marsdawn.mcpb, attached to its GitHub release, or by running the server from source over stdio. - Registry: listed in the MCP Registry as
dev.southern-light.mcp/marsdawn. - Hosting: self-hosted only. There is no hosted marsdawn-mcp service; the server runs on your own machine, next to marsdawn itself.
- Requirements: macOS, marsdawn 0.5.0 or later, and Node.js 20 or later to run the server.
Confined to folders you allow
Both tools only reach inside folders you allow: the extension's Allowed folders setting, which starts empty with no preset, or the roots your MCP client offers instead. With neither set, every call is refused, and the refusal message says how to fix that. Every path has to be absolute, and export_markdown_to_pdf only ever writes a .pdf file, never through a symlink.
Security: update to 0.2.1 — 0.1.0 and 0.2.0 let a call write a PDF to any path your account could write, fixed as GHSA-fqgj-hcxc-34qc.
Same export, three doors
Whichever surface calls it, the underlying behavior doesn't change: the same exporter, the same themes and paper sizes, the same diagramErrors when a Mermaid diagram fails to render. This page doesn't repeat that contract — marsdawn for agents does, in full.
Next
- The full JSON schema and every exit code: marsdawn for agents.
- The one-file skill for Claude Code and similar agents: the marsdawn skill.
- Why a compact JSON result matters to your agent's own context: token-efficient review.