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 +
markdownifypara 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 archivomax_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 convertirmax_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 archivosmax_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 directoriorecursive(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
| Formato | Extensión | Método |
|---|---|---|
.pdf | PyMuPDF (fitz) | |
| Word | .docx | python-docx |
| HTML | .html, .htm | markdownify |
| EPUB | .epub | ebooklib |
| CSV | .csv | pandas → tabla markdown |
| JSON | .json | Bloque de código markdown formateado |
| XML | .xml | xmltodict → markdown |
| Excel | .xlsx | openpyxl → tabla markdown |
| PowerPoint | .pptx | python-pptx → diapositivas markdown |
| Texto | .txt, .md, .rst, .log | Paso directo |
| Imágenes | .png, .jpg | pytesseract OCR (si está disponible) |
Soporte
Si esta herramienta ayuda en tu flujo de trabajo, considera apoyar su desarrollo:
- GitHub Sponsors: Patrocinar vía Liberapay
- ETH:
0xddD9f45e14c92846f47C1c1A4431aC2b41D87273
Licencia
MIT