Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.
Server has 16 well-structured tools with consistent naming (verb_noun pattern) and comprehensive descriptions (avg 180 chars). All tools have input schemas with types and descriptions. However, output schemas are not documented in the source code, LLMs cannot predict return structures. Parameter descriptions are strong but lack explicit format constraints (e.g., date formats, regex patterns). Error handling guidance is absent. No tool annotations (readOnlyHint, destructiveHint) despite clear risk levels. Composition is sound, tools chain well via ID references.
Perform bulk operations on multiple correspondents: set permissions to control who can assign them to documents, or permanently delete multiple correspondents. Use with caution as deletion affects all associated documents.
Perform bulk operations on multiple document types: set permissions to control who can assign them to documents, or permanently delete multiple types. Use with caution as deletion affects all associated documents.
Perform bulk operations on multiple documents simultaneously: set correspondent/type/tags, delete, reprocess, merge, split, rotate, or manage permissions. Efficient for managing large document collections.
Perform bulk operations on multiple tags: set permissions to control access or permanently delete multiple tags at once. Efficient for managing large tag collections.
Create a new correspondent (person, company, or organization) for tracking document senders and receivers. Can include automatic matching patterns for smart assignment to incoming documents.
Output schemas not documented. LLMs cannot predict return structures for any tool. search_documents explicitly omits OCR content to prevent token overflow, but no other tools document their response format.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. Tools marked DESTRUCTIVE (bulk_edit_correspondents, bulk_edit_document_types, bulk_edit_documents, delete_tag, bulk_edit_tags) should declare destructiveHint=true to guide agent caution.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2026-07-28+ | v2 |
Create a new document type for categorizing documents by their purpose or format (e.g., Invoice, Receipt, Contract). Can include automatic matching rules for smart classification.
Create a new tag for labeling and organizing documents. Tags can have colors for visual identification and automatic matching rules for smart assignment.
Permanently delete a tag from the system. This removes the tag from all documents that currently use it. Use with caution as this action cannot be undone.
Download a document file as base64-encoded data. Choose between original uploaded file or processed/archived version with OCR improvements.
Get complete details for a specific document including full metadata, content preview, tags, correspondent, and document type information.
Retrieve all available correspondents (people, companies, organizations that send/receive documents). Returns names and automatic matching patterns for document assignment.
Retrieve all available document types for categorizing documents by purpose or format (Invoice, Receipt, Contract, etc.). Returns names and automatic matching rules.
Retrieve all available tags for labeling and organizing documents. Returns tag names, colors, and matching rules for automatic assignment.
Upload a new document to Paperless-NGX with metadata. Supports PDF, images (PNG/JPG/TIFF), and text files. Automatically processes for OCR and indexing.
Search through documents using full-text search across content, titles, tags, and metadata. Returns document metadata WITHOUT the full OCR content field to prevent token overflow. Use get_document to retrieve full details for specific documents of interest. Supports Paperless-NGX advanced query syntax.
Modify an existing tag's name, color, or automatic matching rules. Useful for refining tag organization and improving automatic document classification.
Error handling lacks recovery guidance. No tool documents what errors are retryable, user-fixable, or fatal. bulk_edit_documents and delete operations should warn about irreversibility and suggest confirmation patterns.
Parameter format constraints not explicit in descriptions. matching_algorithm uses enum (good), but date formats (created field in post_document), page_size bounds, and regex patterns lack inline documentation. LLMs cannot infer ISO 8601 requirement from 'ISO format' alone.
bulk_edit_documents method parameter accepts 12 enum values but lacks clear guidance on which parameters apply to each method. E.g., 'correspondent' only applies to 'set_correspondent', but this dependency is not documented.