Metadata-Version: 2.4
Name: md-to-pdf-mcp
Version: 1.0.1
Summary: Convert markdown to professional PDFs with clickable table of contents. No API keys.
Project-URL: Homepage, https://github.com/MarceauSolutions/dev-sandbox/tree/main/projects/md-to-pdf
Project-URL: Repository, https://github.com/MarceauSolutions/dev-sandbox
Author-email: "William Marceau Jr." <william@marceausolutions.com>
License-Expression: MIT
Keywords: converter,document,markdown,mcp,pdf,toc
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.8
Requires-Dist: markdown2>=2.4.0
Requires-Dist: mcp>=1.0.0
Requires-Dist: pygments>=2.15.0
Requires-Dist: weasyprint>=60.0
Description-Content-Type: text/markdown

# 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

```bash
brew install pango cairo
```

## Quick Start

### CLI Usage

```bash
# 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

```bash
# Install MCP SDK
pip install mcp

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

## MCP Tools

| Tool | Description |
|------|-------------|
| `convert_markdown_to_pdf` | Convert markdown to PDF with optional TOC |
| `extract_toc` | Extract table of contents structure |
| `get_default_styles` | Get default CSS for customization |

See [SKILL.md](SKILL.md) for detailed MCP tool documentation.

## Version

Current version: 1.0.0

## License

MIT License
