MCP Server Convert

Servidor MCP de conversión de documentos — PDF, DOCX, HTML, EPUB a Markdown con 6 herramientas y soporte para Docker

Documentación

mcp-server-convert

Un servidor ligero de Model Context Protocol (MCP) que convierte documentos a Markdown. Soporta archivos PDF, DOCX, HTML, EPUB, CSV, JSON y texto plano.

Perfecto para agentes de IA que necesitan ingerir y comprender el contenido de documentos.

Características

  • 📄 Soporte multi-formato: PDF, DOCX, HTML, EPUB, CSV, JSON, imágenes (mediante OCR) y texto plano
  • 🔧 6 herramientas MCP: convert_file, convert_url, list_supported_formats, batch_convert, extract_metadata, convert_directory
  • 🐍 Cero dependencias externas para el núcleo: Usa la biblioteca estándar de Python + markdownify para HTML
  • Rápido: Procesamiento en memoria, sin archivos temporales
  • 🐳 Listo para Docker: Un solo Dockerfile, despliegue con un comando

Inicio Rápido

Instalar y Ejecutar

# 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 en Claude Code

Añade a tu configuración de 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 con Docker

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

Herramientas

convert_file

Convierte un archivo local a Markdown.

Parámetros:

  • file_path (cadena, obligatorio): Ruta absoluta al archivo
  • max_length (entero, opcional): Longitud máxima de salida en caracteres (por defecto: 50000)

convert_url

Obtiene una URL y convierte su contenido a Markdown.

Parámetros:

  • url (cadena, obligatorio): URL a obtener y convertir
  • max_length (entero, opcional): Longitud máxima de salida en caracteres (por defecto: 50000)

batch_convert

Convierte múltiples archivos a la vez.

Parámetros:

  • file_paths (matriz de cadenas, obligatorio): Lista de rutas de archivos
  • max_length_per_file (entero, opcional): Longitud máxima por archivo (por defecto: 50000)

convert_directory

Convierte todos los archivos compatibles en un directorio.

Parámetros:

  • dir_path (cadena, obligatorio): Ruta al directorio
  • recursive (booleano, opcional): Incluir subdirectorios (por defecto: true)
  • max_files (entero, opcional): Máximo de archivos a convertir (por defecto: 20)

extract_metadata

Extrae metadatos de un archivo sin conversión completa.

Parámetros:

  • file_path (cadena, obligatorio): Ruta al archivo

list_supported_formats

Lista todas las extensiones de archivo compatibles y sus métodos de conversión.

Formatos Compatibles

FormatoExtensiónMétodo
PDF.pdfPyMuPDF (fitz)
Word.docxpython-docx
HTML.html, .htmmarkdownify
EPUB.epubebooklib
CSV.csvpandas → tabla markdown
JSON.jsonBloque de código markdown formateado
XML.xmlxmltodict → markdown
Excel.xlsxopenpyxl → tabla markdown
PowerPoint.pptxpython-pptx → diapositivas markdown
Texto.txt, .md, .rst, .logPaso directo
Imágenes.png, .jpgpytesseract OCR (si está disponible)

Soporte

Si esta herramienta ayuda en tu flujo de trabajo, considera apoyar su desarrollo:

Licencia

MIT