Skip to main content
Glama
jayluxferro

pdf-inspector-mcp

by jayluxferro

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

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
process_pdfA

Full PDF processing: detect type, extract text, and convert to Markdown.

Args: path: Absolute path to a PDF file on the local filesystem. data: Base64-encoded PDF bytes. pages: Optional list of 0-indexed page numbers to process.

detect_pdfA

Fast PDF detection: returns type, page count, and pages needing OCR.

Use this for quick classification without full text extraction.

Args: path: Absolute path to a PDF file on the local filesystem. data: Base64-encoded PDF bytes.

classify_pdfA

Lightweight PDF classification: type, page count, OCR pages, confidence.

Faster than detect_pdf — returns a PdfClassification without full analysis.

Args: path: Absolute path to a PDF file on the local filesystem. data: Base64-encoded PDF bytes.

extract_textB

Extract plain text from a PDF file.

Args: path: Absolute path to a PDF file on the local filesystem. data: Base64-encoded PDF bytes.

extract_text_with_positionsA

Extract text items with position, font, and style metadata.

Returns a list of TextItem objects each with: text, x, y, width, height, font, font_size, page, is_bold, is_italic, is_underline, is_strikeout, item_type.

Args: path: Absolute path to a PDF file on the local filesystem. data: Base64-encoded PDF bytes. pages: Optional list of 0-indexed page numbers to extract.

extract_text_in_regionsB

Extract text from specific bounding-box regions on pages.

Args: path: Absolute path to a PDF file on the local filesystem. data: Base64-encoded PDF bytes. page_regions: List of {"page": int, "regions": [{"x": float, "y": float, "width": float, "height": float}, ...]} dicts.

extract_pages_markdownA

Extract per-page Markdown with layout metadata.

Returns page-by-page Markdown along with tables, columns, and OCR info. Pages are 0-indexed; returned page numbers are 1-indexed.

Args: path: Absolute path to a PDF file on the local filesystem. data: Base64-encoded PDF bytes. pages: Optional list of 0-indexed page numbers to extract.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 7 tools

Disambiguation2/5

detect_pdf and classify_pdf are nearly identical, both returning type, page count, and OCR pages, with only minor differences in speed/confidence. process_pdf also overlaps with all extraction tools, making tool boundaries unclear.

Naming Consistency5/5

All tools follow a consistent verb_noun snake_case pattern (e.g., process_pdf, extract_text, extract_pages_markdown). No mixed conventions or vague verbs.

Tool Count4/5

Seven tools is within a reasonable range, but the redundancy between detect_pdf and classify_pdf suggests the count could be trimmed. Still, it does not feel overwhelming.

Completeness4/5

The set covers detection, classification, plain text extraction, positioned text extraction, region-based extraction, and markdown conversion. Minor gaps like PDF metadata or OCR output are not critical to the inspection purpose.

Maintenance

ActivitySlowing
ResponsivenessNo issues