Paperless-NGX over MCP: search, read, upload and tag documents; manage correspondents and types.
To add Paperless MCP to Claude, run the install command below or copy the ready-made config for Claude Code, Claude Desktop, Cursor and VS Code further down. Restart your client after adding it and its tools show up in your next conversation. It needs 20 environment variables, listed below.
Install
uvx pvliesdonk-paperless-mcp@3.0.0Environment variables
PAPERLESS_MCP_KV_STORE_URLSet in your MCP configPAPERLESS_MCP_TOOLS_ALLOWSet in your MCP configPAPERLESS_MCP_TOOLS_DENYSet in your MCP configPAPERLESS_MCP_SERVER_NAMESet in your MCP configPAPERLESS_MCP_INSTANCE_DESCRIPTIONSet in your MCP configPAPERLESS_MCP_INSTRUCTIONS_EXTRASet in your MCP configPAPERLESS_MCP_INSTRUCTIONSSet in your MCP configPAPERLESS_MCP_LOG_LEVELSet in your MCP configPAPERLESS_MCP_LOG_FORMATSet in your MCP configPAPERLESS_MCP_PAPERLESS_URLSet in your MCP configPAPERLESS_MCP_API_TOKENSet in your MCP configPAPERLESS_MCP_HTTP_TIMEOUT_SECONDSSet in your MCP configPAPERLESS_MCP_HTTP_RETRIESSet in your MCP configPAPERLESS_MCP_DEFAULT_PAGE_SIZESet in your MCP configPAPERLESS_MCP_PAPERLESS_PUBLIC_URLSet in your MCP configPAPERLESS_MCP_TRANSFER_TTL_DEFAULT_SSet in your MCP configPAPERLESS_MCP_TRANSFER_TTL_MAX_SSet in your MCP configPAPERLESS_MCP_TRANSFER_GRACE_TTL_SSet in your MCP configPAPERLESS_MCP_TRANSFER_LEASE_SSet in your MCP configPAPERLESS_MCP_TRANSFER_MAX_UPLOAD_BYTESSet in your MCP configInstall with your client
claude mcp add paperless --env PAPERLESS_MCP_KV_STORE_URL=<YOUR_PAPERLESS_MCP_KV_STORE_URL> --env PAPERLESS_MCP_TOOLS_ALLOW=<YOUR_PAPERLESS_MCP_TOOLS_ALLOW> --env PAPERLESS_MCP_TOOLS_DENY=<YOUR_PAPERLESS_MCP_TOOLS_DENY> --env PAPERLESS_MCP_SERVER_NAME=<YOUR_PAPERLESS_MCP_SERVER_NAME> --env PAPERLESS_MCP_INSTANCE_DESCRIPTION=<YOUR_PAPERLESS_MCP_INSTANCE_DESCRIPTION> --env PAPERLESS_MCP_INSTRUCTIONS_EXTRA=<YOUR_PAPERLESS_MCP_INSTRUCTIONS_EXTRA> --env PAPERLESS_MCP_INSTRUCTIONS=<YOUR_PAPERLESS_MCP_INSTRUCTIONS> --env PAPERLESS_MCP_LOG_LEVEL=<YOUR_PAPERLESS_MCP_LOG_LEVEL> --env PAPERLESS_MCP_LOG_FORMAT=<YOUR_PAPERLESS_MCP_LOG_FORMAT> --env PAPERLESS_MCP_PAPERLESS_URL=<YOUR_PAPERLESS_MCP_PAPERLESS_URL> --env PAPERLESS_MCP_API_TOKEN=<YOUR_PAPERLESS_MCP_API_TOKEN> --env PAPERLESS_MCP_HTTP_TIMEOUT_SECONDS=<YOUR_PAPERLESS_MCP_HTTP_TIMEOUT_SECONDS> --env PAPERLESS_MCP_HTTP_RETRIES=<YOUR_PAPERLESS_MCP_HTTP_RETRIES> --env PAPERLESS_MCP_DEFAULT_PAGE_SIZE=<YOUR_PAPERLESS_MCP_DEFAULT_PAGE_SIZE> --env PAPERLESS_MCP_PAPERLESS_PUBLIC_URL=<YOUR_PAPERLESS_MCP_PAPERLESS_PUBLIC_URL> --env PAPERLESS_MCP_TRANSFER_TTL_DEFAULT_S=<YOUR_PAPERLESS_MCP_TRANSFER_TTL_DEFAULT_S> --env PAPERLESS_MCP_TRANSFER_TTL_MAX_S=<YOUR_PAPERLESS_MCP_TRANSFER_TTL_MAX_S> --env PAPERLESS_MCP_TRANSFER_GRACE_TTL_S=<YOUR_PAPERLESS_MCP_TRANSFER_GRACE_TTL_S> --env PAPERLESS_MCP_TRANSFER_LEASE_S=<YOUR_PAPERLESS_MCP_TRANSFER_LEASE_S> --env PAPERLESS_MCP_TRANSFER_MAX_UPLOAD_BYTES=<YOUR_PAPERLESS_MCP_TRANSFER_MAX_UPLOAD_BYTES> -- uvx pvliesdonk-paperless-mcp@3.0.0
Run this in a terminal to add the server to Claude Code.
What this does
Paperless MCP exposes a set of tools to Claude over the Model Context Protocol. After you add it to claude_desktop_config.json (snippet above) and restart Claude Desktop, those tools become callable inside any conversation.
Requirements
This server needs the following environment variables to be set before it can run:
PAPERLESS_MCP_KV_STORE_URL PAPERLESS_MCP_TOOLS_ALLOW PAPERLESS_MCP_TOOLS_DENY PAPERLESS_MCP_SERVER_NAME PAPERLESS_MCP_INSTANCE_DESCRIPTION PAPERLESS_MCP_INSTRUCTIONS_EXTRA PAPERLESS_MCP_INSTRUCTIONS PAPERLESS_MCP_LOG_LEVEL PAPERLESS_MCP_LOG_FORMAT PAPERLESS_MCP_PAPERLESS_URL PAPERLESS_MCP_API_TOKEN PAPERLESS_MCP_HTTP_TIMEOUT_SECONDS PAPERLESS_MCP_HTTP_RETRIES PAPERLESS_MCP_DEFAULT_PAGE_SIZE PAPERLESS_MCP_PAPERLESS_PUBLIC_URL PAPERLESS_MCP_TRANSFER_TTL_DEFAULT_S PAPERLESS_MCP_TRANSFER_TTL_MAX_S PAPERLESS_MCP_TRANSFER_GRACE_TTL_S PAPERLESS_MCP_TRANSFER_LEASE_S PAPERLESS_MCP_TRANSFER_MAX_UPLOAD_BYTES
Set these via the env object in your MCP config (see claude_desktop_config.json snippet above).
Frequently asked questions
How do I install Paperless MCP?
Run the Claude Code command in the install section to add Paperless MCP to Claude Code, or copy the ready-made config for your client from the install section on this page. Restart your client afterwards and the tools appear in your next conversation.
Which clients work with Paperless MCP?
This page carries setup and config for Claude Code, Claude Desktop, Cursor and VS Code. Any other MCP client that accepts a standard server config can connect to Paperless MCP as well.
Does Paperless MCP need an API key?
Yes. Before it can run, set these environment variables: PAPERLESS_MCP_KV_STORE_URL, PAPERLESS_MCP_TOOLS_ALLOW, PAPERLESS_MCP_TOOLS_DENY, PAPERLESS_MCP_SERVER_NAME, PAPERLESS_MCP_INSTANCE_DESCRIPTION, PAPERLESS_MCP_INSTRUCTIONS_EXTRA, PAPERLESS_MCP_INSTRUCTIONS, PAPERLESS_MCP_LOG_LEVEL, PAPERLESS_MCP_LOG_FORMAT, PAPERLESS_MCP_PAPERLESS_URL, PAPERLESS_MCP_API_TOKEN, PAPERLESS_MCP_HTTP_TIMEOUT_SECONDS, PAPERLESS_MCP_HTTP_RETRIES, PAPERLESS_MCP_DEFAULT_PAGE_SIZE, PAPERLESS_MCP_PAPERLESS_PUBLIC_URL, PAPERLESS_MCP_TRANSFER_TTL_DEFAULT_S, PAPERLESS_MCP_TRANSFER_TTL_MAX_S, PAPERLESS_MCP_TRANSFER_GRACE_TTL_S, PAPERLESS_MCP_TRANSFER_LEASE_S, PAPERLESS_MCP_TRANSFER_MAX_UPLOAD_BYTES. They go in the env block of your MCP config.
Imported from the Official MCP Registry. The details above come from the registry entry; the maker can claim this listing to correct them, add docs, and see its traffic.
Is this your MCP server?
Claim this listing to see its traffic, fix details yourself, and skip the review queue on future updates.
Add this badge to your README
Show visitors this server is listed in the ClaudeRules directory. The badge links straight to this listing.
[](https://clauderules.net/mcp/io-github-pvliesdonk-paperless-mcp)<a href="https://clauderules.net/mcp/io-github-pvliesdonk-paperless-mcp" target="_blank" rel="noopener noreferrer"><img src="https://clauderules.net/api/badge/io-github-pvliesdonk-paperless-mcp" alt="Listed on clauderules.net" /></a>More Search MCP servers
GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
eyaltoledano/claude-task-master
📇 ☁️ 🏠 - AI-powered task management system for AI-driven development. Features PRD parsing, task expansion, multi-provider support (Claude, OpenAI, Gemini, Perplexity, xAI), and selective tool loadi
Serena MCP: the IDE for your agent
A powerful toolkit for coding, providing semantic retrieval and editing capabilities.
mediar-ai/screenpipe
🎖️ 🦀 🏠 🍎 Local-first system capturing screen/audio with timestamped indexing, SQL/embedding storage, semantic search, LLM-powered history analysis, and event-triggered actions - enables building c
