Markdownify MCP Server - UTF-8 Enhanced

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Provides comprehensive conversion of various file formats to Markdown, preserving formatting and structure in the conversion process

  • Converts YouTube videos to Markdown format, including extraction of video transcripts when available

Servidor MCP de Markdownify: UTF-8 mejorado

Esta es una versión mejorada del proyecto Markdownify MCP original , con soporte de codificación UTF-8 mejorado y manejo optimizado de contenido multilingüe.

Lengua china

Mejoras

  • Se agregó soporte integral para codificación UTF-8
  • Manejo optimizado de contenido multilingüe
  • Se solucionaron problemas de codificación en sistemas Windows
  • Mecanismos mejorados de gestión de errores

Diferencias clave con el proyecto original

  1. Soporte de codificación mejorado:
    • Compatibilidad total con UTF-8 en todas las operaciones
    • Manejo adecuado de caracteres chinos, japoneses, coreanos y otros caracteres no ASCII
    • Se solucionaron problemas de codificación específicos de Windows (compatibilidad con cmd.exe y PowerShell)
  2. Manejo de errores mejorado:
    • Mensajes de error detallados tanto en inglés como en chino
    • Mejor manejo de excepciones para problemas de red
    • Mecanismos de respaldo elegantes para fallos de conversión
  3. Funcionalidad extendida:
    • Se agregó soporte para el procesamiento por lotes de múltiples archivos
    • Manejo mejorado de transcripciones de videos de YouTube
    • Extracción de metadatos mejorada de varios formatos de archivo
    • Mejor conservación del formato del documento
  4. Optimizaciones de rendimiento:
    • Uso de memoria optimizado para conversiones de archivos grandes
    • Procesamiento más rápido de contenido multilingüe
    • Reducción de los conflictos de dependencia
  5. Mejor experiencia de desarrollo:
    • Opciones de depuración integrales
    • Sistema de registro detallado
    • Soporte de configuración específica del entorno
    • Documentación clara tanto en inglés como en chino

Características

Admite la conversión de varios tipos de archivos a Markdown:

  • Archivos PDF
  • Imágenes (con metadatos)
  • Audio (con transcripción)
  • Documentos de Word (DOCX)
  • Hojas de cálculo de Excel (XLSX)
  • Presentaciones de PowerPoint (PPTX)
  • Contenido web:
    • Transcripciones de vídeos de YouTube
    • Resultados de la búsqueda
    • Páginas web generales
  • Archivos Markdown existentes

Inicio rápido

  1. Clonar este repositorio:
    git clone https://github.com/JDJR2024/markdownify-mcp-utf8.git cd markdownify-mcp-utf8
  2. Instalar dependencias:
    pnpm install
    Nota: Esto también instalará uv y las dependencias de Python relacionadas.
  3. Construir el proyecto:
    pnpm run build
  4. Iniciar el servidor:
    pnpm start

Requisitos

  • Node.js 16.0 o superior
  • Python 3.8 o superior
  • gestor de paquetes pnpm
  • Git

Guía de instalación detallada

1. Configuración del entorno

  1. Instalar Node.js:
  2. Instalar pnpm:
    npm install -g pnpm pnpm --version
  3. Instalar Python:
    • Descargar desde el sitio web oficial de Python
    • Asegúrese de que Python se agregue a PATH durante la instalación
    • Verificar la instalación: python --version
  4. (Solo Windows) Configurar la compatibilidad con UTF-8:
    # Set system-wide UTF-8 setx PYTHONIOENCODING UTF-8 # Set current session UTF-8 set PYTHONIOENCODING=UTF-8 # Enable UTF-8 in command prompt chcp 65001

2. Configuración del proyecto

  1. Clonar el repositorio:
    git clone https://github.com/JDJR2024/markdownify-mcp-utf8.git cd markdownify-mcp-utf8
  2. Crear y activar el entorno virtual de Python:
    # Windows python -m venv .venv .venv\Scripts\activate # Linux/macOS python3 -m venv .venv source .venv/bin/activate
  3. Instalar dependencias del proyecto:
    # Install Node.js dependencies pnpm install # Install Python dependencies (will be handled by setup.sh) ./setup.sh
  4. Construir el proyecto:
    pnpm run build

3. Verificación

  1. Iniciar el servidor:
    pnpm start
  2. Pruebe la instalación:
    # Convert a web page python convert_utf8.py "https://example.com" # Convert a local file python convert_utf8.py "path/to/your/file.docx"

Guía de uso

Uso básico

  1. Conversión de páginas web:
    python convert_utf8.py "https://example.com"
    El Markdown convertido se guardará como converted_result.md
  2. Conversión de archivos locales:
    # Convert DOCX python convert_utf8.py "document.docx" # Convert PDF python convert_utf8.py "document.pdf" # Convert PowerPoint python convert_utf8.py "presentation.pptx" # Convert Excel python convert_utf8.py "spreadsheet.xlsx"
  3. Conversión de vídeos de YouTube:
    python convert_utf8.py "https://www.youtube.com/watch?v=VIDEO_ID"

Uso avanzado

  1. Variables de entorno:
    # Set custom UV path export UV_PATH="/custom/path/to/uv" # Set custom output directory export MARKDOWN_OUTPUT_DIR="/custom/output/path"
  2. Procesamiento por lotes: cree un archivo por lotes (por ejemplo, convert_batch.txt ) con URL o rutas de archivo:
    https://example1.com https://example2.com file1.docx file2.pdf
    Luego ejecuta:
    while read -r line; do python convert_utf8.py "$line"; done < convert_batch.txt

Solución de problemas

  1. Problemas comunes:
    • Si ve errores de codificación, asegúrese de que UTF-8 esté configurado correctamente
    • Para problemas de permisos en Windows, ejecute como Administrador
    • Para problemas de ruta de Python, asegúrese de que el entorno virtual esté activado
  2. Depuración:
    # Enable debug output export DEBUG=true python convert_utf8.py "your_file.docx"

Uso

Línea de comandos

Convertir página web a Markdown:

python convert_utf8.py "https://example.com"

Convertir archivo local:

python convert_utf8.py "path/to/your/file.docx"

Integración de aplicaciones de escritorio

Para integrar este servidor con una aplicación de escritorio, agregue lo siguiente a la configuración del servidor de su aplicación:

{ "mcpServers": { "markdownify": { "command": "node", "args": [ "{ABSOLUTE_PATH}/dist/index.js" ], "env": { "UV_PATH": "/path/to/uv" } } } }

Solución de problemas

  1. Problemas de codificación
    • Si encuentra problemas de codificación de caracteres, asegúrese de que la variable de entorno PYTHONIOENCODING esté configurada en utf-8
    • Es posible que los usuarios de Windows deban ejecutar chcp 65001 para habilitar la compatibilidad con UTF-8
  2. Problemas de permisos
    • Asegúrese de tener suficientes permisos de lectura y escritura de archivos
    • En Windows, es posible que deba ejecutarlo como administrador

Expresiones de gratitud

Este proyecto se basa en la obra original de Zach Cáceres. Agradecemos al autor original su excelente contribución.

Licencia

Este proyecto sigue bajo la licencia MIT. Consulte el archivo de licencia para más detalles.

Contribuyendo

¡Agradecemos sus contribuciones! Antes de enviar una solicitud de incorporación de cambios, por favor:

  1. Asegúrese de que su código siga los estándares de codificación del proyecto
  2. Agregue pruebas y documentación necesarias
  3. Actualizar las secciones relevantes en el README

Contacto

Para problemas o sugerencias:

  1. Enviar un problema: https://github.com/JDJR2024/markdownify-mcp-utf8/issues
  2. Crear una solicitud de extracción: https://github.com/JDJR2024/markdownify-mcp-utf8/pulls
  3. Correo electrónico: jdidndosmmxmx@gmail.com
ID: 51hyoj300s