paperless-mcp
Provides tools for searching, retrieving, updating documents, and managing tags, correspondents, and document types in Paperless-ngx.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@paperless-mcpsearch for documents with tag 'urgent'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
paperless-mcp
MCP server exposing Paperless-ngx document management via its REST API.
Overview
A Model Context Protocol (MCP) server that wraps the Paperless-ngx REST API, enabling Claude and other AI models to:
Search and retrieve documents
Get full document content and metadata
Update document metadata (title, correspondent, document type, tags)
List available tags, correspondents, and document types
Check Paperless-ngx system status
Related MCP server: KnowledgeMCP
Installation
npm installConfiguration
Set these environment variables before starting:
PAPERLESS_URL— required, e.g.http://paperless.local:8000PAPERLESS_TOKEN— required, API token from Paperless-ngx (obtained via/api/token/)PAPERLESS_TIMEOUT_MS— optional, default15000ms
Obtaining a Paperless-ngx API token
# Login to Paperless-ngx and go to Settings > Profile > REST API Tokens
# Or obtain programmatically:
curl -X POST http://paperless.local:8000/api/token/ \
-H "Content-Type: application/json" \
-d '{"username":"your-user","password":"your-pass"}'Running
# Start the MCP server (reads from stdin, writes to stdout)
PAPERLESS_URL="http://paperless.local:8000" \
PAPERLESS_TOKEN="your-token" \
node dist/index.jsOr use the bin alias:
npm run build
PAPERLESS_URL="..." PAPERLESS_TOKEN="..." \
./node_modules/.bin/paperless-mcpDevelopment
npm run dev # Watch mode with tsx
npm run build # Compile TypeScript
npm run typecheck # Type-check without emitting
npm run lint # ESLint (mikey-pro)
npm run format # Prettier
npm test # VitestAll checks must pass before committing:
npm run typecheck && npm run lint && npm test && npm run buildAPI Tools
The MCP server registers 8 tools:
paperless_health — System status (database, task count)
search_documents — Full-text search with pagination
get_document — Fetch full document (including content)
update_document — Update title, correspondent, type, tags
list_tags — All available tags
list_correspondents — All available correspondents
list_document_types — All available document types
Architecture
src/
index.ts — Entrypoint, stdio server setup
server.ts — Tool registration (8 tools)
paperless.ts — Paperless-ngx API client + types
paperless.test.ts — Comprehensive test suite (26 tests)CI/CD
.gitea/workflows/ci.yml— Gitea Actions: lint, typecheck, test, build.gitea/workflows/mirror.yml— Auto-mirror to GitHub on every push
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/chiefmikey/paperless-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server