pdf-inspector-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
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.
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.
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.
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.