
cubinet-code/paperless-ngx-mcp
API developmentこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
MCP server for Paperless-NGX (2.x and 3.x). Lets AI assistants manage documents, tags, correspondents, document types, custom fields, saved views, storage paths, workflows, share links, notes, trash,...
概要
A Model Context Protocol server for Paperless-NGX. Exposes the full Paperless-NGX REST API to AI assistants — documents, tags, correspondents, document types, custom fields, storage paths, saved views, share links and bundles, workflows, mail accounts and rules, document versions, notes, trash, and tasks. - A CI test checks every endpoint in Paperless's /api/schema/ against the tools here and fails when upstream adds one that is neither wrapped nor deliberately skipped. - The end-to-end suite runs the tools against a live Paperless-ngx 3.2.1 container, not mocks. - Every delete_* tool, empty_trash, merge_documents_as_versions and bulk delete require confirm: true; bulk edits across "all matching documents" refuse filters Paperless would silently ignore; and the triage_inbox prompt proposes changes and waits for your go-ahead before writing anything. - Verb-first tool names (list_*, get_*, delete_*, …) group into one permission wildcard each.
README
以下は原文 README の抜粋です。原文を見る。
paperless-ngx-mcp
A Model Context Protocol server for Paperless-NGX. Exposes the full Paperless-NGX REST API to AI assistants — documents, tags, correspondents, document types, custom fields, storage paths, saved views, share links and bundles, workflows, mail accounts and rules, document versions, notes, trash, and tasks.
Why this one?
- Complete, and it stays that way. A CI test checks every endpoint in Paperless’s
/api/schema/against the tools here and fails when upstream adds one that is neither wrapped nor deliberately skipped. - Tested against real Paperless. The end-to-end suite runs the tools against a live Paperless-ngx 3.2.1 container, not mocks.
- Asks before it breaks things. Every
delete_*tool,empty_trash,merge_documents_as_versionsand bulkdeleterequireconfirm: true; bulk edits across “all matching documents” refuse filters Paperless would silently ignore; and thetriage_inboxprompt proposes changes and waits for your go-ahead before writing anything. - Easy to allowlist. Verb-first tool names (
list_*,get_*,delete_*, …) group into one permission wildcard each. - Install it your way:
npx, a Docker image, a one-click Claude Desktop extension, or the official MCP Registry.
Compatibility
Targets Paperless-ngx 3.2 (tested against 3.2.1). Older Paperless versions are not supported — use [email protected] for Paperless 2.x. The package major version tracks the Paperless-ngx major it targets; there are no 1.x or 2.x releases.
Quick Start
The server is published to npm as paperless-ngx-mcp. You can run it with npx — no clone or build required.
Claude Code
claude mcp add paperless --scope user \
--env PAPERLESS_URL=https://your-paperless-instance \
--env PAPERLESS_API_KEY=your-api-token \
-- npx -y paperless-ngx-mcp
Drop --scope user to install for the current project only. See claude mcp add --help for more options.
Codex CLI
codex mcp add paperless \
--env PAPERLESS_URL=https://your-paperless-instance \
--env PAPERLESS_API_KEY=your-api-token \
-- npx -y paperless-ngx-mcp
This writes the entry to ~/.codex/config.toml.
Claude Desktop (extension)
インストール
npx -y paperless-ngx-mcp設定
{
"mcpServers": {
"paperless": {
"command": "npx",
"args": ["-y", "paperless-ngx-mcp"],
"env": {
"PAPERLESS_URL": "https://your-paperless-instance",
"PAPERLESS_API_KEY": "your-api-token",
"PAPERLESS_PUBLIC_URL": "https://your-public-domain"
}
}
}
}