Provides tools to convert Markdown content into PDF documents with customizable paper formats and orientations
MCP PDF Server
An MCP (Model Context Protocol) server exposing tools to render Markdown into PDF.
What’s included
MCP tools:
pdf_from_markdown(primary) andmd_to_pdf(alias).Accepts inline Markdown or a file path.
Options for paper format and orientation; sensible
output/defaults.
Prerequisites
Node.js 18+ recommended.
Install
Build
Run (stdio)
Configure in your MCP-compatible client by pointing to the compiled binary or npm start command.
MCP Tools
Tool ids:
pdf_from_markdown(primary) andmd_to_pdf(alias for discoverability)Purpose: Generate a PDF from Markdown.
Inputs:
markdown(string, optional): Inline Markdown content. If set,pathis ignored.path(string, optional): Absolute or relative path to a.mdfile. Ignored ifmarkdownis provided.outputPath(string, optional): Desired output PDF path. Defaults tooutput/<timestamp>.pdfand creates missing directories.paperFormat(string, optional):A4|Letter|Legal(default:A4).paperOrientation(string, optional):portrait|landscape(default:portrait).Provide exactly one of
markdownorpath. If both are set,markdowntakes precedence.
Output:
Returns a text message containing the absolute path to the created PDF.
Example (inline):
{ "tool": "md_to_pdf", "arguments": { "markdown": "# Hello\nThis will render to PDF.", "paperFormat": "A4" } }Example (file path):
{ "tool": "pdf_from_markdown", "arguments": { "path": "examples/sample.md", "outputPath": "output/sample.pdf", "paperOrientation": "landscape" } }
Tool Schema (compact)
Client configuration (example) If your MCP client supports JSON configuration for a stdio server, a minimal entry might look like:
Notes
Uses Playwright (Chromium) to render HTML from Markdown and print to PDF.
On first install, Playwright may download a browser. You can also point it to an existing Chrome/Chromium.
One‑liner with npx
After this package is published to npm, you can run the server directly:
npx -y md-2-pdf-mcp(runs themd-2-pdf-mcpbin)Or explicitly:
npx -y -p md-2-pdf-mcp mcp-pdfThe package defines
binentries and apostinstallthat installs Chromium.
From the local repo (without publishing):
npx --yes .This uses the
binin package.json and thepreparescript to build.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Enables conversion of Markdown content into PDF documents with customizable paper formats and orientations. Supports both inline Markdown text and file path inputs, automatically generating PDFs using Playwright and Chromium.