T
tobee89/mcp-paperless-ngx
Model Context Protocol server for Paperless-ngx 3.x — full REST API coverage, schema-aware, token-frugal.
no SECURITY.md
View on GitHub ↗Link checked 2026-11-12 · HTTP 200 · opens the vendor's own site
Install & config
- Copy the command above
- Paste it as one entry under
mcpServersinclaude_desktop_config.json— local servers take command + args (example: clients) - Restart your client
Client config (built from the install command this repo gives)
{
"mcpServers": {
"tobee89-mcp-paperless-ngx": {
"command": "npx",
"args": ["-y", "mcp-paperless-ngx"]
}
}
}Parsed from the README we fetched on 2026-10-26; we have not executed it.
command/args come from the install command the repository states. When it is ambiguous, the project README wins.
VS Code (.vscode/mcp.json - the key is servers)
{
"servers": {
"tobee89-mcp-paperless-ngx": {
"command": "npx",
"args": ["-y", "mcp-paperless-ngx"]
}
}
}Same server, but VS Code keeps it under <code>servers</code>.
Claude Code (command line)
claude mcp add --transport stdio tobee89-mcp-paperless-ngx -- npx -y mcp-paperless-ngx
Claude Code does not read a config file; add the server with this command.
Key names differ by client: Clients & CLI
- Star count
- 2 ★ · tobee89/mcp-paperless-ngx · read from the GitHub search API · (checked 2026-11-13 20:00:50)
- Source
- collected from the punkpeye/awesome-mcp-servers list · type: MCP server
- Harvest history
- first seen 2026-10-23 · last seen 2026-11-14 · seen 26× · listed by 23 sources
- Score
- score 2,300 · 2 ★ · 23 sources · mcp
- Install
npx -y mcp-paperless-ngx
FAQ (answers come from our records)
How do I install it?
The repository provides this install command:
npx -y mcp-paperless-ngx. It comes from the repository itself; we cannot guarantee it runs as-is in your client.Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository
tobee89/mcp-paperless-ngx;first catalogued 2026-10-23;last seen 2026-11-14。There is no official certification or quality rating here — we record sources and dates only.mcp-paperless-ngx
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
A Model Context Protocol server for
Paperless-ngx 3.x
Full REST API coverage, schema-aware, token-frugal.
Built against REST API version 10, with three things it does differently:
Accounted coverage. Every one of the 92 documented endpoints is either exposed as a tool or
listed in src/tools/coverage.ts with a written reason for leaving it
out. A test enforces this, so a Paperless release that adds an endpoint fails CI instead of
quietly going unsupported.
Token discipline. A Paperless document carries its full OCR text. Naive wrappers return it by
default and a single search can exhaust the model's context. Here, list results are trimmed
server-side via ?fields=, the text lives behind its own paginated tool, and no list endpoint
hands the raw API response through — a test enforces that. See Context cost.
Scoped surface. 99 tools would drown a model's tool list. Toolsets let you expose only what a
given client needs, and --read-only removes every write path entirely.
Paperless-ngx 2.x is not supported: API version 10 introduced endpoints (nested tags, document
versions, sharelinkbundles, the split PDF operations) that this server assumes exist.
## Quick start
bash
npx -y mcp-paperless-ngx --check # verify connectivity, then exit
### Claude Code
bash
claude mcp add paperless --scope user \
--env PAPERLESSURL=https://paperless.example.com \
--env PAPERLESSTOKEN=your-api-token \
-- npx -y mcp-paperless-ngx
### Claude Desktop, Cursor, Cline, and other MCP clients
json
"mcpServers": {
"paperless": {
"command": "npx",
"args": ["-y", "mcp-paperless-ngx"],
"env": {
"PAPERLESSURL": "https://paperless.example.com",
"PAPERLESSTOKEN": "your-api-token"
### Getting an API token
Paperless web UI → your username (top right) → My Profile → the circular arrow button next to
the API token field.
## Configuration
| Variable | Required | Default | Purpose |
| PAPERLESSURL | yes | — | Base URL the server talks to. |
| PAPERLESSTOKEN | yes | — | API token. PAPERLESSAPIKEY also works. |
| PAPERLESSPUBLICURL | no | PAPERLESSURL | URL used when building links for the user, if the instance is reachable under a different name from outside. |
| PAPERLESSTOOLSETS | no | see below | Comma-separated toolsets, or all. |
| PAPERLESSREADONLY | no | false | Expose only tools that cannot change anything. |
| PAPERLESSHEADERS | no | — | Extra request headers, as JSON ({"X-Auth":"…"}) or Name: value, Name: value. Needed behind forward-auth proxies such as Authentik or Authelia. |
| PAPERLESSDOWNLOADDIR | no | system temp | Where downloaded files are written. |
| PAPERLESSMAXPAGESIZE | no | 100 | Hard ceiling on list page sizes, whatever the model asks for. |
| PAPERLESSTIMEOUTMS | no | 60000 | Request timeout. |
| PAPERLESSAPIVERSION | no | 10 | REST API version sent in the Accept header. |
CLI flags --url, --token, --public-url, --toolsets and --read-only override the
environment. --check verifies connectivity, --list-tools prints the enabled tools.
## Toolsets
| Toolset | Default | Contents |
| documents | on | Search, read, update, delete, upload, download, notes, bulk and PDF operations |
| metadata | on | Tags, correspondents, document types, storage paths |
Paperless-ngx 3.x
Full REST API coverage, schema-aware, token-frugal.
Built against REST API version 10, with three things it does differently:
Accounted coverage. Every one of the 92 documented endpoints is either exposed as a tool or
listed in src/tools/coverage.ts with a written reason for leaving it
out. A test enforces this, so a Paperless release that adds an endpoint fails CI instead of
quietly going unsupported.
Token discipline. A Paperless document carries its full OCR text. Naive wrappers return it by
default and a single search can exhaust the model's context. Here, list results are trimmed
server-side via ?fields=, the text lives behind its own paginated tool, and no list endpoint
hands the raw API response through — a test enforces that. See Context cost.
Scoped surface. 99 tools would drown a model's tool list. Toolsets let you expose only what a
given client needs, and --read-only removes every write path entirely.
Paperless-ngx 2.x is not supported: API version 10 introduced endpoints (nested tags, document
versions, sharelinkbundles, the split PDF operations) that this server assumes exist.
## Quick start
bash
npx -y mcp-paperless-ngx --check # verify connectivity, then exit
### Claude Code
bash
claude mcp add paperless --scope user \
--env PAPERLESSURL=https://paperless.example.com \
--env PAPERLESSTOKEN=your-api-token \
-- npx -y mcp-paperless-ngx
### Claude Desktop, Cursor, Cline, and other MCP clients
json
"mcpServers": {
"paperless": {
"command": "npx",
"args": ["-y", "mcp-paperless-ngx"],
"env": {
"PAPERLESSURL": "https://paperless.example.com",
"PAPERLESSTOKEN": "your-api-token"
### Getting an API token
Paperless web UI → your username (top right) → My Profile → the circular arrow button next to
the API token field.
## Configuration
| Variable | Required | Default | Purpose |
| PAPERLESSURL | yes | — | Base URL the server talks to. |
| PAPERLESSTOKEN | yes | — | API token. PAPERLESSAPIKEY also works. |
| PAPERLESSPUBLICURL | no | PAPERLESSURL | URL used when building links for the user, if the instance is reachable under a different name from outside. |
| PAPERLESSTOOLSETS | no | see below | Comma-separated toolsets, or all. |
| PAPERLESSREADONLY | no | false | Expose only tools that cannot change anything. |
| PAPERLESSHEADERS | no | — | Extra request headers, as JSON ({"X-Auth":"…"}) or Name: value, Name: value. Needed behind forward-auth proxies such as Authentik or Authelia. |
| PAPERLESSDOWNLOADDIR | no | system temp | Where downloaded files are written. |
| PAPERLESSMAXPAGESIZE | no | 100 | Hard ceiling on list page sizes, whatever the model asks for. |
| PAPERLESSTIMEOUTMS | no | 60000 | Request timeout. |
| PAPERLESSAPIVERSION | no | 10 | REST API version sent in the Accept header. |
CLI flags --url, --token, --public-url, --toolsets and --read-only override the
environment. --check verifies connectivity, --list-tools prints the enabled tools.
## Toolsets
| Toolset | Default | Contents |
| documents | on | Search, read, update, delete, upload, download, notes, bulk and PDF operations |
| metadata | on | Tags, correspondents, document types, storage paths |
Listed badge (optional)
Copy this line into the README if you want the listing mark. Optional, and it does not affect being listed.
[](https://anclum.com/en/s/tobee89-mcp-paperless-ngx/)
- Source
- awesome · https://github.com/tobee89/mcp-paperless-ngx
- Browse by field
- MCP servers
- Traction
- 2 ★
- Listed by
- 23 independent sources
- added
- today
- Security policy
- no
SECURITY.mdat the repository root (which does not mean it is unsafe)
More like this
Filed under
Every tag opens the full list for that filter. Counts are the live catalogue figures.