mcpbeat Sign in

Paperless MCP Server

local only

Paperless MCP runs on your own machine — the client starts it, so there is no endpoint to ping. Last commit 17 Sep 2026.

Paperless-NGX over MCP: search, read, upload and tag documents; manage correspondents and types.

Installs / week
pypi · pvliesdonk-paperless-mcp
1
Stars
12 open issues
17 Sep 2026
Last commit
no recent releases
License
Python

Nothing serious here today

Today is the operative word: we check Paperless MCP every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.

run in your terminal
claude mcp add paperless-mcp -- uvx pvliesdonk-paperless-mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "paperless-mcp": {
      "args": [
        "pvliesdonk-paperless-mcp"
      ],
      "command": "uvx"
    }
  }
}
~/.codex/config.toml
[mcp_servers.paperless-mcp]
command = "uvx"
args = ["pvliesdonk-paperless-mcp"]
.cursor/mcp.json
{
  "mcpServers": {
    "paperless-mcp": {
      "args": [
        "pvliesdonk-paperless-mcp"
      ],
      "command": "uvx"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "paperless-mcp": {
      "args": [
        "pvliesdonk-paperless-mcp"
      ],
      "command": "uvx"
    }
  }
}

This one needs environment variables set before it will start: PAPERLESS_MCP_KV_STORE_URL (Persistent-state backend URL shared by every pvl-core subsystem that needs state. `memory://` is in-process and lost on restart; `file:///path` persists on one server; `redis://`, `dynamodb://` and `mongodb://` each need their matching extra. When unset, defaults to `file:///data/state` (the volume family Docker images mount), or to `memory://` (with a warning) on a host where that directory is not usable.), PAPERLESS_MCP_TOOLS_ALLOW (Comma-separated explicit tool names this instance exposes; every other tool is hidden from listings and cannot be invoked. Names matching no registered tool are inert. Mutually exclusive with `tools_deny`. Takes effect through `apply_tool_visibility`.), PAPERLESS_MCP_TOOLS_DENY (Comma-separated explicit tool names hidden from this instance (absent from listings, cannot be invoked). Names matching no registered tool are inert. Mutually exclusive with `tools_allow`. Takes effect through `apply_tool_visibility`.), PAPERLESS_MCP_SERVER_NAME (Rename this server instance; defaults to the project name.), PAPERLESS_MCP_INSTANCE_DESCRIPTION (Concise routing context that distinguishes this deployment's material or responsibility.), PAPERLESS_MCP_INSTRUCTIONS_EXTRA (Deployment-specific behavioral policy added to the generated MCP instructions.), PAPERLESS_MCP_INSTRUCTIONS (Legacy: replaces all generated MCP instructions (deprecated; use _INSTANCE_DESCRIPTION for routing and _INSTRUCTIONS_EXTRA for policy).), FASTMCP_LOG_LEVEL (Log level for FastMCP internals and app loggers (DEBUG / INFO / WARNING / ERROR / CRITICAL). The -v CLI flag overrides to DEBUG.), FASTMCP_ENABLE_RICH_LOGGING (Rich color output for a terminal; false gives one plain or JSON line per record. Off in the container image and the systemd unit, since neither is a terminal and Rich wraps a structured record at its 80-column fallback.), PAPERLESS_MCP_PAPERLESS_URL (Base URL of the Paperless-NGX REST API, without a trailing slash. The server refuses to start without it.), PAPERLESS_MCP_API_TOKEN (Paperless service-account token used for outbound API requests. The server refuses to start without it.), PAPERLESS_MCP_HTTP_TIMEOUT_SECONDS (Per-request HTTP timeout in seconds.), PAPERLESS_MCP_HTTP_RETRIES (Retries for idempotent requests after network errors or 5xx responses.), PAPERLESS_MCP_DEFAULT_PAGE_SIZE (Default page size for list tools, from 1 through 100.), PAPERLESS_MCP_PAPERLESS_PUBLIC_URL (Public Paperless UI URL for user-visible links; defaults to PAPERLESS_URL.). The author declared them in the registry entry; get the values from the project itself.

Alternatives to Paperless MCP

same job, measured the same way
reMarkable MCP Server
by sammorrowdrums

Read, render, search, and manage reMarkable documents through MCP

547 installs/wk local only
Strutter AI
by strutterai

AI-powered RFP response management. Search Q&A libraries, draft responses, and upload documents.

answering
Outline MCP Server
by vortiago

Connect AI assistants to Outline for document search, reading, and management

482 installs/wk local only
Meilisearch MCP
by mrfentmen

Search indexes, manage documents, check health and stats.

31 installs/wk local only
Opensearch MCP
by mrfentmen

Search OpenSearch indices, manage documents, check health and stats.

66 installs/wk local only
Congressional Documents
by pipeworx-io

Congressional Documents — full-text search and retrieval over the official

39 tools answering
iCloud Drive Docs
by js713-lab

Read-only MCP server for listing, searching, downloading, and reading iCloud Drive documents.

local only
Google Docs MCP
by a1-x-tech

MCP server for the Google Docs API: read and edit documents, styles, tables, images, comments.

46 installs/wk local only

Paperless MCP — questions

Answers built from our own checks of this server.

Why is there no uptime for Paperless MCP?
Paperless MCP runs on your own machine over stdio — there is no network address to reach, so uptime cannot be measured for it by anyone. What can be measured is adoption: the pypi package pvliesdonk-paperless-mcp.
How do I connect Paperless MCP?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It runs locally, so the command pulls pvliesdonk-paperless-mcp straight from pypi; nothing to host, nothing to sign up for.
Is Paperless MCP open source?
We cannot say either way: written in Python, 1 stars on GitHub and 12 open issues, but we could not determine the licence, and without one the code is not open source by default.