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 +
markdownifypara 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 arquivomax_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 convertermax_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 arquivosmax_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óriorecursive(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
| Formato | Extensão | Método |
|---|---|---|
.pdf | PyMuPDF (fitz) | |
| Word | .docx | python-docx |
| HTML | .html, .htm | markdownify |
| EPUB | .epub | ebooklib |
| CSV | .csv | pandas → tabela markdown |
| JSON | .json | Bloco de código markdown formatado |
| XML | .xml | xmltodict → markdown |
| Excel | .xlsx | openpyxl → tabela markdown |
| PowerPoint | .pptx | python-pptx → slides markdown |
| Texto | .txt, .md, .rst, .log | Passagem direta |
| Imagens | .png, .jpg | pytesseract OCR (se disponível) |
Suporte
Se esta ferramenta ajudar no seu fluxo de trabalho, considere apoiar o seu desenvolvimento:
- GitHub Sponsors: Patrocine via Liberapay
- ETH:
0xddD9f45e14c92846f47C1c1A4431aC2b41D87273
Licença
MIT