paperlessngx-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PAPERLESS_BASE_URL | Yes | The base URL of the Paperless-ngx instance, e.g. http://paperless-ngx:8000 | |
| PAPERLESS_API_TOKEN | Yes | Paperless API token (Authorization: Token <...>) | |
| PAPERLESS_VERIFY_SSL | No | Set false for self-signed / plain-http local instances | true |
| PAPERLESS_DOWNLOAD_DIR | No | Where Tier 3 downloads are written | <tmp>/paperless-mcp-downloads |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| paperless_search_documentsA | PRIVACY TIER 1 (metadata only): Search documents and return METADATA ONLY — never OCR content. Full-text search runs server-side inside Paperless; this tool returns only titles, dates, tags, correspondent and document-type names. Use this to find and reference documents without pulling their text into context. Returns id, title, correspondent_name, document_type_name, tags, created_date, added_date, page_count. |
| paperless_get_document_metadataA | PRIVACY TIER 1 (metadata only): Return full metadata for one document — title, correspondent, document type, tags, dates, page count, checksum, file size, mime type, storage path, custom fields, and notes. The underlying Paperless detail endpoint includes OCR content, but this tool STRIPS the content field before returning. Use paperless_get_document_content if you actually need the text. |
| paperless_list_tagsB | PRIVACY TIER 1 (metadata only): List all tags with id, name, and document_count. Optional case-insensitive name filter. |
| paperless_list_correspondentsA | PRIVACY TIER 1 (metadata only): List all correspondents with id, name, and document_count. Optional case-insensitive name filter. |
| paperless_list_document_typesA | PRIVACY TIER 1 (metadata only): List all document types with id, name, and document_count. Optional case-insensitive name filter. |
| paperless_get_statisticsA | PRIVACY TIER 1 (metadata only): Library-wide statistics — total documents, total file size, inbox count, and breakdowns by document type and tag. No document content involved. |
| paperless_tag_documentB | PRIVACY TIER 1 (management): Set the tags on a document. Accepts tag NAMES (resolved to IDs internally). This REPLACES the document's tag set with exactly the tags provided. Returns the applied tags. No document content is read or returned. |
| paperless_set_correspondentB | PRIVACY TIER 1 (management): Set the correspondent of a document by name (resolved to an ID internally). No content is read or returned. |
| paperless_set_document_typeA | PRIVACY TIER 1 (management): Set the document type of a document by name (resolved to an ID internally). No content is read or returned. |
| paperless_suggest_tagsA | PRIVACY TIER 1 (metadata only): Return Paperless-ngx's OWN built-in suggestions for tags, correspondents, document types, dates, and storage paths for a document. These are computed server-side inside Paperless; no OCR content enters the model context. IDs are resolved to names. |
| paperless_extract_fieldA | PRIVACY TIER 2 (local extraction): Extract ONLY a specific field from a document. The OCR text is fetched into the MCP server process, parsed LOCALLY, and only the extracted value(s) are returned — the full content never enters the model context. extraction_pattern may be a named built-in extractor (dollar_amounts, dates, emails, phone_numbers, addresses, total_amount) or a custom JavaScript-style regular expression. This is the extensibility point where a future local LLM extraction backend would plug in. |
| paperless_get_document_contentA | PRIVACY TIER 3: Returns FULL document content. The calling model will see the ENTIRE OCR text of this document. Only use this when the user has EXPLICITLY asked to read, summarize, or analyze a document's contents. For finding, organizing, or referencing documents, use the Tier 1 metadata tools instead. privacy_warning: This returns full document content into the model's context. |
| paperless_download_documentA | PRIVACY TIER 3: Download the original document binary (PDF) to the server's filesystem and return the saved file path. Use only when the user explicitly needs the actual file rather than metadata or text. privacy_warning: This materializes the full document file on the MCP server host. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Milli42/paperlessngx-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server