mcp-paperless-ngx

MCPcommunity
v0.1.1io.github.tobee89UnknownUpdated 1mo agonpmGitHub

MCP server for Paperless-ngx 3.x — full REST API coverage, schema-aware, token-frugal.

Works in
ClaudeCursorCopilotGemini

Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Automatically indexed from public sources. Not yet verified by the developer on Forge.Claim this listing →
1mo agoLast update
Needs 1 credential before it runs
  • PAPERLESS_TOKENAPI keyrequired

    Paperless-ngx API token

Declared by the author in the official MCP registry. Forge does not store, broker, or ever see these values — the config below is scaffolded with placeholders you fill in locally.

Package
Authorio.github.tobee89
LicenseUnknown
Version0.1.1
Sourcenpm+mcp-registry
Trust Status
B
60/100Good
✓Listed in Forge index+10/10
—Publisher identity verified+0/20
→ Publisher: run `forge publish` from the package repo to claim ownership
—Ed25519 publish signature+0/5
→ Included automatically when the publisher runs `forge publish`
—Domain verification+0/5
→ Publisher: host /.well-known/forge.json on the package homepage with { "publisher": "<github-login>" }
—npm Trusted Publishing (Sigstore)+0/5
→ Publish from GitHub Actions with --provenance so the attestation binds this package to this repo
—npm maintainer match+0/5
→ Earned once your identity is verified above and that login is an npm maintainer of this package
✓CVE scan · clean+30/30
✓Static analysis · clean+20/20
Paste into Claude Code, Cursor, or any AI assistant to fix all gaps
StatusCommunity-indexed
PublisherUnverified
SignatureUnsigned
Domain—
Provenance—
Dependencies✓ 60 resolved+ · none vulnerable
Tool surface40 tools · 8 privileged
Security scan✓ Cleanv0.1.1 · 22d agoHow well does this scan work?
EvalsNone
IndexedAug 26, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

40 tools · 8 privileged
Statically extracted from the published packagev0.1.1 · 22d ago

Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.

list_usersUsers on this instance with their IDs and permissions. You need these IDs to set document

Users on this instance with their IDs and permissions. You need these IDs to set document

No input schema was published for this tool.

list_groupsPermission groups with their IDs and member counts, for use in set_permissions payloads.

Permission groups with their IDs and member counts, for use in set_permissions payloads.

No input schema was published for this tool.

get_profileThe profile of the user whose API token this server is using. Confirms which account you are

The profile of the user whose API token this server is using. Confirms which account you are

No input schema was published for this tool.

get_configurationThe instance's application configuration: OCR defaults, output type, barcode settings, AI

The instance's application configuration: OCR defaults, output type, barcode settings, AI

No input schema was published for this tool.

list_logsNames of the log files available, e.g. 'paperless' and 'mail'.

Names of the log files available, e.g. 'paperless' and 'mail'.

No input schema was published for this tool.

get_logRead one of the instance's log files. Returns the tail by default — logs are long and mostly

Read one of the instance's log files. Returns the tail by default — logs are long and mostly

No input schema was published for this tool.

get_userOne user record by ID, including group membership and permission flags. Use it to resolve an owner ID to a human name.

One user record by ID, including group membership and permission flags. Use it to resolve an owner ID to a human name.

No input schema was published for this tool.

bulk_edit_documentsprivilegedApply one operation to many documents at once. Far cheaper than looping update_document, and the

Apply one operation to many documents at once. Far cheaper than looping update_document, and the

No input schema was published for this tool.

merge_documentsMerge several documents into one new PDF, in the order given. The originals stay unless

Merge several documents into one new PDF, in the order given. The originals stay unless

No input schema was published for this tool.

rotate_documentsRotate every page of the given documents clockwise by 90, 180 or 270 degrees.

Rotate every page of the given documents clockwise by 90, 180 or 270 degrees.

No input schema was published for this tool.

edit_pdfprivilegedReorder, rotate, remove or split out pages of a single document, producing a new document.

Reorder, rotate, remove or split out pages of a single document, producing a new document.

No input schema was published for this tool.

remove_pdf_passwordprivilegedDecrypt password-protected PDFs so Paperless can OCR them. The password is sent to your Paperless

Decrypt password-protected PDFs so Paperless can OCR them. The password is sent to your Paperless

No input schema was published for this tool.

reprocess_documentsRe-run OCR and the archive generation for the given documents, e.g. after changing OCR settings.

Re-run OCR and the archive generation for the given documents, e.g. after changing OCR settings.

No input schema was published for this tool.

delete_documentsprivilegedMove several documents to the trash at once. Recoverable until the trash is emptied.

Move several documents to the trash at once. Recoverable until the trash is emptied.

No input schema was published for this tool.

list_custom_fieldsCustom fields defined on this instance, with their IDs, data types and how many documents use

Custom fields defined on this instance, with their IDs, data types and how many documents use

No input schema was published for this tool.

get_custom_fieldOne custom field definition including its select options, if any.

One custom field definition including its select options, if any.

No input schema was published for this tool.

create_custom_fieldDefine a new custom field. The data type cannot be changed afterwards, so pick it deliberately.

Define a new custom field. The data type cannot be changed afterwards, so pick it deliberately.

No input schema was published for this tool.

update_custom_fieldRename a custom field or adjust its extra_data (e.g. add select options).

Rename a custom field or adjust its extra_data (e.g. add select options).

No input schema was published for this tool.

delete_custom_fieldprivilegedDelete a custom field definition and every value stored in it, across all documents.

Delete a custom field definition and every value stored in it, across all documents.

No input schema was published for this tool.

search_documentsFind documents by full-text search, metadata filters, or both. This is the main entry point for

Find documents by full-text search, metadata filters, or both. This is the main entry point for

No input schema was published for this tool.

get_documentFetch one document's metadata by ID: title, correspondent, type, tags, dates, custom fields, notes

Fetch one document's metadata by ID: title, correspondent, type, tags, dates, custom fields, notes

No input schema was published for this tool.

get_document_contentReturn the OCR/extracted text of one document. Deliberately a separate tool: this is the most

Return the OCR/extracted text of one document. Deliberately a separate tool: this is the most

No input schema was published for this tool.

update_documentChange metadata on a single document. Only the fields you pass are modified.

Change metadata on a single document. Only the fields you pass are modified.

No input schema was published for this tool.

delete_documentprivilegedMove a document to the trash. It stays recoverable until the trash is emptied or the retention

Move a document to the trash. It stays recoverable until the trash is emptied or the retention

No input schema was published for this tool.

get_document_metadataTechnical file metadata for a document: checksums, byte sizes, MIME type, stored filename, whether

Technical file metadata for a document: checksums, byte sizes, MIME type, stored filename, whether

No input schema was published for this tool.

get_document_historyAudit trail of changes to a document — who changed which field, and when. Requires audit logging

Audit trail of changes to a document — who changed which field, and when. Requires audit logging

No input schema was published for this tool.

get_document_suggestionsPaperless' own suggestions for a document — correspondents, tags, document types and dates its

Paperless' own suggestions for a document — correspondents, tags, document types and dates its

No input schema was published for this tool.

get_document_ai_suggestionsSuggestions from the instance's configured LLM backend (Paperless-ngx 3.x, only if AI features are

Suggestions from the instance's configured LLM backend (Paperless-ngx 3.x, only if AI features are

No input schema was published for this tool.

get_next_asnThe next free archive serial number, for filing a physical document alongside its scan.

The next free archive serial number, for filing a physical document alongside its scan.

No input schema was published for this tool.

get_selection_dataFor a set of document IDs, return how many of them carry each tag, correspondent, document type and

For a set of document IDs, return how many of them carry each tag, correspondent, document type and

No input schema was published for this tool.

download_documentSave a document's file to disk on the machine running this MCP server and return the path.

Save a document's file to disk on the machine running this MCP server and return the path.

No input schema was published for this tool.

get_document_thumbnailReturn the document's thumbnail image inline so it can actually be looked at.

Return the document's thumbnail image inline so it can actually be looked at.

No input schema was published for this tool.

bulk_download_documentsDownload several documents as one zip archive, written to the download directory.

Download several documents as one zip archive, written to the download directory.

No input schema was published for this tool.

upload_documentprivilegedHand a file to Paperless for consumption. Provide either `path` (a file on the machine running

Hand a file to Paperless for consumption. Provide either `path` (a file on the machine running

No input schema was published for this tool.

email_documentsSend one or more documents by email from the Paperless instance. This sends real mail to real

Send one or more documents by email from the Paperless instance. This sends real mail to real

No input schema was published for this tool.

list_document_notesNotes attached to a document, with authors and timestamps. Notes hold context the OCR text does

Notes attached to a document, with authors and timestamps. Notes hold context the OCR text does

No input schema was published for this tool.

create_document_noteAttach a free-text note to a document. Use this to record context that belongs with the document rather than in the conversation — why it was kept, what was agreed, what to do next.

Attach a free-text note to a document. Use this to record context that belongs with the document rather than in the conversation — why it was kept, what was agreed, what to do next.

No input schema was published for this tool.

delete_document_noteprivilegedRemove a note from a document. Not recoverable.

Remove a note from a document. Not recoverable.

No input schema was published for this tool.

list_mail_accountsIMAP accounts Paperless fetches documents from. Passwords are not returned.

IMAP accounts Paperless fetches documents from. Passwords are not returned.

No input schema was published for this tool.

get_mail_accountOne mail account in full: server, port, username, folder and security settings. Passwords are never returned by the API.

One mail account in full: server, port, username, folder and security settings. Passwords are never returned by the API.

No input schema was published for this tool.

40 of 40 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

MCP server for Paperless-ngx 3.x — full REST API coverage, schema-aware, token-frugal.

Keywords
mcp
Alternatives
Comparing tool surfaces…

Dependency tree

What one Forge scan resolved from npm metadata on 2026-09-20 — observed resolution, not a publisher declaration.

60 packages resolved · 2 direct · none carrying advisories Resolution stops at depth 4 and 60 packages.

The crawl stopped at the depth-4 limit. Anything below that level was never resolved.

The crawl stopped at the 60-package limit. The rest of the tree was never resolved.

36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)

Declared but not resolved

53 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.

+41 more not listed. The counts by reason above cover all of them.

Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.