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 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.
Características
- Convierte múltiples tipos de archivos a Markdown:
- 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
-
Clona este repositorio
-
Instala las dependencias:
bun installEl paso
preinstallcrea un entorno virtual de Python en.venve instalamarkitdown[all]. -
Compila el proyecto:
bun run build -
Inicia el servidor:
bun start
Desarrollo
- Usa
bun run devpara iniciar el compilador de TypeScript en modo de observación - Modifica
src/server.tspara 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.
| Variable | Predeterminado | Propósito |
|---|---|---|
MARKITDOWN_PATH | <project>/.venv/bin/markitdown, luego markitdown en PATH | Ruta 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 PATH | Ruta absoluta al ejecutable repomix utilizado por git-repo-to-markdown. |
MD_ALLOWED_PATHS | sin 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_DIR | sin establecer | Alias 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_PATHSa 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_PATHSpara 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.