Paperless-ngx MCP Server
by tobee89io.github.tobee89/mcp-paperless-ngxv0.1.1
MCP server for Paperless-ngx 3.x — full REST API coverage, schema-aware, token-frugal.
context tax
queued
security
queued
cold start
queued
freshness
Maintained50d ago
Install Paperless-ngx MCP server
Install in Claude Code
claude mcp add paperless-ngx-tobee89 -e PAPERLESS_URL='<paperless-url>' -e PAPERLESS_TOKEN='<paperless-token>' -- npx -y mcp-paperless-ngxInstall in Cursor
{
"mcpServers": {
"paperless-ngx-tobee89": {
"command": "npx",
"args": [
"-y",
"mcp-paperless-ngx"
],
"env": {
"PAPERLESS_URL": "<paperless-url>",
"PAPERLESS_TOKEN": "<paperless-token>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"paperless-ngx-tobee89": {
"command": "npx",
"args": [
"-y",
"mcp-paperless-ngx"
],
"env": {
"PAPERLESS_URL": "<paperless-url>",
"PAPERLESS_TOKEN": "<paperless-token>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"paperless-ngx-tobee89": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-paperless-ngx"
],
"env": {
"PAPERLESS_URL": "<paperless-url>",
"PAPERLESS_TOKEN": "<paperless-token>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"paperless-ngx-tobee89": {
"command": "npx",
"args": [
"-y",
"mcp-paperless-ngx"
],
"env": {
"PAPERLESS_URL": "<paperless-url>",
"PAPERLESS_TOKEN": "<paperless-token>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| PAPERLESS_URL | yes | — | Base URL of the Paperless-ngx instance |
| PAPERLESS_TOKEN | yes | yes | Paperless-ngx API token |
| PAPERLESS_PUBLIC_URL | — | — | URL used when building links, if the instance is reachable under a different name from outside |
| PAPERLESS_TOOLSETS | — | — | Comma-separated toolsets, or all |
| PAPERLESS_READ_ONLY | — | — | Expose only tools that cannot change anything |
| PAPERLESS_HEADERS | — | — | Extra request headers; needed behind forward-auth proxies such as Authentik |
| PAPERLESS_DOWNLOAD_DIR | — | — | Where downloaded files are written |
| PAPERLESS_MAX_PAGE_SIZE | — | — | Hard ceiling on list page sizes |
| PAPERLESS_TIMEOUT_MS | — | — | Request timeout in milliseconds |
| PAPERLESS_API_VERSION | — | — | REST API version sent in the Accept header |
Freshness
Maintained — last maintenance signal 50d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-08-21 · 50d ago · GitHub
Latest release
2026-08-20 · 51d ago · GitHub · v0.1.1
Package published
no data · npm/PyPI
Registry entry updated
2026-08-20 · 51d ago · official registry · v0.1.1
FAQ
›How do I install the Paperless-ngx MCP server in Claude Code?
Run: claude mcp add paperless-ngx-tobee89 -e PAPERLESS_URL='<paperless-url>' -e PAPERLESS_TOKEN='<paperless-token>' -- npx -y mcp-paperless-ngx. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Paperless-ngx require an API key?
Yes. It expects PAPERLESS_URL, PAPERLESS_TOKEN, of which 1 is a secret.
›Can I use Paperless-ngx as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is Paperless-ngx in the official MCP registry?
Yes, as io.github.tobee89/mcp-paperless-ngx.