
MD-PDF MCP Server
โ 1from kareemaly
A server for converting Markdown files to PDF format. Requires pandoc and weasyprint.
๐ฅ๐ฅ๐ฅโ VerifiedFreeNeeds API keys
MD-PDF MCP Server
A Model Context Protocol (MCP) server for converting between Markdown and PDF formats.
Features
- Convert Markdown content/files to PDF with size options (small, medium, large)
- Convert PDF files to Markdown format
- Extract text from specific PDF pages
- Retrieve PDF metadata
MCP Tools
convert_markdown_to_pdf(markdown_content, output_filename, size, pdf_engine)convert_markdown_file_to_pdf(markdown_file_path, output_filename, size, pdf_engine)convert_pdf_to_markdown(pdf_file_path, output_filename)extract_text_from_pdf(pdf_file_path, page_numbers)get_pdf_info(pdf_file_path)
MCP Integration
Claude Desktop
{
"mcpServers": {
"md-pdf": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/md-pdf",
"run",
"main.py"
]
}
}
}Cursor
Configure MCP in Cursor settings
{
"servers": {
"md-pdf": {
"command": "uv",
"args": ["run", "main.py"],
"cwd": "/absolute/path/to/md-pdf"
}
}
}Size Options
s: 8pt font, 0.35in margins (compact)m: 9pt font, 0.5in margins (standard)l: 11pt font, 1in margins (detailed)
Project Structure
md-pdf/
โโโ data/ # Test files
โโโ tools/ # MCP tool definitions
โโโ utils/ # Conversion utilities
โโโ main.py # Server entry point
โโโ server.py # MCP server instanceCopy & paste โ that's it
# Install dependencies
curl -LsSf https://astral.sh/uv/install.sh | sh
brew install pandoc weasyprint
# Setup project
uv syncSystem Requirements
Tested on:
- macOS 14.3.0 (Darwin 23.3.0, ARM64)
- Python 3.13.0
- uv 0.7.13
- pandoc 3.6.2
Installation
# Install dependencies
curl -LsSf https://astral.sh/uv/install.sh | sh
brew install pandoc weasyprint
# Setup project
uv syncRunning the Server
uv run python main.pyNo common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.