home / mcp / paperless-ngx mcp server
An MCP (Model Context Protocol) server for interacting with a Paperless-NGX API server. This server provides tools for managing documents, tags, correspondents, and document types in your Paperless-NGX instance.
Configuration
View docs{
"mcpServers": {
"nloui-paperless-mcp": {
"url": "http://your-paperless-instance:8000"
}
}
}You can connect Claude or another MCP client to a Paperless-NGX API server through an MCP server. This setup lets you manage documents, tags, correspondents, and document types using simple, chat-based commands while Paperless-NGX handles the heavy lifting on your side.
To use this MCP server, configure a client to connect to either the remote Paperless-NGX MCP endpoint or run the local MCP server in stdio mode. You can perform common actions like listing documents, searching, tagging, uploading new documents, and managing correspondents and document types. Use natural language prompts to perform these operations, and the MCP server translates your requests into Paperless-NGX API calls.
Prerequisites you need before installing: Node.js and npm installed on your machine.
Step 1: Install the MCP server globally.
npm install -g paperless-mcpYou can connect to Paperless-NGX via a remote MCP endpoint or run the MCP server locally in stdio mode.
Remote MCP endpoint (http) usage example shows how to point your MCP client at Paperless-NGX. The following configuration uses the HTTP transport and passes the API token in the arguments.
{
"mcpServers": [
{
"type": "http",
"name": "paperless",
"url": "http://your-paperless-instance:8000",
"args": []
}
]
}If you prefer running the MCP server locally in stdio mode, use the standard npm start flow shown here.
npm run start -- <baseUrl> <token>To expose the MCP API over HTTP, run the server with the http transport and an optional port. This mode uses Express and is stateless for each request.
npm run start -- <baseUrl> <token> --http --port 3000- The http-based endpoint is suitable for remote clients and other automation that can reach your Paperless-NGX instance. - The stdio-based endpoint is convenient for CLI usage and direct integrations where you want the MCP server to communicate via standard input/output streams.
- Show all documents tagged as a specific tag - Search for documents containing particular text - Create new tags or document types - Upload new documents from base64 content - Download documents by ID - Manage correspondents and document types
Protect your API tokens and limit access to the MCP endpoints. Use HTTPS in production and rotate tokens periodically.
If you encounter connection errors, verify the Paperless-NGX URL and API token, ensure the MCP server is reachable from your client, and check that the correct transport (http or stdio) is configured.
This MCP server implements the Paperless-NGX REST API surface for document, tag, correspondent, and document type operations, enabling you to script and automate common workflows.
Get a paginated list of all documents. You can specify page and page_size to control the results.
Retrieve a single document by its ID.
Perform a full-text search across documents using a query string.
Download a document file by its ID, with an option to fetch the original file.
Apply bulk operations to multiple documents, such as adding tags, changing correspondents, splitting or merging, and other batch actions.
Upload a new document to Paperless-NGX, including file data, metadata, and relationships.
Retrieve all tags defined in Paperless-NGX.
Create a new tag with optional color and matching rules.
Retrieve all correspondents.
Create a new correspondent with optional matching rules.
Retrieve all document types.
Create a new document type with optional matching rules.