paperless-ngx-mcp

MCPattestiert
v3.2.1Oliver FueckertISCAktualisiert heutenpmGitHub

Model Context Protocol (MCP) server for Paperless-NGX. Lets AI assistants manage documents and their versions, tags, correspondents, document types, custom fields, saved views, storage paths, workflows, mail accounts and rules, share links and bundles, no

Läuft in
ClaudeCursorCopilotGemini

Abgeleitet aus den Transporten, die dieser Eintrag deklariert (stdio). Ein Client, der hier nicht steht, ist damit nicht ausgeschlossen — Forge kann ihn nur nicht bestätigen.

Attestierter Build
Eine verifizierte Herkunfts-Attestation bindet dieses Artefakt an das gelistete Repository. Den Eintrag hat noch niemand beansprucht — das belegt, wo der Code gebaut wurde, nicht, wer dahintersteht.
6GitHub-Sterne
3Forks
heuteLetzte Aktualisierung
Braucht 1 Zugangsdatum, bevor es läuft
  • PAPERLESS_API_KEYAPI-Schlüsselerforderlich

    Paperless-ngx API token (My Profile → generate token)

Vom Autor in der offiziellen MCP-Registry angegeben. Forge does not store, broker, or ever see these values — the config below is scaffolded with placeholders you fill in locally.

Paket
AutorOliver Fueckert
LizenzISC
Version3.2.1
Quellenpm+mcp-registry
Trust-Status
A
85/100Vertrauenswürdig
✓Im Forge-Index gelistet+10/10
✓Identität verifiziert · attestierter Build+20/20
—Ed25519-Publish-Signatur+0/5
→ Wird automatisch ergänzt, wenn der Publisher `forge publish` ausführt
—Domain-Verifizierung+0/5
→ Publisher: hinterlege /.well-known/forge.json auf der Paket-Homepage mit { "publisher": "<github-login>" }
✓npm Trusted Publishing (Sigstore)+5/5
—npm-Maintainer-Übereinstimmung+0/5
→ Publisher: trage den verifizierten GitHub-Login als Maintainer des npm-Pakets ein (npm owner add <login>)
✓CVE-Scan · sauber+30/30
✓Statische Analyse · sauber+20/20
Füge das in Claude Code, Cursor oder einen beliebigen KI-Assistenten ein, um alle Lücken zu schließen
StatusIdentität verifiziert
PublisherNicht verifiziert
SignaturNicht signiert
Domain—
Herkunft✓ Sigstore-verifiziert · fdb24b6
Abhängigkeiten✓ 60 aufgelöst+ · keine verwundbar
Tool-Oberfläche40 Tools · 8 privilegiert
Sicherheits-Scan✓ Sauberv3.2.1 · heuteWie gut funktioniert dieser Scan?
EvaluierungenKeine
Indexiert24. Sept. 2026

Die Verifizierung bestätigt die Identität des Publishers (die Inhaberschaft am Repo), nicht die Sicherheit des Codes. Der Sicherheits-Scan deckt bekannte CVEs und verdächtige Installationsskripte ab.

Tools

40 Tools · 8 privilegiert
Statisch aus dem veröffentlichten Paket extrahiertv3.2.1 · 7h ago

Aus dem Quellcode gelesen, den npm tatsächlich ausliefert, zum Zeitpunkt des Scans. Das Paket wurde nie ausgeführt. Tools, die zur Laufzeit dynamisch registriert werden oder in gebündeltem beziehungsweise minifiziertem Code stecken, können übersehen werden — das hier ist also eine Untergrenze der Tool-Oberfläche, keine vollständige Erhebung.

list_correspondentsList all correspondents with optional filtering and pagination. Correspondents represent entities that send or receive documents.

List all correspondents with optional filtering and pagination. Correspondents represent entities that send or receive documents.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

get_correspondentGet a specific correspondent by ID with full details including matching rules.

Get a specific correspondent by ID with full details including matching rules.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

create_correspondentCreate a new correspondent with optional matching pattern and algorithm for automatic document assignment.

Create a new correspondent with optional matching pattern and algorithm for automatic document assignment.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

update_correspondentUpdate fields on ONE correspondent (PATCH — only fields you supply are changed). Editable fields: name, match (matching pattern), matching_algorithm, is_insensitive. To assign this correspondent to documents, use edit_documents_bulk with method 'set_correspondent' or update_document instead.

Update fields on ONE correspondent (PATCH — only fields you supply are changed). Editable fields: name, match (matching pattern), matching_algorithm, is_insensitive. To assign this correspondent to documents, use edit_documents_bulk with method 'set_correspondent' or update_document instead.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

delete_correspondentprivilegiert⚠️ DESTRUCTIVE: Permanently delete a correspondent from the entire system. This will affect ALL documents that use this correspondent.

⚠️ DESTRUCTIVE: Permanently delete a correspondent from the entire system. This will affect ALL documents that use this correspondent.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

list_custom_fieldsList all custom fields. IMPORTANT: When a user query may refer to a custom field, you should fetch all custom fields up front (with a large enough page_size), cache them for the session, and search locally for matches by name before making further API calls. This reduces redundant requests and hand…

List all custom fields. IMPORTANT: When a user query may refer to a custom field, you should fetch all custom fields up front (with a large enough page_size), cache them for the session, and search locally for matches by name before making further API calls. This reduces redundant requests and hand…

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

get_custom_fieldGet a specific custom field by ID with full details including data type and extra configuration.

Get a specific custom field by ID with full details including data type and extra configuration.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

create_custom_fieldCreate a new custom field with a specified data type (string, url, date, boolean, integer, float, monetary, documentlink, or select). For monetary fields, values must use currency code prefix format (e.g., USD10.00, GBP123.45) — NOT trailing symbol format (e.g., 10.00$).

Create a new custom field with a specified data type (string, url, date, boolean, integer, float, monetary, documentlink, or select). For monetary fields, values must use currency code prefix format (e.g., USD10.00, GBP123.45) — NOT trailing symbol format (e.g., 10.00$).

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

update_custom_fieldUpdate fields on ONE custom field definition (PATCH — only fields you supply are changed). Editable fields: name, data_type, extra_data. ⚠️ Changing data_type on a field that already has values on documents may render those values invalid or unreadable — change data_type only on unused fields. To s…

Update fields on ONE custom field definition (PATCH — only fields you supply are changed). Editable fields: name, data_type, extra_data. ⚠️ Changing data_type on a field that already has values on documents may render those values invalid or unreadable — change data_type only on unused fields. To s…

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

delete_custom_fieldprivilegiert⚠️ DESTRUCTIVE: Permanently delete a custom field from the entire system. This will remove the field from ALL documents that use it.

⚠️ DESTRUCTIVE: Permanently delete a custom field from the entire system. This will remove the field from ALL documents that use it.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

edit_custom_fields_bulkprivilegiertManage custom field definitions themselves (permissions, delete). ⚠️ This does NOT modify custom field values on documents — use edit_documents_bulk with method 'modify_custom_fields' for that. WARNING: 'delete' permanently removes custom fields from the entire system.

Manage custom field definitions themselves (permissions, delete). ⚠️ This does NOT modify custom field values on documents — use edit_documents_bulk with method 'modify_custom_fields' for that. WARNING: 'delete' permanently removes custom fields from the entire system.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

edit_documents_bulkprivilegiertKeine Beschreibung veröffentlicht

Dieses Tool hat keine Beschreibung veröffentlicht. Forge erfindet keine.

post_documentUpload a new document file (PDF, image, etc.) to Paperless-NGX with optional metadata. Upload is asynchronous: by default returns a task UUID (use list_tasks to track consumer progress) — the actual document ID is assigned only after the consumer has processed the file. Set poll=true to wait for th…

Upload a new document file (PDF, image, etc.) to Paperless-NGX with optional metadata. Upload is asynchronous: by default returns a task UUID (use list_tasks to track consumer progress) — the actual document ID is assigned only after the consumer has processed the file. Set poll=true to wait for th…

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

list_documentsKeine Beschreibung veröffentlicht

Dieses Tool hat keine Beschreibung veröffentlicht. Forge erfindet keine.

get_documentKeine Beschreibung veröffentlicht

Dieses Tool hat keine Beschreibung veröffentlicht. Forge erfindet keine.

get_document_contentGet the text content of a specific document by ID. Use this when you need to read or analyze the actual document text. For long documents, read a slice with max_chars (and offset to continue) — e.g. max_chars: 2000 is usually enough to identify a document. Paperless stores the text without page bou…

Get the text content of a specific document by ID. Use this when you need to read or analyze the actual document text. For long documents, read a slice with max_chars (and offset to continue) — e.g. max_chars: 2000 is usually enough to identify a document. Paperless stores the text without page bou…

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

search_documentsRanked full-text search through Paperless's search index (content, title and metadata). mode 'query' (default) takes advanced syntax — AND/OR/NOT, "quoted phrases", field:value, wildcards*; 'text' takes plain words with no syntax; 'title' searches titles only. The index is updated in the background…

Ranked full-text search through Paperless's search index (content, title and metadata). mode 'query' (default) takes advanced syntax — AND/OR/NOT, "quoted phrases", field:value, wildcards*; 'text' takes plain words with no syntax; 'title' searches titles only. The index is updated in the background…

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

download_documentDownload a document file by ID. Returns the document as a base64-encoded resource.

Download a document file by ID. Returns the document as a base64-encoded resource.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

get_document_thumbnailGet a document thumbnail (image preview) by ID. Returns the thumbnail as a base64-encoded WebP image resource.

Get a document thumbnail (image preview) by ID. Returns the thumbnail as a base64-encoded WebP image resource.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

update_documentKeine Beschreibung veröffentlicht

Dieses Tool hat keine Beschreibung veröffentlicht. Forge erfindet keine.

email_documentSend a document via email to one or more recipients.

Send a document via email to one or more recipients.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

get_document_historyGet the change history / audit log for a document, showing who changed what and when.

Get the change history / audit log for a document, showing who changed what and when.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

get_document_previewGet a full-page preview image of a document. Returns the preview as a base64-encoded image resource.

Get a full-page preview image of a document. Returns the preview as a base64-encoded image resource.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

list_document_typesList all document types. IMPORTANT: When a user query may refer to a document type or tag, you should fetch all document types and all tags up front (get_filing_options returns both, plus correspondents and storage paths, in one call), cache them for the session, and search locally for matches by n…

List all document types. IMPORTANT: When a user query may refer to a document type or tag, you should fetch all document types and all tags up front (get_filing_options returns both, plus correspondents and storage paths, in one call), cache them for the session, and search locally for matches by n…

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

get_document_typeGet a specific document type by ID with full details including matching rules.

Get a specific document type by ID with full details including matching rules.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

create_document_typeCreate a new document type with optional matching pattern and algorithm for automatic document classification.

Create a new document type with optional matching pattern and algorithm for automatic document classification.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

update_document_typeUpdate fields on ONE document type (PATCH — only fields you supply are changed). Editable fields: name, match (matching pattern), matching_algorithm, is_insensitive. To assign this document type to documents, use edit_documents_bulk with method 'set_document_type' or update_document instead.

Update fields on ONE document type (PATCH — only fields you supply are changed). Editable fields: name, match (matching pattern), matching_algorithm, is_insensitive. To assign this document type to documents, use edit_documents_bulk with method 'set_document_type' or update_document instead.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

delete_document_typeprivilegiert⚠️ DESTRUCTIVE: Permanently delete a document type from the entire system. This will affect ALL documents that use this type.

⚠️ DESTRUCTIVE: Permanently delete a document type from the entire system. This will affect ALL documents that use this type.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

upload_document_versionprivilegiertAdd a new file version to an EXISTING document instead of creating a new document — e.g. a corrected scan, a signed copy, or an unlocked PDF. The new file becomes the current version: content, search and downloads follow it, and earlier versions stay listed in the document's `versions` (see get_doc…

Add a new file version to an EXISTING document instead of creating a new document — e.g. a corrected scan, a signed copy, or an unlocked PDF. The new file becomes the current version: content, search and downloads follow it, and earlier versions stay listed in the document's `versions` (see get_doc…

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

update_document_versionRename a version of a document (change its version_label). Version IDs are listed in get_document's `versions`.

Rename a version of a document (change its version_label). Version IDs are listed in get_document's `versions`.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

delete_document_versionprivilegiert⚠️ DESTRUCTIVE: Permanently delete one non-root version of a document. The root (original) version can't be deleted — delete the document instead.

⚠️ DESTRUCTIVE: Permanently delete one non-root version of a document. The root (original) version can't be deleted — delete the document instead.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

merge_documents_as_versions⚠️ Fold other documents into one document as its versions: each document in merge_documents stops existing as a separate document and becomes a version of root_document_id. Use it when the same paper arrived twice (e.g. a scan and a later emailed copy). Runs asynchronously.

⚠️ Fold other documents into one document as its versions: each document in merge_documents stops existing as a separate document and becomes a version of root_document_id. Use it when the same paper arrived twice (e.g. a scan and a later emailed copy). Runs asynchronously.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

list_mail_accountsList the IMAP accounts Paperless fetches mail from. Passwords are always masked.

List the IMAP accounts Paperless fetches mail from. Passwords are always masked.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

get_mail_accountGet one mail account by ID (password masked).

Get one mail account by ID (password masked).

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

create_mail_accountCreate an IMAP account for Paperless to fetch mail from. Nothing is fetched until a mail rule uses the account (create_mail_rule). Check the connection first with test_mail_account.

Create an IMAP account for Paperless to fetch mail from. Nothing is fetched until a mail rule uses the account (create_mail_rule). Check the connection first with test_mail_account.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

update_mail_accountUpdate fields on ONE mail account (PATCH — only fields you supply are changed). Omit password to keep the stored one.

Update fields on ONE mail account (PATCH — only fields you supply are changed). Omit password to keep the stored one.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

delete_mail_accountprivilegiert⚠️ DESTRUCTIVE: Permanently delete a mail account and stop fetching from it. Mail rules using it are deleted too. Already-imported documents are not affected.

⚠️ DESTRUCTIVE: Permanently delete a mail account and stop fetching from it. Mail rules using it are deleted too. Already-imported documents are not affected.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

test_mail_accountKeine Beschreibung veröffentlicht

Dieses Tool hat keine Beschreibung veröffentlicht. Forge erfindet keine.

process_mail_accountFetch mail for one account now and run its rules, instead of waiting for the schedule. Runs in the background; see list_tasks with task_type mail_fetch.

Fetch mail for one account now and run its rules, instead of waiting for the schedule. Runs in the background; see list_tasks with task_type mail_fetch.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

list_mail_rulesKeine Beschreibung veröffentlicht

Dieses Tool hat keine Beschreibung veröffentlicht. Forge erfindet keine.

34 von 40 Tools haben eine Beschreibung veröffentlicht.

Tool-Namen und -Beschreibungen stammen vom Publisher und werden wortgetreu als inerter Text angezeigt. Es sind die Zeichenketten, die ein MCP-Client an ein Modell übergibt, deshalb prüft Forge sie auf Prompt-Injection-Muster — jeder Befund erscheint oben beim Sicherheits-Scan. „Privilegiert“ ist ein Schlagwort-Treffer im Tool-Namen, keine Prüfung dessen, was das Tool tut: ein harmlos klingender Name kann trotzdem alles tun.

Über

Model Context Protocol (MCP) server for Paperless-NGX. Lets AI assistants manage documents and their versions, tags, correspondents, document types, custom fields, saved views, storage paths, workflows, mail accounts and rules, share links and bundles, no

Schlagwörter
mcppaperless-ngxdocument-managementaiclaudemodel-context-protocolpaperless
Alternativen
Tool-Oberflächen werden verglichen…

Abhängigkeitsbaum

Was ein Forge-Scan am 2026-10-01 aus den npm-Metadaten aufgelöst hat — beobachtete Auflösung, keine Angabe des Herausgebers.

60 Pakete aufgelöst · 5 direkt · keines mit Sicherheitshinweisen Die Auflösung endet bei Tiefe 4 und 60 Paketen.

Der Durchlauf endete an der Grenze von 60 Paketen. Der Rest des Baums wurde nie aufgelöst.

36 weitere aufgelöste Pakete werden hier nicht gezeichnet (Anzeigegrenze: 24). Jede Abhängigkeit mit einem Sicherheitshinweis wird unabhängig von der Grenze gezeichnet. Vollständiges Inventar (CycloneDX-SBOM)

Deklariert, aber nicht aufgelöst

69 deklarierte Abhängigkeiten sind nie im Baum gelandet. Sie fehlen in Forges Auflösung, nicht im Paket.

+57 weitere nicht aufgeführt. Die Zählungen nach Grund oben erfassen sie alle.

Nicht verfolgt: peerDependencies. Dieser Baum erfasst nur Laufzeitabhängigkeiten; was jene mitbringen, wurde nie aufgelöst.

Themen

Verwandtes in documents & pdfs