MD-PDF MCP Server

Un servidor para convertir archivos Markdown a formato PDF. Requiere pandoc y weasyprint.

Documentación

Servidor MCP MD-PDF

Un servidor de Protocolo de Contexto de Modelo (MCP) para convertir entre formatos Markdown y PDF.

Requisitos del Sistema

Probado en:

  • macOS 14.3.0 (Darwin 23.3.0, ARM64)
  • Python 3.13.0
  • uv 0.7.13
  • pandoc 3.6.2

Características

  • Convertir contenido/archivos Markdown a PDF con opciones de tamaño (pequeño, mediano, grande)
  • Convertir archivos PDF a formato Markdown
  • Extraer texto de páginas específicas de PDF
  • Recuperar metadatos de PDF

Herramientas MCP

  1. convert_markdown_to_pdf(markdown_content, output_filename, size, pdf_engine)
  2. convert_markdown_file_to_pdf(markdown_file_path, output_filename, size, pdf_engine)
  3. convert_pdf_to_markdown(pdf_file_path, output_filename)
  4. extract_text_from_pdf(pdf_file_path, page_numbers)
  5. get_pdf_info(pdf_file_path)

Instalación

# Install dependencies
curl -LsSf https://astral.sh/uv/install.sh | sh
brew install pandoc weasyprint

# Setup project
uv sync

Ejecutar el Servidor

uv run python main.py

Integración MCP

Claude Desktop

{
  "mcpServers": {
    "md-pdf": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/md-pdf",
        "run",
        "main.py"
      ]
    }
  }
}

Cursor

Configurar MCP en la configuración de Cursor

{
  "servers": {
    "md-pdf": {
      "command": "uv",
      "args": ["run", "main.py"],
      "cwd": "/absolute/path/to/md-pdf"
    }
  }
}

Opciones de Tamaño

  • s: fuente de 8pt, márgenes de 0.35in (compacto)
  • m: fuente de 9pt, márgenes de 0.5in (estándar)
  • l: fuente de 11pt, márgenes de 1in (detallado)

Estructura del Proyecto

md-pdf/
├── data/           # Test files
├── tools/          # MCP tool definitions  
├── utils/          # Conversion utilities
├── main.py         # Server entry point
└── server.py       # MCP server instance