Paperless-NGX over MCP: search, read, upload and tag documents; manage correspondents and types.
{ "mcpServers": { "io.github.pvliesdonk-paperless-mcp": { "command": "uvx", "args": [ "pvliesdonk-paperless-mcp==3.0.0" ], "env": { "PAPERLESS_MCP_KV_STORE_URL": "<value>", "PAPERLESS_MCP_TOOLS_ALLOW": "<value>", "PAPERLESS_MCP_TOOLS_DENY": "<value>", "PAPERLESS_MCP_SERVER_NAME": "<value>", "PAPERLESS_MCP_INSTANCE_DESCRIPTION": "<value>", "PAPERLESS_MCP_INSTRUCTIONS_EXTRA": "<value>", "PAPERLESS_MCP_INSTRUCTIONS": "<value>", "PAPERLESS_MCP_LOG_LEVEL": "<value>", "PAPERLESS_MCP_LOG_FORMAT": "<value>", "PAPERLESS_MCP_PAPERLESS_URL": "<value>", "PAPERLESS_MCP_API_TOKEN": "<secret>", "PAPERLESS_MCP_HTTP_TIMEOUT_SECONDS": "<value>", "PAPERLESS_MCP_HTTP_RETRIES": "<value>", "PAPERLESS_MCP_DEFAULT_PAGE_SIZE": "<value>", "PAPERLESS_MCP_PAPERLESS_PUBLIC_URL": "<value>", "PAPERLESS_MCP_TRANSFER_TTL_DEFAULT_S": "<value>", "PAPERLESS_MCP_TRANSFER_TTL_MAX_S": "<value>", "PAPERLESS_MCP_TRANSFER_GRACE_TTL_S": "<value>", "PAPERLESS_MCP_TRANSFER_LEASE_S": "<value>", "PAPERLESS_MCP_TRANSFER_MAX_UPLOAD_BYTES": "<value>" } } }}Power your agent
The publisher's own command. Not a PlugMCP endpoint.
Host a copy with our keys and logs.
uvx pvliesdonk-paperless-mcp==3.0.0Claude Code has no install link for a local command. Copy the command below and run it in a terminal.
PAPERLESS_MCP_KV_STORE_URL=<value> PAPERLESS_MCP_TOOLS_ALLOW=<value> PAPERLESS_MCP_TOOLS_DENY=<value> PAPERLESS_MCP_SERVER_NAME=<value> PAPERLESS_MCP_INSTANCE_DESCRIPTION=<value> PAPERLESS_MCP_INSTRUCTIONS_EXTRA=<value> PAPERLESS_MCP_INSTRUCTIONS=<value> PAPERLESS_MCP_LOG_LEVEL=<value> PAPERLESS_MCP_LOG_FORMAT=<value> PAPERLESS_MCP_PAPERLESS_URL=<value> PAPERLESS_MCP_API_TOKEN=<secret> PAPERLESS_MCP_HTTP_TIMEOUT_SECONDS=<value> PAPERLESS_MCP_HTTP_RETRIES=<value> PAPERLESS_MCP_DEFAULT_PAGE_SIZE=<value> PAPERLESS_MCP_PAPERLESS_PUBLIC_URL=<value> PAPERLESS_MCP_TRANSFER_TTL_DEFAULT_S=<value> PAPERLESS_MCP_TRANSFER_TTL_MAX_S=<value> PAPERLESS_MCP_TRANSFER_GRACE_TTL_S=<value> PAPERLESS_MCP_TRANSFER_LEASE_S=<value> PAPERLESS_MCP_TRANSFER_MAX_UPLOAD_BYTES=<value> claude mcp add io.github.pvliesdonk-paperless-mcp -- uvx pvliesdonk-paperless-mcp==3.0.0Run in a terminal.
{ "mcpServers": { "io.github.pvliesdonk-paperless-mcp": { "command": "uvx", "args": [ "pvliesdonk-paperless-mcp==3.0.0" ], "env": { "PAPERLESS_MCP_KV_STORE_URL": "<value>", "PAPERLESS_MCP_TOOLS_ALLOW": "<value>", "PAPERLESS_MCP_TOOLS_DENY": "<value>", "PAPERLESS_MCP_SERVER_NAME": "<value>", "PAPERLESS_MCP_INSTANCE_DESCRIPTION": "<value>", "PAPERLESS_MCP_INSTRUCTIONS_EXTRA": "<value>", "PAPERLESS_MCP_INSTRUCTIONS": "<value>", "PAPERLESS_MCP_LOG_LEVEL": "<value>", "PAPERLESS_MCP_LOG_FORMAT": "<value>", "PAPERLESS_MCP_PAPERLESS_URL": "<value>", "PAPERLESS_MCP_API_TOKEN": "<secret>", "PAPERLESS_MCP_HTTP_TIMEOUT_SECONDS": "<value>", "PAPERLESS_MCP_HTTP_RETRIES": "<value>", "PAPERLESS_MCP_DEFAULT_PAGE_SIZE": "<value>", "PAPERLESS_MCP_PAPERLESS_PUBLIC_URL": "<value>", "PAPERLESS_MCP_TRANSFER_TTL_DEFAULT_S": "<value>", "PAPERLESS_MCP_TRANSFER_TTL_MAX_S": "<value>", "PAPERLESS_MCP_TRANSFER_GRACE_TTL_S": "<value>", "PAPERLESS_MCP_TRANSFER_LEASE_S": "<value>", "PAPERLESS_MCP_TRANSFER_MAX_UPLOAD_BYTES": "<value>" } } }}claude_desktop_config.json
Remote URL or a command on your machine? How the two installs differ
Run on PlugMCP
A new server you create. It is not this listing's official endpoint. Use the publisher install when you want their URL and their credentials.
LaunchTools
No tool list yet. Remote servers get one after the first health check.
FAQ
Copy the stdio config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
The publisher lists 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, PAPERLESS_MCP_SHUTDOWN_GRACE_S, PAPERLESS_MCP_BASE_URL, PAPERLESS_MCP_BEARER_TOKEN, PAPERLESS_MCP_OIDC_CONFIG_URL, PAPERLESS_MCP_OIDC_CLIENT_ID, PAPERLESS_MCP_OIDC_CLIENT_SECRET, PAPERLESS_MCP_OIDC_AUDIENCE, PAPERLESS_MCP_OIDC_REQUIRED_SCOPES, PAPERLESS_MCP_OIDC_ADVERTISED_SCOPES, PAPERLESS_MCP_OIDC_JWT_SIGNING_KEY, PAPERLESS_MCP_OIDC_VERIFY_ACCESS_TOKEN, PAPERLESS_MCP_APP_DOMAIN, PAPERLESS_MCP_AUTH_MODE, PAPERLESS_MCP_BEARER_TOKENS_FILE, PAPERLESS_MCP_BEARER_DEFAULT_SUBJECT, PAPERLESS_MCP_HTTP_PATH, PAPERLESS_MCP_HEALTH_DETAIL, PUID, PGID.
Paperless MCP runs locally over stdio.
Last checked 2026-10-26. Paperless-NGX over MCP: search, read, upload and tag documents; manage correspondents and types.
From the publisher
README is not crawled yet. Open the repository