Skip to main content
Glama
yazkyChristianNicolas

pdf-to-md-mcp-server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PDF2MD_OCR_DPINoDPI used when rendering a page for OCR. Default is 200.200
PDF2MD_OCR_LANGNoLanguages for Tesseract OCR (ISO 639-2 codes separated by '+'). Default is 'spa+eng'.spa+eng
PDF2MD_MIN_CHARS_PER_PAGENoThreshold of extractable characters below which a page is reported as scanned in ocr_pages (informational only, does not trigger or prevent OCR). Default is 20.20

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
convert_pdf_to_markdownA

Convierte un PDF a un archivo Markdown (.md).

Extrae texto y estructura (headers, listas, tablas simples) pagina por pagina. Las imagenes/diagramas incrustados se guardan en una carpeta aparte y se referencian desde el .md. Las paginas sin texto seleccionable (escaneos) se procesan con OCR (Tesseract) como fallback automatico.

El .md generado arranca con un frontmatter YAML (title, author/ subject/keywords si el PDF los trae, pages, ocr_pages, converted_at) que resume de que trata el documento, y cada pagina queda delimitada por un comentario <!-- pdf-page: N --> (N 1-indexado) para poder ubicar cualquier seccion en su pagina de origen del PDF.

Args: pdf_path: Ruta al archivo .pdf a convertir output_dir: Carpeta donde escribir el .md y las imagenes (default: la misma carpeta del PDF de entrada) ocr_lang: Idioma(s) para Tesseract, formato ISO 639-2 separados por '+' (ej: "spa+eng"). Default: configurado en el server (PDF2MD_OCR_LANG, "spa+eng" si no esta seteado)

Returns: dict con markdown_path (ruta del .md generado), images_dir (carpeta de imagenes extraidas, o None si no hubo ninguna), page_count y ocr_pages (numeros de pagina, 1-indexados, que se procesaron con OCR por no tener texto extraible)

convert_pdf_directoryA

Convierte todos los PDF de una carpeta a archivos Markdown.

Aplica la misma logica que convert_pdf_to_markdown a cada PDF encontrado. Si un archivo puntual falla, se registra en errors y se sigue con el resto (no corta el lote entero).

Args: input_dir: Carpeta con los PDF a convertir output_dir: Carpeta base de salida (default: junto a cada PDF de origen). Si recursive=True, se replica la subcarpeta relativa de cada PDF dentro de output_dir recursive: Si busca PDFs en subcarpetas tambien (default: True) ocr_lang: Idioma(s) para Tesseract (ver convert_pdf_to_markdown)

Returns: dict con converted (lista de resultados por PDF, mismo shape que convert_pdf_to_markdown), errors (lista de {pdf, error}) y total_found (cantidad de PDFs encontrados)

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.6/5.0

Scored across 2 tools

Disambiguation5/5

The two tools are clearly distinct: one converts a single PDF, the other batch-converts all PDFs in a directory. Descriptions reinforce the boundary with separate parameters and return shapes, so there is no realistic confusion.

Naming Consistency4/5

Both tools share the convert_pdf_ prefix and are readable. The second name is slightly less parallel because it omits the explicit _to_markdown target, but the pattern is still predictable and clear.

Tool Count4/5

With only two tools, the server is minimal but justified for a single-purpose PDF-to-Markdown converter. Each tool earns its place by covering both single-file and batch workflows, so the count is reasonable if slightly on the thin side.

Completeness5/5

The tool surface fully covers the server's stated purpose: individual conversion, directory batch conversion, recursive traversal, OCR fallback, and error handling. There are no obvious dead ends or missing operations that would block the intended workflow.

Maintenance

ActivityMaintained
ResponsivenessNo issues