Paperless MCP runs on your own machine — the client starts it, so there is no endpoint to ping. 593 installs a week from pypi. Last commit 1 Nov 2026.
Paperless-NGX over MCP: search, read, upload and tag documents; manage correspondents and types.
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.
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.
claude mcp add paperless-mcp -- uvx pvliesdonk-paperless-mcp
{
"mcpServers": {
"paperless-mcp": {
"command": "uvx",
"args": [
"pvliesdonk-paperless-mcp"
]
}
}
}
[mcp_servers.paperless-mcp]
command = "uvx"
args = ["pvliesdonk-paperless-mcp"]
{
"mcpServers": {
"paperless-mcp": {
"command": "uvx",
"args": [
"pvliesdonk-paperless-mcp"
]
}
}
}
{
"servers": {
"paperless-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"pvliesdonk-paperless-mcp"
]
}
}
}
Optional settings from the registry entry, left out of the block above:
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)), PAPERLESS_MCP_LOG_LEVEL (Log level for every logger in the process, FastMCP's included (DEBUG / INFO / WARNING / ERROR / CRITICAL). The -v CLI flag overrides to DEBUG. The unprefixed FASTMCP_LOG_LEVEL still works for one major version and logs a deprecation warning), PAPERLESS_MCP_LOG_FORMAT (Log rendering. rich is one colour event key=value line per record, for a terminal; json is one JSON object per record, for a collector. Unset picks rich when stderr is a terminal and json everywhere else, so a container or journald gets JSON with no configuration), 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), PAPERLESS_MCP_TRANSFER_TTL_DEFAULT_S (Link lifetime in seconds when the caller requests no explicit TTL), PAPERLESS_MCP_TRANSFER_TTL_MAX_S (Ceiling in seconds a caller-requested link TTL is clamped to), PAPERLESS_MCP_TRANSFER_GRACE_TTL_S (Post-success grace window in seconds: a served token's TTL shrinks to this so a stalled transfer can retry within it), PAPERLESS_MCP_TRANSFER_LEASE_S (Crashed-handler reclaim window in seconds for an in-flight reservation), PAPERLESS_MCP_TRANSFER_MAX_UPLOAD_BYTES (Maximum size in bytes of a single upload).
Full Paperless-ngx API for AI assistants: search, tag, edit and upload documents, workflows and more
Read, render, search, and manage reMarkable documents through MCP
AI-powered RFP response management. Search Q&A libraries, draft responses, and upload documents.
Connect AI assistants to Outline for document search, reading, and management
Read documents, signatures, contacts and credits; manage contacts and remove documents.
Read Paperform forms, submissions, products and coupons, Papersign documents, and manage coupons.
Search indexes, manage documents, check health and stats.
Congressional Documents — full-text search and retrieval over the official record of Congress…
Answers built from our own checks of this server.