Back to MCP Servers

Md To Pdf

Convert Markdown files to professional PDFs with customizable themes, headers, footers, and styling

file-systems
By MarceauSolutions
82Updated 5 months agoPython

Installation

npx -y md-to-pdf-mcp

Configuration

{
  "mcpServers": {
    "md-to-pdf-mcp": {
      "command": "npx",
      "args": ["-y", "md-to-pdf-mcp"]
    }
  }
}

How to use

  1. Run the installation command above (if needed)
  2. Open your Claude Code settings file (~/.claude/settings.json)
  3. Add the configuration to the mcpServers section
  4. Restart Claude Code to apply changes

Markdown to PDF Converter

Convert markdown (.md) files into professional, interactive PDF documents with automatic table of contents.

mcp-name: io.github.wmarceau/md-to-pdf

Features

  • Automatic Table of Contents - Generated from markdown headers
  • Interactive Navigation - Clickable TOC links to sections
  • Professional Styling - Clean, readable PDF output
  • Code Block Support - Syntax highlighting preserved
  • Table Support - Markdown tables convert to PDF tables
  • Image Support - Embedded images in PDFs
  • Batch Conversion - Process multiple files at once
  • MCP Integration - Use as an MCP server for AI assistants

Use Cases

  • Convert documentation to shareable PDFs
  • Create professional reports from markdown
  • Generate user manuals with navigation
  • Archive markdown content in PDF format
  • Prepare presentations or handouts
  • AI-powered document generation workflows

Project Structure

md-to-pdf/
├── src/
│   ├── md_to_pdf.py          # Core conversion logic
│   └── convert.sh            # Wrapper script (sets library paths)
├── mcp-server/
│   └── md_to_pdf_mcp.py      # MCP server wrapper
├── registry/
│   └── manifest.json         # MCP Registry manifest
├── workflows/
│   └── convert-md-to-pdf.md  # Conversion workflow guide
├── testing/                  # Multi-agent test infrastructure
├── VERSION                   # Current version
├── CHANGELOG.md              # Version history
├── SKILL.md                  # MCP skill documentation
└── README.md                 # This file

Requirements

  • Python 3.8+
  • markdown2 (markdown parsing)
  • weasyprint (PDF generation)
  • pygments (code syntax highlighting)
  • mcp (MCP server - for MCP mode only)

macOS Additional Requirements

brew install pango cairo

Quick Start

CLI Usage

# Set library path (macOS)
export DYLD_LIBRARY_PATH=/opt/homebrew/lib:$DYLD_LIBRARY_PATH

# Convert single file
python src/md_to_pdf.py input.md output.pdf

# Using wrapper script
./src/convert.sh input.md output.pdf

# Batch convert
python src/md_to_pdf.py "docs/*.md" --output-dir pdfs/

# With custom styling
python src/md_to_pdf.py input.md output.pdf --css custom.css

# Without table of contents
python src/md_to_pdf.py input.md output.pdf --no-toc

MCP Server Usage

# Install MCP SDK
pip install mcp

# Run MCP server
python mcp-server/md_to_pdf_mcp.py

MCP Tools

ToolDescription
convert_markdown_to_pdfConvert markdown to PDF with optional TOC
extract_tocExtract table of contents structure
get_default_stylesGet default CSS for customization

See SKILL.md for detailed MCP tool documentation.

Version

Current version: 1.0.0

License

MIT License

View source on GitHub