An MCP (Model Context Protocol) server for interacting with a Paperless-NGX API server. This server provides tools for managing documents, tags
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. That is what the paperless mcp server brings to an AI assistant: the same capability, reachable through the Model Context Protocol rather than a separate app or dashboard.
Installation goes through your MCP client rather than a global install: point it at paperless-mcp on npm and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.
The server publishes 13 tools. What each one is for:
Installation — 1. Install the MCP server: bash npm install -g paperless-mcplist_documents — Parameters: - page (optional): Page number - page_size (optional): Number of documents per pageget_document — The get_document tool exposed by this serversearch_documents — The search_documents tool exposed by this serverdownload_document — Parameters: - id: Document ID - original (optional): If true, downloads original file instead of archived versionbulk_edit_documents — Parameters: - documents: Array of document IDs - method: One of: - set_correspondent: Set correspondent for documents - set_document_type: Setpost_document — Parameters: - file: Base64 encoded file content - filename: Name of the file - title (optional): Title for the document - created (optional)list_tags — The list_tags tool exposed by this servercreate_tag — Parameters: - name: Tag name - color (optional): Hex color code (e.g. "#ff0000") - match (optional): Text pattern to match - matching_algorithmlist_correspondents — The list_correspondents tool exposed by this servercreate_correspondent — Parameters: - name: Correspondent name - match (optional): Text pattern to match - matching_algorithm (optional): One of "any", "all", "exact"list_document_types — The list_document_types tool exposed by this serverPlenty of file and storage access servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Paperless's toolset — Installation, list_documents, get_document and 10 more — is a fair guide to whether it matches your workflow. It is maintained by nloui; worth a glance at recent repository activity before you build anything load-bearing on it.
SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.
| Tool | What it does |
|---|---|
| Installation | 1. Install the MCP server: bash npm install -g paperless-mcp |
| list_documents | Parameters: - page (optional): Page number - page_size (optional): Number of documents per page |
| get_document | The get_document tool exposed by this server. |
| search_documents | The search_documents tool exposed by this server. |
| download_document | Parameters: - id: Document ID - original (optional): If true, downloads original file instead of archived version |
| 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 | Parameters: - file: Base64 encoded file content - filename: Name of the file - title (optional): Title for the document - created (optional): DateTime when the document was created (e.g. "2024-01-19" or "2024-01-19 06:15 |
| list_tags | The list_tags tool exposed by this server. |
| create_tag | Parameters: - name: Tag name - color (optional): Hex color code (e.g. "#ff0000") - match (optional): Text pattern to match - matching_algorithm (optional): One of "any", "all", "exact", "regular expression", "fuzzy" |
| list_correspondents | The list_correspondents tool exposed by this server. |
| create_correspondent | Parameters: - name: Correspondent name - match (optional): Text pattern to match - matching_algorithm (optional): One of "any", "all", "exact", "regular expression", "fuzzy" |
| list_document_types | The list_document_types tool exposed by this server. |
| create_document_type | Parameters: - name: Document type name - match (optional): Text pattern to match - matching_algorithm (optional): One of "any", "all", "exact", "regular expression", "fuzzy" |
{
"mcpServers": {
"paperless-mcp-nloui": {
"command": "npx",
"args": ["-y", "paperless-mcp"]
}
}
}Add to claude_desktop_config.json, then restart Claude Desktop.
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.