MCP.Market

Paperless-ngx MCP server

by tobee89·io.github.tobee89/mcp-paperless-ngx·v0.1.1·2 stars

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

B78/100grade B
What users say
No reviews yet
Be the first
Safety scan
B78/100

full report

Adoption
Growing

2 stars2.1k downloads/wk

Reviews

Write one

Nobody has reviewed Paperless-ngx yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Paperless-ngx tools (76, 23 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • acknowledge_tasks

    Mark finished or failed tasks as acknowledged so they stop showing in the UI.

  • bulk_download_documents

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

  • bulk_edit_documents

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

  • bulk_edit_metadata_objectswrite action

    Delete or set permissions on many tags, correspondents, document types or storage paths at once.

  • create_custom_fieldwrite action

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

  • create_document_notewrite action

    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.

  • create_saved_viewwrite action

    Save a filter preset that shows up in the user's Paperless sidebar.

  • create_share_linkwrite action

    Create a public, unauthenticated URL for a document. Anyone holding the link can read the

  • create_share_link_bundlewrite action

    Publish several documents behind one public link. Same warning as create_share_link: this is

  • create_workflowwrite action

    Create an automation rule. Workflows run automatically against future documents, so a mistake

  • delete_custom_fieldwrite action

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

  • delete_documentwrite action

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

  • delete_document_notewrite action

    Remove a note from a document. Not recoverable.

  • delete_documentswrite action

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

  • delete_saved_viewwrite action

    Remove a saved view. Documents are unaffected.

  • delete_share_linkwrite action

    Revoke a share link immediately. Anyone still holding the URL loses access at once; the document itself is untouched.

  • delete_share_link_bundlewrite action

    Revoke a share link bundle immediately. Every document in the bundle stops being publicly reachable; the documents themselves are untouched.

  • delete_workflowwrite action

    Delete an automation rule permanently. Consider update_workflow with enabled:false instead.

  • download_document

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

  • edit_pdf

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

  • email_documentswrite action

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

  • empty_trash

    Permanently destroy trashed documents. There is no recovery after this — the files are gone.

  • get_active_tasks

    Tasks executing right now. Tells you whether the instance is busy.

  • get_configuration

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

  • get_custom_field

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

  • get_document

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

  • get_document_ai_suggestions

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

  • get_document_content

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

  • get_document_history

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

  • get_document_metadata

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

  • get_document_suggestions

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

  • get_document_thumbnail

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

  • get_log

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

  • get_mail_account

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

  • get_mail_rule

    One mail rule in full: which messages it matches, what metadata it assigns, and what it does with the message afterwards (leave, mark read, move, delete).

  • get_metadata_overview

    One compact snapshot of all tags, correspondents, document types and storage paths with their

  • get_next_asn

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

  • get_profile

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

  • get_remote_version

    The latest Paperless-ngx release, and whether an update is available.

  • get_saved_view

    One saved view including its filter rules, so you can reproduce it as a search.

  • get_selection_data

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

  • get_server_status

    Instance health: Paperless version, database and index status, whether Redis and the task

  • get_statistics

    Totals for the archive: document count, inbox count, characters, file type breakdown.

  • get_task

    One background task by database ID, including its result. Use this to find out whether an

  • get_user

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

  • get_workflow

    One workflow with its full trigger and action definitions.

  • global_search

    Search across every object type at once — documents, tags, correspondents, document types,

  • list_custom_fields

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

  • list_document_notes

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

  • list_document_share_links

    Existing share links for one document — check this before creating another.

  • list_groups

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

  • list_logs

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

  • list_mail_accounts

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

  • list_mail_rules

    Rules deciding which messages become documents, and what metadata they get.

  • list_processed_mail

    Messages Paperless has already handled, with their status. The place to look when a mail

  • list_saved_views

    Saved views are the filter presets the user built in the Paperless web UI. Reading them is the

  • list_share_link_bundles

    Share link bundles (Paperless-ngx 3.x) expose several documents behind a single public link.

  • list_share_links

    Every share link on the instance, with its slug, target document and expiry.

  • list_tasks

    Background tasks — consumption, merges, reprocessing — with their state and result.

  • list_trash

    Documents in the trash, with the date each was deleted and when it will be purged for good.

  • list_users

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

  • merge_documents

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

  • process_mail_account

    Trigger an immediate fetch for one mail account instead of waiting for the next scheduled run.

  • remove_pdf_passwordwrite action

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

  • reprocess_documents

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

  • restore_from_trash

    Bring deleted documents back. The safe counterpart to delete_document.

  • rotate_documents

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

  • search_autocomplete

    Completions for a partial search term, ranked by importance in the full-text index.

  • search_documents

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

  • test_storage_path

    Render a storage path template against an existing document to see the resulting file path.

  • update_custom_fieldwrite action

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

  • update_documentwrite action

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

  • update_mail_rulewrite action

    Change a mail rule. Rules run unattended against a live mailbox, so a wrong filter can consume

  • update_saved_viewwrite action

    Change a saved view's name, sorting, visibility or filter rules.

  • update_workflowwrite action

    Update a workflow. Passing `triggers` or `actions` replaces the existing list wholesale — fetch

  • upload_documentwrite action

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

Public scan report

scanner v0.1.10 · 2026-11-02 · same rubric, same numbers if you re-run it

no findings
  • Code scan25 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitystatic API keys via environment variables6/15
  • Maintenancelast push 73 days ago12/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 78/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Paperless-ngx compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
78/100
higher than 57% of 48,255 servers
Tools
76
the typical server has 7
Tools that change things
30%
typical: 0%. Fewer write tools means less an agent can break
GitHub stars
2
more than 75% of 28,688 servers
Downloads a week
2,101
more than 95% of 12,191 servers with a package

What its tools let an agent do: 51 read · 7 create · 8 change · 9 delete · 1 send or post

Install Paperless-ngx in Claude Code, Cursor or VS Code

Runs npx -y mcp-paperless-ngx on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add mcp-paperless-ngx -- npx -y mcp-paperless-ngx
Add to Cursor

What the publisher says

From the Paperless-ngx repository's README, as published. We do not edit it. Read it on GitHub

mcp-paperless-ngx

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:

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.

  • Accounted coverage. Every one of the 92 documented endpoints is either exposed as a tool or

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.

  • Token discipline. A Paperless document carries its full OCR text. Naive wrappers return it by

given client needs, and --read-only removes every write path entirely.

  • Scoped surface. 99 tools would drown a model's tool list. Toolsets let you expose only what a

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

npx -y mcp-paperless-ngx --check   # verify connectivity, then exit

Claude Code

claude mcp add paperless --scope user \
  --env PAPERLESS_URL=https://paperless.example.com \
  --env PAPERLESS_TOKEN=your-api-token \
  -- npx -y mcp-paperless-ngx

Claude Desktop, Cursor, Cline, and other MCP clients

{
  "mcpServers": {
    "paperless": {
      "command": "npx",
      "args": ["-y", "mcp-paperless-ngx"],
      "env": {
        "PAPERLESS_URL": "https://paperless.example.com",
        "PAPERLESS_TOKEN": "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

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Paperless-ngx: common questions

Is Paperless-ngx MCP server safe?
Mostly: it is graded B (78/100). Read the Paperless-ngx safety report
How do I install Paperless-ngx?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Paperless-ngx need an API key?
Yes. The registry entry asks for PAPERLESS_TOKEN.
Is Paperless-ngx maintained?
The last commit was 75 days ago (2026-08-21). The latest release is v0.1.1.
How does Paperless-ngx compare with other MCP servers?
safety score 78/100 (higher than 57% of 48,255 servers); tools 76 (the typical server has 7); tools that change things 30% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.