MD-PDF MCP Server

Um servidor para converter arquivos Markdown para o formato PDF. Requer pandoc e weasyprint.

Documentação

Servidor MCP MD-PDF

Um servidor Model Context Protocol (MCP) para conversão entre formatos Markdown e PDF.

Requisitos do Sistema

Testado em:

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

Recursos

  • Converter conteúdo/arquivos Markdown para PDF com opções de tamanho (pequeno, médio, grande)
  • Converter arquivos PDF para o formato Markdown
  • Extrair texto de páginas específicas do PDF
  • Recuperar metadados do PDF

Ferramentas 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)

Instalação

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

# Setup project
uv sync

Executando o Servidor

uv run python main.py

Integração MCP

Claude Desktop

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

Cursor

Configure o MCP nas configurações do Cursor

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

Opções de Tamanho

  • s: fonte 8pt, margens de 0,35in (compacto)
  • m: fonte 9pt, margens de 0,5in (padrão)
  • l: fonte 11pt, margens de 1in (detalhado)

Estrutura do Projeto

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