Paperless MCP
Paperless-NGX over MCP: search, read, upload and tag documents; manage correspondents and types.
Connector by pvliesdonk · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/pvliesdonk-paperless-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 27 read · 12 write · 9 delete · 1 not yet classified
- Secrets
- 1 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Python package
Tools by what they do 49
Read from the source code; the running server may list different tools.
Read 27 · Look things up without changing anything.
get_correspondentget_custom_fieldget_documentget_document_contentget_document_historyget_document_metadataget_document_notesget_document_suggestionsget_document_thumbnailget_document_typeget_remote_versionget_saved_view
Show 15 more tools
get_share_linkget_statisticsget_storage_pathget_tagget_tasklist_correspondentslist_custom_fieldslist_document_typeslist_documentslist_saved_viewslist_share_linkslist_storage_pathslist_tagslist_taskssearch_documents
Write 12 · Create, change, send or run things.
add_document_notebulk_edit_documentscreate_correspondentcreate_custom_fieldcreate_document_typecreate_tagupdate_correspondentupdate_custom_fieldupdate_documentupdate_document_typeupdate_tagupload_document
Delete 9 · Delete, drop, revoke or wipe things.
bulk_edit_correspondentsbulk_edit_document_typesbulk_edit_tagsdelete_correspondentdelete_custom_fielddelete_documentdelete_document_notedelete_document_typedelete_tag
Not yet classified 1 · We could not tell from the name and description.
wait_for_task
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
PAPERLESS_MCP_API_TOKEN
Other settings (environment variables or headers).
PAPERLESS_MCP_DEFAULT_PAGE_SIZEPAPERLESS_MCP_HTTP_RETRIESPAPERLESS_MCP_HTTP_TIMEOUT_SECONDSPAPERLESS_MCP_INSTANCE_DESCRIPTIONPAPERLESS_MCP_INSTRUCTIONSPAPERLESS_MCP_INSTRUCTIONS_EXTRAPAPERLESS_MCP_KV_STORE_URLPAPERLESS_MCP_LOG_FORMATPAPERLESS_MCP_LOG_LEVELPAPERLESS_MCP_PAPERLESS_PUBLIC_URLPAPERLESS_MCP_PAPERLESS_URLPAPERLESS_MCP_SERVER_NAME
Show 7 more settings
PAPERLESS_MCP_TOOLS_ALLOWPAPERLESS_MCP_TOOLS_DENYPAPERLESS_MCP_TRANSFER_GRACE_TTL_SPAPERLESS_MCP_TRANSFER_LEASE_SPAPERLESS_MCP_TRANSFER_MAX_UPLOAD_BYTESPAPERLESS_MCP_TRANSFER_TTL_DEFAULT_SPAPERLESS_MCP_TRANSFER_TTL_MAX_S
Network hosts it talks to 6
api.github.com· found in codedocs.astral.sh· found in codegithub.com· found in codegofastmcp.com· found in codepvliesdonk.github.io· found in codevale.sh· found in code
Files it touches
/etc/paperless-mcp/tokens.toml/opt/paperless-mcp- Any path the agent passes to its tools
Tools (49)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
add_document_noteAdd a note to a document; returns the new note with its id. Args: note: Text of the note.
bulk_edit_correspondentsSet the owner and permissions of many correspondents, or delete them; returns OK when applied. Args: operation: set_permissions or delete.
bulk_edit_document_typesSet the owner and permissions of many document types, or delete them; returns OK when applied. Args: operation: set_permissions or delete.
bulk_edit_documentsApply one operation to many documents at once; returns OK once Paperless accepts it. Metadata operations (set_*, add_tag, remove_tag, modify_tags, modify_custom_fields, set_permissions) are applied before the reply: list_documents and get_document show them at once, search_documents only after the bulk_update reindex task in list_tasks. delete, reprocess and the PDF operations run as their own background tasks. Args: operation: What to do to every document in ids. parameters: Arguments for the operation: set_correspondent {"correspondent": id}, set_document_type {"document_ty…
bulk_edit_tagsSet the owner and permissions of many tags, or delete them; returns OK when applied. Args: operation: set_permissions or delete.
create_correspondentCreate a correspondent; returns it with its id.
create_custom_fieldDefine a new custom field; returns it with its id. Args: body: The field's name, type and, for select or monetary, extra_data.
create_document_typeCreate a document type; returns it with its id.
create_tagCreate a tag; returns it with its id.
delete_correspondentDelete a correspondent and clear it from every document that names it.
delete_custom_fieldDelete a custom field and its value on every document.
delete_documentMove a document to Paperless's trash, where a user can restore it until the trash is emptied.
delete_document_noteDelete one note from a document. Args: note_id: Id of the note, from get_document_notes.
delete_document_typeDelete a document type and clear it from every document of that type.
delete_tagDelete a tag and remove it from every document that carries it.
Show 34 more tools
get_correspondentGet one correspondent by id.
get_custom_fieldGet one custom field definition by id, with its select options.
get_documentGet one document's metadata, notes and custom field values, without its text. Use get_document_content for the text.
get_document_contentRead a document's text, up to 20,000 characters per call. A longer document comes back in sections: each opens with a marker naming the range returned, the full length and the offset of the next section. Text that fits is returned whole, with no marker. Args: max_chars: Most characters to return in this call. offset: Character position to start from; pass the offset a marker names to read the next section.
get_document_historyList the changes made to a document: who changed which field, and when.
get_document_metadataGet a document's file details: original and archived file names, sizes, checksums and MIME type.
get_document_notesList the notes on a document, with their full text.
get_document_suggestionsGet Paperless's suggested tags, correspondent, document type and dates for a document.
get_document_thumbnailGet a small image of a document's first page.
get_document_typeGet one document type by id.
get_remote_versionCheck whether a newer Paperless-NGX release exists; returns the newest release. That is the newest release published upstream, not the version installed on this instance, with a flag saying whether it is newer. Use get_server_info for the installed version.
get_saved_viewGet one saved view by id, with its filter rules and sort order.
get_share_linkGet one share link by id, with its document, expiry and URL.
get_statisticsGet counts for the whole archive: documents, inbox documents, tags, correspondents, types, characters and file types.
get_storage_pathGet one storage path by id, with its path template.
get_tagGet one tag by id.
get_taskGet one background task by id, with its status and result; returns null if there is none. Args: task_uuid: Task id, as returned by upload_document or listed by list_tasks.
list_correspondentsList correspondents; returns one page with their ids and names. Each carries last_correspondence, the date of its newest document.
list_custom_fieldsList custom field definitions; returns one page with their ids, names and types.
list_document_typesList document types; returns one page with their ids and names.
list_documentsList documents filtered by their metadata; returns one page of metadata. Use search_documents to find documents by the words in them. Results leave out each document's text, note text and custom field values; get_document_content and get_document return them. Args: tags: Keep documents that carry any of these tag ids. correspondent: Keep documents from this correspondent id. document_type: Keep documents of this document type id. storage_path: Keep documents in this storage path id. custom_field: Keep documents that have this custom field.
list_saved_viewsList saved views, the named document filters users keep in Paperless; returns one page.
list_share_linksList public share links for documents; returns one page with each link's document, expiry and URL. Args: document_id: Keep only the links to this document.
list_storage_pathsList storage paths, the folder layouts Paperless files documents into; returns one page.
list_tagsList tags; returns one page with their ids and names.
list_tasksList Paperless background tasks such as consuming uploads and reindexing; returns one page, newest first. Args: status: Keep tasks in this state. task_type: Keep tasks of this kind; bulk_update is the reindex that bulk_edit_documents' metadata operations start. acknowledged: Keep only acknowledged (true) or unacknowledged (false) tasks. include_acknowledged: Also list tasks already acknowledged; by default only unacknowledged ones are listed.
search_documentsSearch the full text and metadata of documents; returns one page, best match first. Use list_documents to filter by tag, correspondent or type alone. Results leave out each document's text, note text and custom field values; get_document_content and get_document return them. Args: query: Words that must all appear, in any order, in a document's text, title, correspondent, type or tags. Also accepts AND and OR, field terms such as tag:unpaid or created:[2024 to 2025], and notes.note:word for note text. Pass "" with more_like. more_like: Document id; return docu…
update_correspondentChange a correspondent's name or matching rule; returns the updated correspondent. Args: patch: Only the fields to change.
update_custom_fieldRename a custom field or change its options; returns the updated field. Args: patch: Only the fields to change.
update_documentChange a document's metadata; returns the updated document without its text. Use bulk_edit_documents to change many documents at once. Args: patch: Only the fields to change.
update_document_typeChange a document type's name or matching rule; returns the updated document type. Args: patch: Only the fields to change.
update_tagChange a tag's name, colour, inbox flag or matching rule; returns the tag. Args: patch: Only the fields to change.
upload_documentUpload a file for Paperless to consume; returns the consume task's id. The document appears once the task finishes; wait_for_task waits for it and its result names the new document. For large files, use create_upload_link where it is available. Args: filename: File name, with the extension that tells Paperless its type. content_base64: The file's bytes, base64-encoded. title: Title; omit to let Paperless derive one. correspondent: Correspondent id. document_type: Document type id. tags: Tag ids to add. created: Creation date, YYYY-MM-DD or ISO 8601. archive_se…
wait_for_taskWait for a background task to finish; returns the task with its final status and result. Args: task_uuid: Task id, as returned by upload_document or listed by list_tasks. timeout_seconds: Longest time to wait, up to 600 seconds.
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 8
- Weekly downloads
- 111
- Last commit
- Sep 28, 2026 (1 month ago)
- Last release
- Sep 21, 2026 (1 month ago)
- Last package publish
- Sep 21, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.pvliesdonk/paperless-mcp- Version
- 3.0.0
- Auth
- API key
- Packages
- pypi pvliesdonk-paperless-mcpoci
ghcr.io/pvliesdonk/paperless-mcp:v3.0.0 - License
- MIT
- Repository
- github.com/pvliesdonk/paperless-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from pvliesdonk
- 0.661score
Markdown Vault MCP
pvliesdonk
Generic markdown vault MCP with hybrid search
ConnectorAFreshness: ARemoteLocal★ 35↓ 233/wkClaude Code +5 - 0.628score
Scholar MCP
pvliesdonk
FastMCP server for scholarly papers, patents, books and standards with docling PDF conversion
ConnectorAFreshness: ARemoteLocal★ 2↓ 122/wkClaude Code +5 - 0.548score
Image Generation MCP Server
pvliesdonk
MCP server for AI image generation via OpenAI, Stable Diffusion (SD WebUI), or placeholders.
ConnectorBFreshness: BRemoteLocal★ 1↓ 138/wkClaude Code +5 - 0.493score
Logo.dev MCP
pvliesdonk
Look up company logos and brand data via the logo.dev API.
ConnectorCFreshness: CRemoteLocalRead-only↓ 38/wkClaude Code +5
Cite this page
Paperless MCP. Agent Mart. https://agentmart.dev/connectors/pvliesdonk-paperless-mcp (last updated 2026-10-24)