PDF Redaction MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PDF_DIR | No | Base directory for PDF files. Relative paths in tools will be resolved against this directory. |
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 |
|---|---|
| load_pdfA | Load a PDF file into memory for session-based operations. All other PDF tools in the MCP server require a document to be loaded first using this tool. The document remains in memory until saved or the session ends. |
| save_pdfA | Save an in-memory PDF document to disk. The document remains loaded in memory after saving and can continue to be modified. |
| close_pdfA | Close and remove an in-memory PDF document. Use this to free up memory when you're done with a document. Any unsaved changes will be lost. |
| list_loaded_pdfsA | List all currently loaded PDF documents in memory. Returns: JSON string with information about all loaded documents |
| extract_text_from_pdfA | Extract text from a loaded PDF document. The document must be loaded first using load_pdf. |
| search_text_in_pdfA | Search for text in a loaded PDF document and return all occurrences with their locations. The document must be loaded first using load_pdf. |
| redact_text_by_searchA | Redact all occurrences of specified text strings in a loaded PDF document. The document must be loaded first using load_pdf. Modifications are made in-memory. Use save_pdf to write the changes to disk. |
| redact_by_coordinatesA | Redact specific areas of a loaded PDF document by coordinates. The document must be loaded first using load_pdf. Modifications are made in-memory. Use save_pdf to write the changes to disk. |
| redact_images_in_pdfA | Redact all images in specified pages of a loaded PDF document. The document must be loaded first using load_pdf. Modifications are made in-memory. Use save_pdf to write the changes to disk. |
| verify_redactionsA | Verify that redactions were applied correctly by comparing two loaded PDF documents. Both documents must be loaded first using load_pdf. |
| get_pdf_infoA | Get basic information about a loaded PDF document. The document must be loaded first using load_pdf. |
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 11 tools
Each tool targets a distinct operation: loading, saving, closing, extracting, searching, redacting by text/coordinates/images, verifying, and info. The redaction tools are clearly differentiated by their method. No two tools appear to overlap in purpose.
All tool names follow a consistent verb_noun pattern with snake_case (e.g., load_pdf, save_pdf, redact_by_coordinates). The naming is uniform and predictable, with no mixed conventions or vague verbs.
With 11 tools, the server is well-scoped for PDF redaction workflows. Each tool has a clear role and the count is neither excessive nor too sparse. The coverage balances core redaction operations with supporting utilities like verification and info.
The tool set covers the full lifecycle of PDF redaction: loading, inspecting, redacting via multiple methods, verifying, saving, and closing. There are no obvious gaps for the stated purpose, and auxiliary features like search and extraction round out the domain nicely.