Skip to content
Verified official

Paperless MCP MCP

v3.0.0

io.github.pvliesdonk/paperless-mcp

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

transport:stdio runtime:pypi

Target client

run in your project directory

Held in this page only — never stored, logged, or sent anywhere but back to your screen.

claude mcp add paperless-mcp -e PAPERLESS_MCP_KV_STORE_URL=<PAPERLESS_MCP_KV_STORE_URL> -e PAPERLESS_MCP_TOOLS_ALLOW=<PAPERLESS_MCP_TOOLS_ALLOW> -e PAPERLESS_MCP_TOOLS_DENY=<PAPERLESS_MCP_TOOLS_DENY> -e PAPERLESS_MCP_SERVER_NAME=<PAPERLESS_MCP_SERVER_NAME> -e PAPERLESS_MCP_INSTANCE_DESCRIPTION=<PAPERLESS_MCP_INSTANCE_DESCRIPTION> -e PAPERLESS_MCP_INSTRUCTIONS_EXTRA=<PAPERLESS_MCP_INSTRUCTIONS_EXTRA> -e PAPERLESS_MCP_INSTRUCTIONS=<PAPERLESS_MCP_INSTRUCTIONS> -e PAPERLESS_MCP_LOG_LEVEL=<PAPERLESS_MCP_LOG_LEVEL> -e PAPERLESS_MCP_LOG_FORMAT=<PAPERLESS_MCP_LOG_FORMAT> -e PAPERLESS_MCP_PAPERLESS_URL=<PAPERLESS_MCP_PAPERLESS_URL> -e PAPERLESS_MCP_API_TOKEN=<PAPERLESS_MCP_API_TOKEN> -e PAPERLESS_MCP_HTTP_TIMEOUT_SECONDS=<PAPERLESS_MCP_HTTP_TIMEOUT_SECONDS> -e PAPERLESS_MCP_HTTP_RETRIES=<PAPERLESS_MCP_HTTP_RETRIES> -e PAPERLESS_MCP_DEFAULT_PAGE_SIZE=<PAPERLESS_MCP_DEFAULT_PAGE_SIZE> -e PAPERLESS_MCP_PAPERLESS_PUBLIC_URL=<PAPERLESS_MCP_PAPERLESS_PUBLIC_URL> -e PAPERLESS_MCP_TRANSFER_TTL_DEFAULT_S=<PAPERLESS_MCP_TRANSFER_TTL_DEFAULT_S> -e PAPERLESS_MCP_TRANSFER_TTL_MAX_S=<PAPERLESS_MCP_TRANSFER_TTL_MAX_S> -e PAPERLESS_MCP_TRANSFER_GRACE_TTL_S=<PAPERLESS_MCP_TRANSFER_GRACE_TTL_S> -e PAPERLESS_MCP_TRANSFER_LEASE_S=<PAPERLESS_MCP_TRANSFER_LEASE_S> -e PAPERLESS_MCP_TRANSFER_MAX_UPLOAD_BYTES=<PAPERLESS_MCP_TRANSFER_MAX_UPLOAD_BYTES> -- uvx pvliesdonk-paperless-mcp

Adds it for this project only. Append --scope user to make it available everywhere. Claude Code docs

This listing does not declare its tools. Connect the server and your client will discover them on the handshake.