LeashIndex Get the report

Index / storage

Paperless-ngx

io-github-cubinet-code-paperless-ngx-mcp declares 109 capabilities across 109 tools, with 2 critical issues.

100/100 exposureHigh exposure

Manifest recorded 2026-10-15 from tools/list answered by the npm package paperless-ngx-mcp@3.2.1 (published to npm as paperless-ngx-mcp, listed in the official MCP registry as io.github.cubinet-code/paperless-ngx-mcp 3.2.1), run in an isolated container with no network access and placeholder credentials. The date changes only when the manifest does. Not verified by a maintainer.

Issues

These describe what this server's manifest declares. A product can provide controls that MCP has no way to express — token revocation, an admin console, audit logs — and this page cannot see them. The absence of a declaration is not evidence that a control is absent.

critical · irreversible-uncapped · 28 of 109 tools

28 tools are classified as irreversible and declare no limit.

critical · no-revocation · All 109 tools

109 of 109 tools declare no way for the customer to switch them off once granted. This applies to every tool because MCP has no field in which to declare a revocation mechanism; the product may provide one outside MCP that a manifest cannot show.

high · no-expiry · All 109 tools

109 of 109 tools declare no expiry. This applies to every tool because MCP has no field in which to declare an expiry; the product may provide one outside MCP that a manifest cannot show.

high · no-audit-trail · All 109 tools

109 of 109 tools declare no record of their actions that the customer can read. This applies to every tool because MCP has no field in which to declare an audit requirement; the product may provide one outside MCP that a manifest cannot show.

high · uncapped-write · 26 of 109 tools

26 tools can modify data and declare no limit.

low · uncapped-read · 55 of 109 tools

55 tools can read data and declare no limit.

Declared capabilities

How each tool was read. declared means the server's own annotation said so — self-reported and unverified. inferred is from the tool's name. assumed means nothing indicated either way.

ToolRead asBasis
edit_documents_bulkdestructive declared
post_documentsend inferred
list_documentsread declared
get_documentread declared
get_document_contentread declared
search_documentsread declared
download_documentread declared
get_document_thumbnailread declared
update_documentwrite inferred
email_documentsend inferred
get_document_historyread declared
get_document_previewread declared
upload_document_versionwrite inferred
update_document_versionwrite inferred
delete_document_versiondestructive declared
merge_documents_as_versionsdestructive declared
list_tagsread declared
get_tagread declared
create_tagwrite inferred
update_tagwrite inferred
delete_tagdestructive declared
edit_tags_bulkdestructive declared
list_correspondentsread declared
get_correspondentread declared
create_correspondentwrite inferred
update_correspondentwrite inferred
delete_correspondentdestructive declared
edit_correspondents_bulkdestructive declared
list_document_typesread declared
get_document_typeread declared
create_document_typewrite inferred
update_document_typewrite inferred
delete_document_typedestructive declared
edit_document_types_bulkdestructive declared
list_custom_fieldsread declared
get_custom_fieldread declared
create_custom_fieldwrite inferred
update_custom_fieldwrite inferred
delete_custom_fielddestructive declared
edit_custom_fields_bulkdestructive declared
list_storage_pathsread declared
get_storage_pathread declared
create_storage_pathwrite inferred
update_storage_pathwrite inferred
delete_storage_pathdestructive declared
test_storage_pathread declared
list_saved_viewsread declared
get_saved_viewread declared
create_saved_viewread inferred
update_saved_viewread inferred
delete_saved_viewdestructive declared
list_share_linksread declared
get_share_linkread declared
create_share_linkwrite inferred
delete_share_linkdestructive declared
list_document_share_linksread declared
list_share_link_bundlesread declared
get_share_link_bundleread declared
create_share_link_bundlewrite inferred
rebuild_share_link_bundlewrite assumed
delete_share_link_bundledestructive declared
list_workflow_actionsread declared
get_workflow_actionread declared
create_workflow_actionwrite inferred
update_workflow_actionwrite inferred
delete_workflow_actiondestructive declared
list_workflow_triggersread declared
get_workflow_triggerread declared
create_workflow_triggerwrite inferred
update_workflow_triggerwrite inferred
delete_workflow_triggerdestructive declared
list_workflowsread declared
get_workflowread declared
create_workflowwrite inferred
update_workflowwrite inferred
delete_workflowdestructive declared
list_mail_accountsread declared
get_mail_accountread declared
create_mail_accountsend inferred
update_mail_accountwrite inferred
delete_mail_accountdestructive declared
test_mail_accountread declared
process_mail_accountsend inferred
list_mail_rulesread declared
get_mail_ruleread declared
create_mail_rulesend inferred
update_mail_rulewrite inferred
delete_mail_ruledestructive declared
get_statisticsread declared
get_system_statusread declared
get_filing_optionsread declared
get_document_suggestionsread declared
get_document_ai_suggestionsread declared
get_document_metadataread declared
list_document_notesread declared
create_document_notewrite inferred
delete_document_notedestructive declared
delete_documentdestructive declared
list_trashread declared
restore_from_trashwrite assumed
empty_trashdestructive declared
search_autocompleteread declared
get_next_asnread declared
list_tasksread declared
acknowledge_tasksread inferred
list_active_tasksread declared
get_task_status_countsread declared
get_task_summaryread declared
download_documents_bulkread declared
Answering this question about your own agent? The self-serve stack report applies the same reading to your own stack or server and gives you a dated document you can hand to a customer's security review. It is generated in your browser, with nobody to wait for. Buying one does not change this page, its score or its place in the index — see Independence.
Maintain this server? If this page misreads your manifest, or your server has changed, submit its current tools/list response and it will be re-scored and dated. Corrections are published alongside the original, not in place of it.