Markdown PDF转换器
STDIO将Markdown文档转换为PDF文件
将Markdown文档转换为PDF文件
An MCP server for converting Markdown documents to PDF files. This server provides a simple and efficient way to generate PDFs from Markdown content with support for syntax highlighting and custom styling. Also allows for watermarking on page 1.
Inspired by Alan Shaw's markdown-pdf.
The following markdown elements are not supported:
$x^2$
or $$\sum_{i=1}^n x_i$$
)Stick to these supported markdown elements:
# Clone the repository git clone https://github.com/2b3pro/markdown2pdf-mcp.git # Navigate to the project directory cd markdown2pdf-mcp # Install dependencies npm install # Build the project npm run build
npm start
The server provides a single tool create_pdf_from_markdown
with the following parameters:
{ // Required parameters markdown: string; // Markdown content to convert // Optional parameters with defaults outputFilename?: string; // Filename for the PDF (e.g., "output.pdf") paperFormat?: string; // 'letter' (default), 'a4', 'a3', 'a5', 'legal', 'tabloid' paperOrientation?: string; // 'portrait' (default), 'landscape' paperBorder?: string; // '2cm' (default), accepts decimal values with CSS units (e.g., '1.5cm', '2.5mm', '0.5in', '10.5px') watermark?: string; // Optional watermark text (max 15 characters, uppercase) }
Example with options:
await use_mcp_tool({ server_name: "markdown2pdf", tool_name: "create_pdf_from_markdown", arguments: { markdown: "# Hello World\n\nThis is a test document.", outputFilename: "output.pdf", paperFormat: "a4", paperOrientation: "landscape", paperBorder: "1.5cm", watermark: "DRAFT", }, });
Example minimal usage:
await use_mcp_tool({ server_name: "markdown2pdf", tool_name: "create_pdf_from_markdown", arguments: { markdown: "# Hello World\n\nThis is a test document.", outputFilename: "output.pdf", }, });
You can configure the output directory in your MCP settings file for apps that use MCP such as Cline or Claude. If not configured, it will save files to $HOME:
{ "mcpServers": { "markdown2pdf": { "command": "node", "args": ["path/to/markdown2pdf-mcp/build/index.js"], "env": { "M2P_OUTPUT_DIR": "/path/to/output/directory" } } } }
The tool automatically handles file name conflicts by appending incremental numbers (e.g., output.pdf, output-1.pdf, output-2.pdf).
This package uses Chrome v131.0.6778.204 for consistent PDF generation across all installations. This version is automatically installed when you run npm install
.
# Build the project npm run build # Start the server npm start
MIT
git checkout -b feature/amazing-feature
)git commit -m 'Add some amazing feature'
)git push origin feature/amazing-feature
)