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
Déduit des transports déclarés par cette annonce (stdio). Un client absent de cette liste n’est pas écarté pour autant — c’est simplement quelque chose que Forge ne peut pas confirmer.
PAPERLESS_API_KEYClé d’APIobligatoirePaperless-ngx API token (My Profile → generate token)
Déclaré par l’auteur dans le registre MCP officiel. Forge does not store, broker, or ever see these values — the config below is scaffolded with placeholders you fill in locally.
La vérification confirme l’identité de l’éditeur (la propriété du dépôt), pas la sûreté du code. L’analyse de sécurité couvre les CVE connues et les scripts d’installation suspects.
Lu dans le code que npm livre réellement, au moment de l’analyse. Le paquet n’a jamais été exécuté. Les outils enregistrés dynamiquement à l’exécution, ou cachés dans du code empaqueté ou minifié, peuvent passer inaperçus — c’est donc un plancher de la surface d’outils, pas un recensement complet.
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.
Aucun schéma d’entrée n’a été publié pour cet outil.
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.
Aucun schéma d’entrée n’a été publié pour cet outil.
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.
Aucun schéma d’entrée n’a été publié pour cet outil.
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.
Aucun schéma d’entrée n’a été publié pour cet outil.
delete_correspondentprivilégié⚠️ 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.
Aucun schéma d’entrée n’a été publié pour cet outil.
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…
Aucun schéma d’entrée n’a été publié pour cet outil.
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.
Aucun schéma d’entrée n’a été publié pour cet outil.
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$).
Aucun schéma d’entrée n’a été publié pour cet outil.
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…
Aucun schéma d’entrée n’a été publié pour cet outil.
delete_custom_fieldprivilégié⚠️ 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.
Aucun schéma d’entrée n’a été publié pour cet outil.
edit_custom_fields_bulkprivilégié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.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.
Aucun schéma d’entrée n’a été publié pour cet outil.
edit_documents_bulkprivilégiéAucune description publiéeCet outil n’a publié aucune description. Forge n’en invente pas.
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…
Aucun schéma d’entrée n’a été publié pour cet outil.
list_documentsAucune description publiéeCet outil n’a publié aucune description. Forge n’en invente pas.
get_documentAucune description publiéeCet outil n’a publié aucune description. Forge n’en invente pas.
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…
Aucun schéma d’entrée n’a été publié pour cet outil.
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…
Aucun schéma d’entrée n’a été publié pour cet outil.
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.
Aucun schéma d’entrée n’a été publié pour cet outil.
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.
Aucun schéma d’entrée n’a été publié pour cet outil.
update_documentAucune description publiéeCet outil n’a publié aucune description. Forge n’en invente pas.
email_documentSend a document via email to one or more recipients.Send a document via email to one or more recipients.
Aucun schéma d’entrée n’a été publié pour cet outil.
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.
Aucun schéma d’entrée n’a été publié pour cet outil.
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.
Aucun schéma d’entrée n’a été publié pour cet outil.
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…
Aucun schéma d’entrée n’a été publié pour cet outil.
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.
Aucun schéma d’entrée n’a été publié pour cet outil.
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.
Aucun schéma d’entrée n’a été publié pour cet outil.
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.
Aucun schéma d’entrée n’a été publié pour cet outil.
delete_document_typeprivilégié⚠️ 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.
Aucun schéma d’entrée n’a été publié pour cet outil.
upload_document_versionprivilégié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…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…
Aucun schéma d’entrée n’a été publié pour cet outil.
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`.
Aucun schéma d’entrée n’a été publié pour cet outil.
delete_document_versionprivilégié⚠️ 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.
Aucun schéma d’entrée n’a été publié pour cet outil.
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.
Aucun schéma d’entrée n’a été publié pour cet outil.
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.
Aucun schéma d’entrée n’a été publié pour cet outil.
get_mail_accountGet one mail account by ID (password masked).Get one mail account by ID (password masked).
Aucun schéma d’entrée n’a été publié pour cet outil.
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.
Aucun schéma d’entrée n’a été publié pour cet outil.
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.
Aucun schéma d’entrée n’a été publié pour cet outil.
delete_mail_accountprivilégié⚠️ 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.
Aucun schéma d’entrée n’a été publié pour cet outil.
test_mail_accountAucune description publiéeCet outil n’a publié aucune description. Forge n’en invente pas.
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.
Aucun schéma d’entrée n’a été publié pour cet outil.
list_mail_rulesAucune description publiéeCet outil n’a publié aucune description. Forge n’en invente pas.
34 outils sur 40 ont publié une description.
Les noms et descriptions d’outils sont écrits par l’éditeur et affichés tels quels, comme du texte inerte. Ce sont les chaînes qu’un client MCP transmet à un modèle, alors Forge y recherche des motifs d’injection de prompt — tout constat apparaît avec l’analyse de sécurité ci-dessus. « Privilégié » est une correspondance de mot-clé sur le nom de l’outil, pas un audit de ce qu’il fait : un nom anodin peut tout de même tout faire.
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
Les noms cliquables ouvrent l’index Forge de toutes les entrées observées exposant cet outil. Parcourir tous les outils indexés.
L'exploration s'est arrêtée à la limite de 60 paquets. Le reste de l'arbre n'a jamais été résolu.
36 autres paquets résolus ne sont pas dessinés ici (limite d'affichage : 24). Toute dépendance porteuse d'un avis de sécurité est dessinée quelle que soit la limite. Inventaire complet (SBOM CycloneDX)
69 dépendances déclarées ne sont jamais arrivées dans l'arbre. Elles manquent à la résolution de Forge, pas au paquet.
+57 de plus non listées. Les comptes par motif ci-dessus les couvrent toutes.
Non suivies : peerDependencies. Cet arbre ne couvre que les dépendances d'exécution ; ce qu'elles entraînent n'a jamais été résolu.