Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags
Paperless mcp mcp server lets Claude, Cursor and other MCP clients work with Paperless MCP directly. 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.
An MCP (Model Context Protocol) server for interacting with a Paperless-NGX API server. This server provides tools for managing documents, tags, correspondents, and document types in your Paperless-NGX instance.
Once connected, the assistant can call these 14 tools directly:
Scenario — --no-auth off (default)Installation — // STDIO mode (recommended for local or CLI use) json "paperless": { "command": "npx", "args": [ "-y", "@baruchiro/paperless-mcp@latest", ], "env": {list_documents — Get a paginated list of documents with simple filters. Use this for straightforward listing tasks. For full-text queries, structured custom field filtering, orquery_documents — Canonical document query tool. Supports full-text querying, simple Paperless search, custom field filters, and documented /api/documents/ Paperless queryget_document — The get_document tool exposed by this serversearch_documents — Deprecated compatibility wrapper for full-text search. Prefer query_documents({ query: ... }) for new integrationsdownload_document — Parameters: - id: Document ID - original (optional): If true, downloads original file instead of archived versionget_document_thumbnail — Get a document thumbnail (image preview) by ID. Returns the thumbnail as a base64-encoded WebP image resourcebulk_edit_documents — Parameters: - documents: Array of document IDs - method: One of: - set_correspondent: Set correspondent for documents - set_document_type: Set document typepost_document — 1. Base64 mode (traditional): Provide file (base64-encoded content) + filename 2. Filesystem mode (efficient): Provide file_path (absolute path onlist_document_notes — The list_document_notes tool exposed by this servercreate_document_note — Add a note to a document. Returns the document's full list of notesdelete_document_note — ⚠️ Delete a single note from a document by its note ID. This operation is irreversiblelist_tags — The list_tags tool exposed by this serverSetup follows the standard MCP pattern: clone or install the server, then register it in your client's configuration file and restart the client. The configuration snippets on this page cover Claude Desktop, Claude Code and Cursor.
Before the server will start you need to supply 4 environment variables: PAPERLESS_URL, PAPERLESS_API_KEY, PAPERLESS_PUBLIC_URL, PAPERLESS_TOKEN. Keep credentials in your client's env block or a secrets manager rather than committing them.
Productivity servers pay off through capture: the tasks and notes that never get filed are the ones where opening the app is more friction than the thought is worth. Paperless MCP sits in that group, and the shape of its toolset — Scenario, Installation, list_documents among others — tells you what it is really for. Worth comparing against the other productivity servers in this directory before you commit to one, since several overlap in scope but differ sharply in setup cost and permissions.
| Tool | What it does |
|---|---|
| Scenario | --no-auth off (default) |
| Installation | // STDIO mode (recommended for local or CLI use) json "paperless": { "command": "npx", "args": [ "-y", "@baruchiro/paperless-mcp@latest", ], "env": { "PAPERLESS_URL": "http://your-paperless-instance:8000", "PAPERLESS_API |
| list_documents | Get a paginated list of documents with simple filters. Use this for straightforward listing tasks. For full-text queries, structured custom field filtering, or advanced Paperless filters, use query_documents. |
| query_documents | Canonical document query tool. Supports full-text querying, simple Paperless search, custom field filters, and documented /api/documents/ Paperless query parameters. |
| get_document | The get_document tool exposed by this server. |
| search_documents | Deprecated compatibility wrapper for full-text search. Prefer query_documents({ query: ... }) for new integrations. |
| download_document | Parameters: - id: Document ID - original (optional): If true, downloads original file instead of archived version |
| get_document_thumbnail | Get a document thumbnail (image preview) by ID. Returns the thumbnail as a base64-encoded WebP image resource. |
| bulk_edit_documents | Parameters: - documents: Array of document IDs - method: One of: - set_correspondent: Set correspondent for documents - set_document_type: Set document type for documents - set_storage_path: Set storage path for document |
| post_document | 1. **Base64 mode** (traditional): Provide file (base64-encoded content) + filename 2. **Filesystem mode** (efficient): Provide file_path (absolute path on server) |
| list_document_notes | The list_document_notes tool exposed by this server. |
| create_document_note | Add a note to a document. Returns the document's full list of notes. |
| delete_document_note | ⚠️ Delete a single note from a document by its note ID. This operation is irreversible. |
| list_tags | The list_tags tool exposed by this server. |
| Variable | Description | Required |
|---|---|---|
| PAPERLESS_URL | Endpoint or connection string the server talks to. | Yes |
| PAPERLESS_API_KEY | Credential the server authenticates with. | Yes |
| PAPERLESS_PUBLIC_URL | Endpoint or connection string the server talks to. | Yes |
| PAPERLESS_TOKEN | Credential the server authenticates with. | Yes |
Scoped local file access — read, write, search and reorganise files in directories you explicitly allow.
Search and read your Drive — Docs, Sheets and files become context your assistant can actually use.
Query, modify and analyse local SQLite databases in conversation — the fastest way to chat with a data file.
Build a programmable telecommunications stack for connecting telephony services with the Internet via a cloud-based utility.
Chat with your second brain — search, read and write vault notes through the Local REST API.
Connects AI models to an Obsidian knowledge base for direct access and manipulation of notes and folders.