MCP Server Convert

Servidor MCP de conversão de documentos — PDF, DOCX, HTML, EPUB para Markdown com 6 ferramentas e suporte a Docker

Documentação

mcp-server-convert

Um servidor leve de Model Context Protocol (MCP) que converte documentos para Markdown. Suporta arquivos PDF, DOCX, HTML, EPUB, CSV, JSON e texto simples.

Perfeito para agentes de IA que precisam ingerir e entender o conteúdo de documentos.

Recursos

  • 📄 Suporte a múltiplos formatos: PDF, DOCX, HTML, EPUB, CSV, JSON, imagens (via OCR) e texto simples
  • 🔧 6 ferramentas MCP: convert_file, convert_url, list_supported_formats, batch_convert, extract_metadata, convert_directory
  • 🐍 Zero dependências externas para o núcleo: Usa a biblioteca padrão do Python + markdownify para HTML
  • Rápido: Processamento em memória, sem arquivos temporários
  • 🐳 Pronto para Docker: Dockerfile único, deploy com um comando

Início Rápido

Instalação e Execução

# Clone
git clone https://github.com/demo112/mcp-server-convert.git
cd mcp-server-convert

# Install dependencies
pip install -r requirements.txt

# Run
python -m mcp_server_convert

Configurar no Claude Code

Adicione às suas configurações MCP (~/.claude/settings.json):

{
  "mcpServers": {
    "convert": {
      "command": "python",
      "args": ["-m", "mcp_server_convert"],
      "cwd": "/path/to/mcp-server-convert"
    }
  }
}

Docker

docker build -t mcp-server-convert .
docker run -i --rm mcp-server-convert

Configurar com Docker

{
  "mcpServers": {
    "convert": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-v", "/path/to/files:/data", "mcp-server-convert"]
    }
  }
}

Ferramentas

convert_file

Converte um arquivo local para Markdown.

Parâmetros:

  • file_path (string, obrigatório): Caminho absoluto para o arquivo
  • max_length (int, opcional): Comprimento máximo da saída em caracteres (padrão: 50000)

convert_url

Busca uma URL e converte seu conteúdo para Markdown.

Parâmetros:

  • url (string, obrigatório): URL para buscar e converter
  • max_length (int, opcional): Comprimento máximo da saída em caracteres (padrão: 50000)

batch_convert

Converte vários arquivos de uma vez.

Parâmetros:

  • file_paths (array de strings, obrigatório): Lista de caminhos de arquivos
  • max_length_per_file (int, opcional): Comprimento máximo por arquivo (padrão: 50000)

convert_directory

Converte todos os arquivos suportados em um diretório.

Parâmetros:

  • dir_path (string, obrigatório): Caminho para o diretório
  • recursive (bool, opcional): Incluir subdiretórios (padrão: true)
  • max_files (int, opcional): Número máximo de arquivos para converter (padrão: 20)

extract_metadata

Extrai metadados de um arquivo sem conversão completa.

Parâmetros:

  • file_path (string, obrigatório): Caminho para o arquivo

list_supported_formats

Lista todas as extensões de arquivo suportadas e seus métodos de conversão.

Formatos Suportados

FormatoExtensãoMétodo
PDF.pdfPyMuPDF (fitz)
Word.docxpython-docx
HTML.html, .htmmarkdownify
EPUB.epubebooklib
CSV.csvpandas → tabela markdown
JSON.jsonBloco de código markdown formatado
XML.xmlxmltodict → markdown
Excel.xlsxopenpyxl → tabela markdown
PowerPoint.pptxpython-pptx → slides markdown
Texto.txt, .md, .rst, .logPassagem direta
Imagens.png, .jpgpytesseract OCR (se disponível)

Suporte

Se esta ferramenta ajudar no seu fluxo de trabalho, considere apoiar o seu desenvolvimento:

Licença

MIT