Provides tools to convert Markdown content into PDF documents with customizable paper formats and orientations
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP PDF Serverconvert my meeting notes to a landscape PDF"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.