PDF Processor Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TEMP_DIR | No | Working temp storage directory (default temp_files) | |
| LOG_LEVEL | No | Logging level (default INFO) | |
| SERVER_NAME | No | Server name (default pdf-processor-server) | |
| LOG_FILE_PATH | No | Log file path (default logs/pdf-processor-server.log) | |
| SERVER_VERSION | No | Server version (default 1.0.0) | |
| MAX_FILE_SIZE_MB | No | Max file size for inputs (default 50) |
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": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| server_infoA | Return basic server info and configuration snapshot (non-secret). |
| list_temp_resourcesA | List available temporary files with optional filtering.
|
| get_pdf_infoB | Get comprehensive PDF information without processing content. |
| get_resource_base64B | Return base64 for a file within the temp directory only. |
| extract_textA | Extract all text from a PDF. Accepts:
|
| extract_text_by_pageB | Extract text from specific pages or page ranges. |
| extract_metadataC | Extract comprehensive PDF metadata. |
| merge_pdfsB | Merge multiple PDF files into one document. |
| split_pdfB | Split PDF into separate files by page ranges. |
| rotate_pagesC | Rotate specific pages in a PDF. |
| pdf_to_imagesC | Convert PDF pages to image files. |
| images_to_pdfC | Create PDF from multiple image files. |
| upload_fileB | Persist an uploaded file into the server temp directory. Accepts:
|
| upload_file_base64B | Upload a file encoded as base64 and persist it in temp storage. Pass the base64-encoded content and the desired filename (e.g., "document.pdf"). |
| upload_file_urlA | Download a file from a URL and persist it in temp storage. Provide a direct URL and optional filename override. Requires 'requests' to be installed. |
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 15 tools
Most tools have clear, distinct purposes (extract_text vs extract_text_by_page vs extract_metadata), but get_pdf_info and extract_metadata overlap conceptually, and upload_file accepts base64 dicts, making upload_file_base64 redundant. The three upload tools introduce ambiguity about which to use.
The majority of tools follow a verb_noun snake_case pattern (e.g., extract_text, merge_pdfs, upload_file). However, server_info lacks a verb, and pdf_to_images/images_to_pdf are noun_to_noun, creating minor inconsistencies in an otherwise predictable naming scheme.
15 tools is at the upper boundary of the ideal 3-15 range, but the coverage of PDF processing operations (extract, merge, split, rotate, convert, upload) justifies the count. A few upload variants could be consolidated, but the overall scale is reasonable for a specialized server.
The tool set covers core PDF lifecycle operations well: creation from images, text extraction, metadata, merging, splitting, rotation, and conversion to images. The main gap is the absence of any delete/remove operation for temporary resources, which can leave dead ends in workflows.