Paperless-ngx MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PAPERLESS_URL | Yes | Base URL of the Paperless-ngx instance | |
| PAPERLESS_TOKEN | Yes | Paperless API authentication token | |
| PAPERLESS_DOWNLOAD_DIR | No | Path where downloaded documents will be saved |
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 |
|---|---|
| search_documentsA | Search documents in Paperless. query Full-text search query across content and title tags List of tag names (document must have all specified tags) correspondent Correspondent name document_type Document type name created_after Date YYYY-MM-DD, strictly after created_before Date YYYY-MM-DD, strictly before limit Maximum number of records to return |
| get_documentC | Retrieve document metadata and extracted OCR text by ID. |
| download_documentB | Download document file to local disk. original True for original uploaded file, False for archived PDF version save_as Full target path; defaults to PAPERLESS_DOWNLOAD_DIR |
| list_tagsA | List all tags with document counts. |
| list_correspondentsA | List all correspondents with document counts. |
| list_document_typesA | List all document types with document counts. |
| statsA | Archive summary: counts of documents, tags, correspondents, types, and storage paths. |
| update_documentA | Update document title, correspondent, type, and tags. correspondent / document_type — name or ID; empty string "" clears the field. add_tags / remove_tags — lists of tag names. create_missing — whether to create missing tags/correspondents/types automatically. |
| upload_documentA | Upload a file to Paperless. file_path Local path to PDF/image on this machine created Document date YYYY-MM-DD Returns task ID — processing and OCR run asynchronously in the background. |
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 9 tools
Most tools target distinct actions or resources, but stats and the list_* tools both report counts for tags, correspondents, and types, which could cause some ambiguity. search/get/download/update/upload are clearly separated.
Eight tools follow a consistent verb_noun pattern such as search_documents, get_document, list_tags, and upload_document. The exception is 'stats', which breaks the pattern and would be clearer as get_stats or get_summary.
Nine tools is well-scoped for a document management server: search, retrieve, download, upload, update, reference-data listers, and a stats summary. Each tool earns its place without feeling redundant.
Core document operations are covered, including upload, search, get, download, and update, but there is no delete_document and no way to poll the async task ID returned by upload_document. Reference-data creation is only implicitly handled through update_document's create_missing flag.