paperless-mcp

paperless-mcp

Enables interaction with a paperless-ngx document management system through MCP tools, allowing document search, retrieval, upload, and metadata management via natural language.

Category
访问服务器

README

paperless-mcp (Cloudflare Workers)

[!IMPORTANT] This is 100% vibecode, but it works! The deploy guide at ./DEPLOY.md is reliable as of July 2026

paperless-mcp

A remote MCP server for paperless-ngx, deployed on Cloudflare Workers so it can be registered behind a Cloudflare MCP server portal and used from claude.ai (web) and other hosted MCP clients — no local process required.

Ported from nloui/paperless-mcp (stdio/Express) to Cloudflare's McpAgent + Streamable HTTP stack (Web-standard APIs only — no Express).

Tools (16, exact parity with the reference)

Area Tools
Documents search_documents, get_document, download_document, post_document, bulk_edit_documents
Tags list_tags, create_tag, update_tag, delete_tag, bulk_edit_tags
Correspondents list_correspondents, create_correspondent, bulk_edit_correspondents
Document types list_document_types, create_document_type, bulk_edit_document_types

Architecture

claude.ai / web agent  ──OAuth (Cloudflare Access, your IdP)──▶  MCP Server Portal
                                                                      │
                                          Streamable HTTP + static header (admin credential)
                                                                      ▼
                              paperless-mcp Worker  (McpAgent.serve("/mcp"))
                                                                      │
                                       Token auth (Authorization: Token <API_KEY>)
                                                                      ▼
                                          your paperless-ngx instance /api

This deployment is single-tenant: one Worker talks to one paperless-ngx instance, using credentials stored as Worker secrets. The Worker itself is protected by a single static bearer token (MCP_AUTH_TOKEN) checked on every request — the portal (or any other client) must send Authorization: Bearer <MCP_AUTH_TOKEN>.

1. Prerequisites

  • A paperless-ngx instance reachable over public HTTPS (a direct hostname, or a Cloudflare Tunnel). Workers run on Cloudflare's edge and cannot reach a LAN-only instance directly.
  • A paperless-ngx API token: log in → user icon → My Profile → generate/copy the API token.
  • Node.js + npm, and a Cloudflare account.

2. Install and deploy

Follow the DEPLOY.md instructions.

4. Local development

cp .dev.vars.example .dev.vars   # fill in real values (gitignored)
npm run dev                       # wrangler dev on http://localhost:8787
npm run type-check                # tsc --noEmit

Test with MCP Inspector:

npx @modelcontextprotocol/inspector
# Transport: Streamable HTTP
# URL: http://localhost:8787/mcp
# Header: Authorization: Bearer <MCP_AUTH_TOKEN>

A request with a missing or wrong Authorization header returns 401 Unauthorized; the tools list should show all 16 tools with the correct token.

Notes

  • nodejs_compat is enabled (see wrangler.jsonc) so Buffer works for the base64 handling in post_document / download_document.
  • Large uploads/downloads are bounded by Workers request/response limits — fine for typical PDFs, but very large archives may need a different approach.
  • search_documents strips the OCR content field and thumbnail/download URLs from results (as in the reference implementation) to avoid blowing up token usage; use get_document for full detail on a specific document.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选