Manage documents, tags, correspondents and document types in a Paperless-NGX server.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add paperless --env PAPERLESS_BASE_URL='<PAPERLESS_BASE_URL>' --env PAPERLESS_API_TOKEN='<PAPERLESS_API_TOKEN>' --env PAPERLESS_URL='<PAPERLESS_URL>' -- npx paperless-mcp http://your-paperless-instance:8000 your-api-token~/.codex/config.toml
[mcp_servers.paperless]
command = "npx"
args = ["paperless-mcp", "http://your-paperless-instance:8000", "your-api-token"]
env = { PAPERLESS_BASE_URL = "<PAPERLESS_BASE_URL>", PAPERLESS_API_TOKEN = "<PAPERLESS_API_TOKEN>", PAPERLESS_URL = "<PAPERLESS_URL>" }
# codex mcp add paperless --env PAPERLESS_BASE_URL='<PAPERLESS_BASE_URL>' --env PAPERLESS_API_TOKEN='<PAPERLESS_API_TOKEN>' --env PAPERLESS_URL='<PAPERLESS_URL>' -- npx paperless-mcp http://your-paperless-instance:8000 your-api-token~/.cursor/mcp.json
{
"mcpServers": {
"paperless": {
"command": "npx",
"args": [
"paperless-mcp",
"http://your-paperless-instance:8000",
"your-api-token"
],
"env": {
"PAPERLESS_BASE_URL": "<PAPERLESS_BASE_URL>",
"PAPERLESS_API_TOKEN": "<PAPERLESS_API_TOKEN>",
"PAPERLESS_URL": "<PAPERLESS_URL>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"paperless": {
"type": "stdio",
"command": "npx",
"args": [
"paperless-mcp",
"http://your-paperless-instance:8000",
"your-api-token"
],
"env": {
"PAPERLESS_BASE_URL": "<PAPERLESS_BASE_URL>",
"PAPERLESS_API_TOKEN": "<PAPERLESS_API_TOKEN>",
"PAPERLESS_URL": "<PAPERLESS_URL>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"paperless": {
"command": "npx",
"args": [
"paperless-mcp",
"http://your-paperless-instance:8000",
"your-api-token"
],
"env": {
"PAPERLESS_BASE_URL": "<PAPERLESS_BASE_URL>",
"PAPERLESS_API_TOKEN": "<PAPERLESS_API_TOKEN>",
"PAPERLESS_URL": "<PAPERLESS_URL>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"paperless": {
"command": "npx",
"args": [
"paperless-mcp",
"http://your-paperless-instance:8000",
"your-api-token"
],
"env": {
"PAPERLESS_BASE_URL": "<PAPERLESS_BASE_URL>",
"PAPERLESS_API_TOKEN": "<PAPERLESS_API_TOKEN>",
"PAPERLESS_URL": "<PAPERLESS_URL>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"paperless": {
"command": "npx",
"args": [
"paperless-mcp",
"http://your-paperless-instance:8000",
"your-api-token"
],
"env": {
"PAPERLESS_BASE_URL": "<PAPERLESS_BASE_URL>",
"PAPERLESS_API_TOKEN": "<PAPERLESS_API_TOKEN>",
"PAPERLESS_URL": "<PAPERLESS_URL>"
}
}
}
}Environment variables
PAPERLESS_BASE_URLPAPERLESS_API_TOKENPAPERLESS_URL
Replace the placeholders with your own credentials and keep them out of version control.