Markdownify

Convierte varios tipos de archivos y contenido web, como PDFs, imágenes, audio y páginas web, al formato Markdown.

Documentación

Servidor MCP Markdownify

markdownify mcp logo

Markdownify es un servidor de Protocolo de Contexto de Modelo (MCP) que convierte varios tipos de archivos y contenido web al formato Markdown. Proporciona un conjunto de herramientas para transformar PDFs, imágenes, archivos de audio, páginas web y más en texto Markdown fácilmente legible y compartible.

Markdownify Server MCP server

Características

  • Convierte múltiples tipos de archivos a Markdown:
    • PDF
    • Imágenes
    • Audio (con transcripción)
    • DOCX
    • XLSX
    • PPTX
  • Convierte contenido web a Markdown:
    • Transcripciones de videos de YouTube
    • Resultados de búsqueda de Bing
    • Páginas web generales
  • Recupera archivos Markdown existentes

Primeros Pasos

  1. Clona este repositorio

  2. Instala las dependencias:

    bun install
    

    El paso preinstall crea un entorno virtual de Python en .venv e instala markitdown[all].

  3. Compila el proyecto:

    bun run build
    
  4. Inicia el servidor:

    bun start
    

Desarrollo

  • Usa bun run dev para iniciar el compilador de TypeScript en modo de observación
  • Modifica src/server.ts para personalizar el comportamiento del servidor
  • Agrega o modifica herramientas en src/tools.ts

Uso con Aplicación de Escritorio

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

{
  "mcpServers": {
    "markdownify": {
      "command": "node",
      "args": [
        "{ABSOLUTE PATH TO FILE HERE}/dist/index.js"
      ]
    }
  }
}

Variables de entorno

Todas las rutas tienen valores predeterminados sensatos; sobrescribe solo cuando los valores predeterminados no se ajusten a tu estructura de instalación.

VariablePredeterminadoPropósito
MARKITDOWN_PATH<project>/.venv/bin/markitdown, luego markitdown en PATHRuta absoluta al ejecutable markitdown. Establécelo cuando hayas instalado markitdown a nivel de sistema (por ejemplo, pipx install "markitdown[pdf]") en lugar de usar el venv incluido.
REPOMIX_PATH<project>/node_modules/.bin/repomix, luego repomix en PATHRuta absoluta al ejecutable repomix utilizado por git-repo-to-markdown.
MD_ALLOWED_PATHSsin establecer (sin restricciones)Lista separada por delimitadores de ruta (: en POSIX, ; en Windows) de directorios que el servidor puede leer. Cuando se establece, todas las herramientas de entrada de archivos (pdf-to-markdown, get-markdown-file, etc.) rechazan rutas fuera de estos directorios.
MD_SHARE_DIRsin establecerAlias obsoleto para MD_ALLOWED_PATHS (directorio único). Aún se respeta por compatibilidad con versiones anteriores.

Uso con Docker

Compila y ejecuta:

docker build -t markdownify-mcp .
docker run --rm -i \
  -v "$HOME/Documents:/data:ro" \
  -e MD_ALLOWED_PATHS=/data \
  markdownify-mcp

Notas para el catálogo MCP de Docker (mcp/markdownify):

  • Monta cualquier directorio del host que quieras que el servidor lea en el contenedor, luego pasa las rutas del contenedor a las herramientas (por ejemplo, /data/foo.pdf, no /Users/you/Documents/foo.pdf).
  • Establece MD_ALLOWED_PATHS a la lista separada por dos puntos de directorios montados para que el servidor aplique un límite de lectura que coincida con el montaje de enlace.
  • La imagen Docker publicada instala solo markitdown[pdf] — la transcripción de audio y el OCR de imágenes (audio-to-markdown, image-to-markdown) requieren los extras de [all] y fallarán en la imagen reducida. Usa la instalación local (bun install) para el conjunto completo de características.

Herramientas Disponibles

  • youtube-to-markdown: Convierte videos de YouTube a Markdown

  • pdf-to-markdown: Convierte archivos PDF a Markdown

  • bing-search-to-markdown: Convierte resultados de búsqueda de Bing a Markdown

  • webpage-to-markdown: Convierte páginas web a Markdown

  • image-to-markdown: Convierte imágenes a Markdown con metadatos

  • audio-to-markdown: Convierte archivos de audio a Markdown con transcripción

  • docx-to-markdown: Convierte archivos DOCX a Markdown

  • xlsx-to-markdown: Convierte archivos XLSX a Markdown

  • pptx-to-markdown: Convierte archivos PPTX a Markdown

  • get-markdown-file: Recupera un archivo Markdown existente. La extensión del archivo debe terminar en: *.md, *.markdown.

    OPCIONAL: establece MD_ALLOWED_PATHS para restringir cada herramienta de entrada de archivos a una lista de directorios, por ejemplo, MD_ALLOWED_PATHS=/data/in:/data/out bun start.

Contribuciones

¡Las contribuciones son bienvenidas! No dudes en enviar una Solicitud de Extracción (Pull Request).

Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENCIA para más detalles.