File Converter MCP Server

by wowyuarm
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Enables conversion of Markdown documents to PDF with proper styling, supporting both file path-based and content-based conversion methods.

  • Leverages pandas library for Excel to CSV conversion functionality, allowing users to transform spreadsheet data to a more accessible format.

  • Utilizes multiple conversion libraries from PyPI including docx2pdf, pdf2docx, and pdfkit to enable a wide range of file format conversions.

Servidor MCP del convertidor de archivos

Chino tradicional | Inglés

Este servidor MCP ofrece múltiples herramientas de conversión de archivos para diversos formatos de documentos e imágenes. Este proyecto se basa en el Protocolo de Contexto de Modelo (MCP) y está diseñado para servir a agentes de IA que necesitan capacidades de conversión de archivos.

Características

  • DOCX a PDF : Convierte documentos de Microsoft Word a PDF
  • PDF a DOCX : Convierte documentos PDF a formato Microsoft Word
  • Conversión de formato de imagen : convierte entre varios formatos de imagen (JPG, PNG, WebP, etc.)
  • Excel a CSV : Convierte hojas de cálculo de Excel a formato CSV
  • HTML a PDF : Convierte archivos HTML a formato PDF
  • Markdown a PDF : Convierte documentos Markdown a PDF con el estilo adecuado
  • Conversión genérica : una herramienta versátil que intenta manejar varias conversiones de formato

Tecnologías

Instalación

  1. Clonar el repositorio
    git clone https://github.com/wowyuarm/file-converter-mcp.git cd file-converter-mcp
  2. Crear un entorno virtual (opcional pero recomendado)
    python -m venv venv source venv/bin/activate # On Unix-based systems venv\Scripts\activate # On Windows
  3. Instalar dependenciasInstale los paquetes necesarios usando pip:
    pip install mcp docx2pdf pdf2docx pillow pandas pdfkit markdown
    Alternativamente, si está utilizando uv :
    uv add "mcp[cli]" docx2pdf pdf2docx pillow pandas pdfkit markdown
    Nota: Algunas bibliotecas de conversión pueden tener dependencias adicionales del sistema. Consulte su documentación para obtener más información.

Uso

Ejecutar el servidor en modo de desarrollo

Para probar el servidor, ejecute:

mcp dev file_converter_server.py

Instalación para Claude Desktop

Opcionalmente, puedes instalar el servidor en Claude Desktop con:

mcp install file_converter_server.py --name "File Converter"

API / Herramientas

El servidor MCP expone las siguientes herramientas:

Herramientas basadas en rutas (también admiten entrada de contenido)

docx2pdf

Comando: docx2pdf

  • Opción de entrada 1 : Ruta a un archivo .docx
    input_file: path/to/document.docx
  • Opción de entrada 2 : Contenido codificado en Base64 del archivo DOCX
    file_content_base64: [base64 encoded string]
  • Salida : cadena codificada en Base64 del archivo PDF convertido
pdf2docx

Comando: pdf2docx

  • Opción de entrada 1 : Ruta a un archivo PDF
    input_file: path/to/document.pdf
  • Opción de entrada 2 : Contenido codificado en Base64 del archivo PDF
    file_content_base64: [base64 encoded string]
  • Salida : cadena codificada en Base64 del archivo DOCX convertido
convertir_imagen

Comando: convert_image

  • Opción de entrada 1 :
    input_file: path/to/image.png output_format: jpg
  • Opción de entrada 2 :
    file_content_base64: [base64 encoded string] input_format: png output_format: jpg
  • Salida : cadena codificada en Base64 de la imagen convertida
Excel a CSV

Comando: excel2csv

  • Entrada : Ruta a un archivo Excel (.xls o .xlsx)
  • Salida : cadena codificada en Base64 del archivo CSV convertido
html2pdf

Comando: html2pdf

  • Entrada : Ruta a un archivo HTML o Markdown (.html, .md, .markdown)
  • Salida : cadena codificada en Base64 del archivo PDF convertido
convert_file (Convertidor genérico)

Comando: convert_file

  • Opción de entrada 1 :
    input_file: path/to/file.docx input_format: docx output_format: pdf
  • Opción de entrada 2 :
    file_content_base64: [base64 encoded string] input_format: docx output_format: pdf
  • Salida : cadena codificada en Base64 del archivo convertido

Herramientas basadas en contenido (heredadas)

Se mantienen por motivos de compatibilidad con versiones anteriores. Todas las herramientas principales ahora admiten la entrada directa basada en contenido.

convert_content (Convertidor de contenido genérico)

Comando: convert_content

  • Aporte :
    • Contenido codificado en Base64 del archivo de entrada
    • Formato de origen (por ejemplo, "docx", "pdf", "md")
    • Formato de destino (por ejemplo, "pdf", "docx")
  • Salida : cadena codificada en Base64 del archivo convertido
contenido docx2pdf

Comando: docx2pdf_content

  • Entrada : contenido codificado en Base64 del archivo DOCX
  • Salida : cadena codificada en Base64 del archivo PDF convertido
contenido pdf2docx

Comando: pdf2docx_content

  • Entrada : contenido codificado en Base64 del archivo PDF
  • Salida : cadena codificada en Base64 del archivo DOCX convertido
contenido de markdown2pdf

Comando: markdown2pdf_content

  • Entrada : contenido codificado en Base64 del archivo Markdown
  • Salida : cadena codificada en Base64 del archivo PDF convertido

Manejo de archivos

El servidor incluye un manejo robusto de rutas de archivos que:

  • Utiliza una estrategia de búsqueda de múltiples etapas para encontrar archivos
  • Busca archivos cargados en ubicaciones comunes (directorios temporales, directorio actual)
  • Prueba múltiples variaciones de nombre de archivo (sin distinción entre mayúsculas y minúsculas, con o sin extensiones)
  • Proporciona registros detallados para ayudar a solucionar problemas de ubicación de archivos.
  • Funciona a la perfección con archivos cargados a través de la interfaz de chat de Claude
  • Admite rutas de archivos relativas y absolutas
  • Detecta automáticamente formatos de archivo cuando es posible

Entrada de modo dual

Todas las herramientas de conversión ahora admiten dos métodos de entrada:

  1. Conversión basada en rutas (enfoque tradicional)
    @File Converter docx2pdf input_file: file.docx
  2. Conversión basada en contenido (funciona incluso cuando falla la búsqueda de ruta)
    @File Converter docx2pdf file_content_base64: [base64 encoded string]

Este enfoque de modo dual proporciona máxima flexibilidad y confiabilidad:

  • En caso de duda, utilice información basada en contenido para garantizar el procesamiento.
  • Todos los archivos intermedios se crean con nombres únicos en directorios temporales
  • Los archivos temporales se limpian automáticamente después del procesamiento.

Manejo de cargas de archivos específicos de Claude

Al usar con Claude, si no se encuentra la carga de un archivo:

  1. Intente utilizar el nombre de archivo original con una ruta precedente:
    @File Converter docx2pdf input_file: /tmp/file.docx
  2. Si esto falla, obtenga el contenido del archivo directamente de Claude:
    @File Converter docx2pdf file_content_base64: [base64 content obtained from Claude]

Manejo de errores

  • Cada herramienta valida la existencia del archivo utilizando múltiples estrategias de búsqueda
  • Los mensajes de error detallados se devuelven en un formato JSON estructurado: {"success": false, "error": "error message"}
  • Las conversiones exitosas devuelven: {"success": true, "data": "base64 encoded file content"}
  • El servidor incluye un registro completo para la resolución de problemas.
  • El servidor maneja con elegancia las excepciones y devuelve mensajes de error informativos.

Contribuyendo

¡Las contribuciones son bienvenidas! Si desea contribuir, siga las pautas en CONTRIBUTING.md (中文版:贡献指南, inglés: Contributing Guidelines ).

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

Repositorio de GitHub

Visita el repositorio de GitHub en: https://github.com/wowyuarm/file-converter-mcp

-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor MCP que proporciona múltiples herramientas de conversión de archivos para agentes de IA y admite varios formatos de documentos e imágenes, incluidos DOCX a PDF, PDF a DOCX, conversiones de imágenes, Excel a CSV, HTML a PDF y Markdown a PDF.

  1. Features
    1. Technologies
      1. Installation
        1. Usage
          1. Running the Server in Development Mode
          2. Installing for Claude Desktop
          3. API / Tools
        2. File Handling
          1. Dual-Mode Input
          2. Handling Claude-Specific File Uploads
        3. Error Handling
          1. Contributing
            1. License
              1. GitHub Repository
                ID: hc9kebc64l