Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| load_pdf | Load a PDF file and make it available for redaction. This tool loads a PDF file into memory and extracts its text content for review. The PDF remains loaded for subsequent redaction operations. Args: pdf_path: Path to the PDF file to load ctx: MCP context for logging Returns: The full text content of the PDF Raises: ToolError: If the file doesn't exist or cannot be opened |
| redact_text | Redact specific texts in a loaded PDF. This tool searches for all instances of the specified texts in the PDF and adds redaction annotations over them. The redactions are not yet applied to the document - use save_redacted_pdf to apply and save. Only texts that haven't been previously redacted will be processed. Args: pdf_path: Path to the PDF file (must be already loaded) texts_to_redact: List of text strings to search for and redact fill_color: RGB color tuple (0-1 range) for the redaction box. Default is black. ctx: MCP context for logging Returns: Summary of redaction operations Raises: ToolError: If the PDF is not loaded or redaction fails |
| redact_area | Redact a specific rectangular area on a PDF page. This tool adds a redaction annotation for a specific rectangular area defined by coordinates. The redactions are not yet applied to the document - use save_redacted_pdf to apply and save. Args: pdf_path: Path to the PDF file (must be already loaded) page_number: Page number to redact (1-indexed) x0: Left x coordinate of the rectangle y0: Top y coordinate of the rectangle x1: Right x coordinate of the rectangle y1: Bottom y coordinate of the rectangle fill_color: RGB color tuple (0-1 range) for the redaction box. Default is black. ctx: MCP context for logging Returns: Confirmation message Raises: ToolError: If the PDF is not loaded, page doesn't exist, or redaction fails |
| save_redacted_pdf | Apply all redactions and save the redacted PDF. This tool applies all pending redaction annotations to the PDF and saves it. By default, it saves to a new file with '_redacted' appended to the original filename. Args: pdf_path: Path to the PDF file (must be already loaded) output_path: Optional custom output path. If not provided, saves as '<original_name>_redacted.pdf' ctx: MCP context for logging Returns: Path to the saved redacted PDF Raises: ToolError: If the PDF is not loaded or save fails |
| list_loaded_pdfs | List all currently loaded PDF files. Returns: List of loaded PDF file paths |
| close_pdf | Close a loaded PDF and free its resources. Args: pdf_path: Path to the PDF file to close ctx: MCP context for logging Returns: Confirmation message Raises: ToolError: If the PDF is not loaded |
| list_applied_redactions | List all redactions that have been applied to loaded PDF(s). This tool shows which texts have been marked for redaction in each PDF, helping to avoid duplicate redactions and track what has already been processed. Args: pdf_path: Optional path to a specific PDF. If not provided, lists all PDFs. ctx: MCP context for logging Returns: List of applied redactions for the specified PDF(s) Raises: ToolError: If a specific PDF path is provided but not loaded |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| redact_pii | Generate a comprehensive prompt for redacting personally identifiable information (PII) from a PDF. This prompt guides the LLM to identify and redact all information that could identify individuals, including names, institutions, ethnicity, gender, and any other identifying information. Args: pdf_path: Path to the PDF file to be redacted Returns: A list of messages with instructions and context for PII redaction |
| redact_for_anonymous_recruitment | Generate a comprehensive prompt for redacting identifying information from PhD applications for anonymous recruitment. This prompt is specifically designed for the anonymous recruitment process to mitigate unconscious bias and ensure fairness and equality of opportunity. It redacts all identifying information while preserving content that demonstrates the applicant's skills, talent, passion, and fit for the position. Args: pdf_path: Path to the PhD application PDF to be redacted Returns: A detailed prompt with instructions for anonymous recruitment redaction |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |