MarkItDown es la herramienta de Microsoft que convierte PDF, Word, Excel, PowerPoint y más a Markdown limpio. Úsalo desde Claude Code con un entorno virtual de Python, o instálalo como servidor MCP en Claude Desktop — en lugar de que Claude "vea" tus archivos como imágenes, los lee como texto plano.
Cuando subes un PDF directo a Claude, cada página se procesa como imagen + texto extraído —
más lento y más caro. Si conviertes ese mismo archivo a .md
antes de pasarlo, Claude lo lee como texto plano puro.
| Formato | Cómo lo procesa Claude | Tokens estimados |
|---|---|---|
| PDF (21 págs) | Cada página se convierte en imagen + texto extraído — en la práctica ronda 2,300–3,000 tokens/página combinados | ~48,000–63,000 |
| Markdown (.md) | Solo texto plano, sin overhead de imagen | ~7,000–8,500 |
.md consume aproximadamente 7 a 8 veces menos tokens que el PDF cada vez que lo usas como contexto — y Claude ya no necesita "ver" cada página como imagen.
| Fase | Herramienta | Rol |
|---|---|---|
| Fase 1 | Terminal (git + venv) | Clona el repo de MarkItDown y crea un entorno virtual de Python |
| Fase 2 | Claude Code | Activa el entorno y convierte tus archivos cuando se lo pides |
| Alternativa | Claude Desktop (MCP) | Instálalo como servidor MCP si prefieres la app de escritorio en vez de Claude Code |
MarkItDown es una librería de Python de Microsoft. Se instala clonando el repo y creando un entorno virtual (venv) donde vive de forma aislada, sin tocar tu Python del sistema.
# 1. Clona el repositorio git clone https://github.com/microsoft/markitdown.git cd markitdown # 2. Crea el entorno virtual python3 -m venv .venv source .venv/bin/activate # 3. Instala MarkItDown en modo editable pip install -e 'packages/markitdown[all]'
~/Developer o ~/proyectos) y usa esa ruta al darle acceso a Claude.
source .venv/bin/activate desde la carpeta del repo.
Activa el entorno virtual de MarkItDown en [ruta a tu carpeta]/markitdown y úsalo para convertir [archivo.pdf] a Markdown.
.md resultante como referencia permanente del documento. Cada vez que lo vuelvas a usar como contexto, pagas 7–8 veces menos tokens que si subieras el PDF original de nuevo.
Después de convertir tu archivo, pídele a Claude que compare el peso en tokens del PDF original contra el Markdown resultante, para que veas el ahorro real en tu caso.
Dame el peso en tokens del archivo PDF (si Claude lo tuviera que procesar como imagen, página por página) comparado con el archivo Markdown que acabas de generar, y calcula cuántas veces menos tokens vas a usar cada vez que uses el .md como contexto en vez del PDF.
En Claude Desktop, MarkItDown se conecta distinto: como servidor MCP, usando el paquete oficial markitdown-mcp. Aquí no activas un venv a mano — Claude Desktop lo ejecuta por ti a través de uv.
# Opción 1 — script oficial curl -LsSf https://astral.sh/uv/install.sh | sh # Opción 2 — Homebrew brew install uv
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Agrega el servidor MCP "markitdown" a mi configuración de Claude Desktop (claude_desktop_config.json — en macOS está en ~/Library/Application Support/Claude/, en Windows en %APPDATA%\Claude\). Debe usar command "uvx" y args ["markitdown-mcp"]. Si el archivo no existe, créalo; si ya tiene otros servidores dentro de mcpServers, no los borres, solo agrega esta entrada.
mcpServers — Claude Code lo agrega automáticamente, esto es solo para que verifiques el resultado:
{
"mcpServers": {
"markitdown": {
"command": "uvx",
"args": ["markitdown-mcp"]
}
}
}
uvx esté en el PATH que usa la app de escritorio — en macOS a veces hace falta apuntar al binario completo, por ejemplo /Users/tuusuario/.local/bin/uvx en vez de solo uvx.
uv/uvx y MCP porque es el mecanismo que usa Claude Desktop para conectar herramientas externas, mientras que Claude Code activa el entorno virtual directo desde la terminal.