PDF Oxide MCP Server — extracción de PDF para asistentes de IA
pdf-oxide-mcp es un servidor Model Context Protocol que permite a los asistentes de IA leer el contenido de los PDFs. Se ejecuta en local — ningún archivo sale de tu equipo.
Instala crgx (una sola vez)
crgx es un runner tipo npx para binarios de Rust: descarga pdf_oxide_mcp automáticamente la primera vez que lo usas. No hace falta instalar nada de MCP a mano.
Linux / macOS
curl -fsSL crgx.dev/install.sh | sh
Windows (PowerShell)
irm crgx.dev/install.ps1 | iex
Configuración
Después de instalar crgx, agrega la configuración de abajo a tu herramienta de IA. Con eso basta — crgx se encarga solo de descargar y actualizar pdf_oxide_mcp.
Claude Desktop
Agrega el bloque a ~/.config/claude/claude_desktop_config.json (Linux) o ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"pdf-oxide": {
"command": "crgx",
"args": ["pdf_oxide_mcp@latest"]
}
}
}
Claude Code
Agrégalo en el .claude/settings.json de tu proyecto:
{
"mcpServers": {
"pdf-oxide": {
"command": "crgx",
"args": ["pdf_oxide_mcp@latest"]
}
}
}
Cursor
Agrégalo en la configuración MCP de Cursor:
{
"mcpServers": {
"pdf-oxide": {
"command": "crgx",
"args": ["pdf_oxide_mcp@latest"]
}
}
}
Otras opciones de instalación
Si prefieres no usar crgx, puedes instalar pdf_oxide_mcp directamente:
Homebrew (macOS / Linux)
brew install yfedoseev/tap/pdf-oxide # incluye pdf-oxide-mcp
Cargo
cargo install pdf_oxide_mcp
Después, apunta la configuración al binario directamente:
{
"mcpServers": {
"pdf-oxide": {
"command": "pdf-oxide-mcp"
}
}
}
Herramientas disponibles
extract
Extrae texto, Markdown o HTML desde un archivo PDF.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
file_path |
string | Sí | Ruta al archivo PDF |
output_path |
string | Sí | Ruta donde escribir el contenido extraído |
format |
string | No | "text" (por defecto), "markdown" o "html" |
pages |
string | No | Rango de páginas, p. ej. "1-3,7,10-12" |
password |
string | No | Contraseña para PDFs cifrados |
images |
boolean | No | Guarda las imágenes como archivos junto a la salida |
embed_images |
boolean | No | Incrusta las imágenes en base64 dentro de markdown/html (por defecto: true) |
Cómo funciona
El servidor MCP se comunica por stdio usando JSON-RPC 2.0. Cuando un asistente de IA necesita leer un PDF, envía una solicitud tools/call y recibe el contenido extraído de vuelta.
Todo el procesamiento ocurre en local con el mismo motor de extracción en Rust que usan la biblioteca y el CLI — no se envían datos a servicios externos.
Prompts que puedes darle al asistente
Una vez conectado el servidor MCP, el asistente invoca extract por su cuenta. Algunos prompts que funcionan bien:
- “Pasa el Markdown de
report.pdfareport.md.” - “Extrae las páginas 4–8 de
contract.pdfcomo HTML con imágenes incrustadas y guárdalo encontract.html.” - “
bank-statement.pdftiene contraseña (pw:hunter2) — extrae solo la tabla de transacciones como texto.”
Por debajo, el asistente lanza una llamada JSON-RPC como ésta:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "extract",
"arguments": {
"file_path": "/path/report.pdf",
"output_path": "/path/report.md",
"format": "markdown",
"pages": "4-8",
"images": true,
"embed_images": true
}
}
}
El servidor escribe el resultado en output_path y devuelve una confirmación breve — el asistente luego lee ese archivo para incorporarlo a su contexto.