# 安装 Paperless MCP

- 类型: MCP 工具
- 说明: Paperless-NGX over MCP: search, read, upload and tag documents; manage correspondents and types.
- 仓库: https://github.com/pvliesdonk/paperless-mcp

## 方式一 · 一键代装（复制提示词让 AI 代劳）

### Claude Code
```
请帮我安装 askskill 上的 "Paperless MCP" MCP 服务：
执行：claude mcp add 'io-github-pvliesdonk-paperless-mcp' -- uvx pvliesdonk-paperless-mcp
```

### Codex
```
请帮我安装 askskill 上的 "Paperless MCP" MCP 服务：
在 ~/.codex/config.toml 中添加：
[mcp_servers.io-github-pvliesdonk-paperless-mcp]
command = "uvx"
args = ["pvliesdonk-paperless-mcp"]
然后重启 Codex 生效
```

### Cursor
```
请帮我安装 askskill 上的 "Paperless MCP" MCP 服务：
在 .cursor/mcp.json 的 "mcpServers" 中添加：
"io-github-pvliesdonk-paperless-mcp": { "command": "uvx", "args": ["pvliesdonk-paperless-mcp"] }
然后在 Cursor 设置 > MCP 中启用
```

## 方式二 · 命令行安装（原生命令与配置）

### Claude Code
```bash
claude mcp add --env PAPERLESS_MCP_KV_STORE_URL=YOUR_VALUE --env PAPERLESS_MCP_TOOLS_ALLOW=YOUR_VALUE --env PAPERLESS_MCP_TOOLS_DENY=YOUR_VALUE --env PAPERLESS_MCP_SERVER_NAME=YOUR_VALUE --env PAPERLESS_MCP_INSTANCE_DESCRIPTION=YOUR_VALUE --env PAPERLESS_MCP_INSTRUCTIONS_EXTRA=YOUR_VALUE --env PAPERLESS_MCP_INSTRUCTIONS=YOUR_VALUE --env PAPERLESS_MCP_LOG_LEVEL=YOUR_VALUE --env PAPERLESS_MCP_LOG_FORMAT=YOUR_VALUE --env PAPERLESS_MCP_PAPERLESS_URL=YOUR_VALUE --env PAPERLESS_MCP_API_TOKEN=YOUR_VALUE --env PAPERLESS_MCP_HTTP_TIMEOUT_SECONDS=YOUR_VALUE --env PAPERLESS_MCP_HTTP_RETRIES=YOUR_VALUE --env PAPERLESS_MCP_DEFAULT_PAGE_SIZE=YOUR_VALUE --env PAPERLESS_MCP_PAPERLESS_PUBLIC_URL=YOUR_VALUE --env PAPERLESS_MCP_TRANSFER_TTL_DEFAULT_S=YOUR_VALUE --env PAPERLESS_MCP_TRANSFER_TTL_MAX_S=YOUR_VALUE --env PAPERLESS_MCP_TRANSFER_GRACE_TTL_S=YOUR_VALUE --env PAPERLESS_MCP_TRANSFER_LEASE_S=YOUR_VALUE --env PAPERLESS_MCP_TRANSFER_MAX_UPLOAD_BYTES=YOUR_VALUE --transport stdio io-github-pvliesdonk-paperless-mcp -- uvx pvliesdonk-paperless-mcp
```
需要环境变量：PAPERLESS_MCP_KV_STORE_URL, PAPERLESS_MCP_TOOLS_ALLOW, PAPERLESS_MCP_TOOLS_DENY, PAPERLESS_MCP_SERVER_NAME, PAPERLESS_MCP_INSTANCE_DESCRIPTION, PAPERLESS_MCP_INSTRUCTIONS_EXTRA, PAPERLESS_MCP_INSTRUCTIONS, PAPERLESS_MCP_LOG_LEVEL, PAPERLESS_MCP_LOG_FORMAT, PAPERLESS_MCP_PAPERLESS_URL, PAPERLESS_MCP_API_TOKEN, PAPERLESS_MCP_HTTP_TIMEOUT_SECONDS, PAPERLESS_MCP_HTTP_RETRIES, PAPERLESS_MCP_DEFAULT_PAGE_SIZE, PAPERLESS_MCP_PAPERLESS_PUBLIC_URL, PAPERLESS_MCP_TRANSFER_TTL_DEFAULT_S, PAPERLESS_MCP_TRANSFER_TTL_MAX_S, PAPERLESS_MCP_TRANSFER_GRACE_TTL_S, PAPERLESS_MCP_TRANSFER_LEASE_S, PAPERLESS_MCP_TRANSFER_MAX_UPLOAD_BYTES

### Codex
```bash
codex mcp add --env PAPERLESS_MCP_KV_STORE_URL=YOUR_VALUE --env PAPERLESS_MCP_TOOLS_ALLOW=YOUR_VALUE --env PAPERLESS_MCP_TOOLS_DENY=YOUR_VALUE --env PAPERLESS_MCP_SERVER_NAME=YOUR_VALUE --env PAPERLESS_MCP_INSTANCE_DESCRIPTION=YOUR_VALUE --env PAPERLESS_MCP_INSTRUCTIONS_EXTRA=YOUR_VALUE --env PAPERLESS_MCP_INSTRUCTIONS=YOUR_VALUE --env PAPERLESS_MCP_LOG_LEVEL=YOUR_VALUE --env PAPERLESS_MCP_LOG_FORMAT=YOUR_VALUE --env PAPERLESS_MCP_PAPERLESS_URL=YOUR_VALUE --env PAPERLESS_MCP_API_TOKEN=YOUR_VALUE --env PAPERLESS_MCP_HTTP_TIMEOUT_SECONDS=YOUR_VALUE --env PAPERLESS_MCP_HTTP_RETRIES=YOUR_VALUE --env PAPERLESS_MCP_DEFAULT_PAGE_SIZE=YOUR_VALUE --env PAPERLESS_MCP_PAPERLESS_PUBLIC_URL=YOUR_VALUE --env PAPERLESS_MCP_TRANSFER_TTL_DEFAULT_S=YOUR_VALUE --env PAPERLESS_MCP_TRANSFER_TTL_MAX_S=YOUR_VALUE --env PAPERLESS_MCP_TRANSFER_GRACE_TTL_S=YOUR_VALUE --env PAPERLESS_MCP_TRANSFER_LEASE_S=YOUR_VALUE --env PAPERLESS_MCP_TRANSFER_MAX_UPLOAD_BYTES=YOUR_VALUE io-github-pvliesdonk-paperless-mcp -- uvx pvliesdonk-paperless-mcp
```
配置文件 ~/.codex/config.toml：
```toml
[mcp_servers.io-github-pvliesdonk-paperless-mcp]
command = "uvx"
args = ["pvliesdonk-paperless-mcp"]

[mcp_servers.io-github-pvliesdonk-paperless-mcp.env]
PAPERLESS_MCP_KV_STORE_URL = "YOUR_VALUE"
PAPERLESS_MCP_TOOLS_ALLOW = "YOUR_VALUE"
PAPERLESS_MCP_TOOLS_DENY = "YOUR_VALUE"
PAPERLESS_MCP_SERVER_NAME = "YOUR_VALUE"
PAPERLESS_MCP_INSTANCE_DESCRIPTION = "YOUR_VALUE"
PAPERLESS_MCP_INSTRUCTIONS_EXTRA = "YOUR_VALUE"
PAPERLESS_MCP_INSTRUCTIONS = "YOUR_VALUE"
PAPERLESS_MCP_LOG_LEVEL = "YOUR_VALUE"
PAPERLESS_MCP_LOG_FORMAT = "YOUR_VALUE"
PAPERLESS_MCP_PAPERLESS_URL = "YOUR_VALUE"
PAPERLESS_MCP_API_TOKEN = "YOUR_VALUE"
PAPERLESS_MCP_HTTP_TIMEOUT_SECONDS = "YOUR_VALUE"
PAPERLESS_MCP_HTTP_RETRIES = "YOUR_VALUE"
PAPERLESS_MCP_DEFAULT_PAGE_SIZE = "YOUR_VALUE"
PAPERLESS_MCP_PAPERLESS_PUBLIC_URL = "YOUR_VALUE"
PAPERLESS_MCP_TRANSFER_TTL_DEFAULT_S = "YOUR_VALUE"
PAPERLESS_MCP_TRANSFER_TTL_MAX_S = "YOUR_VALUE"
PAPERLESS_MCP_TRANSFER_GRACE_TTL_S = "YOUR_VALUE"
PAPERLESS_MCP_TRANSFER_LEASE_S = "YOUR_VALUE"
PAPERLESS_MCP_TRANSFER_MAX_UPLOAD_BYTES = "YOUR_VALUE"
```
需要环境变量：PAPERLESS_MCP_KV_STORE_URL, PAPERLESS_MCP_TOOLS_ALLOW, PAPERLESS_MCP_TOOLS_DENY, PAPERLESS_MCP_SERVER_NAME, PAPERLESS_MCP_INSTANCE_DESCRIPTION, PAPERLESS_MCP_INSTRUCTIONS_EXTRA, PAPERLESS_MCP_INSTRUCTIONS, PAPERLESS_MCP_LOG_LEVEL, PAPERLESS_MCP_LOG_FORMAT, PAPERLESS_MCP_PAPERLESS_URL, PAPERLESS_MCP_API_TOKEN, PAPERLESS_MCP_HTTP_TIMEOUT_SECONDS, PAPERLESS_MCP_HTTP_RETRIES, PAPERLESS_MCP_DEFAULT_PAGE_SIZE, PAPERLESS_MCP_PAPERLESS_PUBLIC_URL, PAPERLESS_MCP_TRANSFER_TTL_DEFAULT_S, PAPERLESS_MCP_TRANSFER_TTL_MAX_S, PAPERLESS_MCP_TRANSFER_GRACE_TTL_S, PAPERLESS_MCP_TRANSFER_LEASE_S, PAPERLESS_MCP_TRANSFER_MAX_UPLOAD_BYTES

### Cursor
配置文件 .cursor/mcp.json：
```json
{
  "mcpServers": {
    "io-github-pvliesdonk-paperless-mcp": {
      "command": "uvx",
      "args": [
        "pvliesdonk-paperless-mcp"
      ],
      "env": {
        "PAPERLESS_MCP_KV_STORE_URL": "YOUR_VALUE",
        "PAPERLESS_MCP_TOOLS_ALLOW": "YOUR_VALUE",
        "PAPERLESS_MCP_TOOLS_DENY": "YOUR_VALUE",
        "PAPERLESS_MCP_SERVER_NAME": "YOUR_VALUE",
        "PAPERLESS_MCP_INSTANCE_DESCRIPTION": "YOUR_VALUE",
        "PAPERLESS_MCP_INSTRUCTIONS_EXTRA": "YOUR_VALUE",
        "PAPERLESS_MCP_INSTRUCTIONS": "YOUR_VALUE",
        "PAPERLESS_MCP_LOG_LEVEL": "YOUR_VALUE",
        "PAPERLESS_MCP_LOG_FORMAT": "YOUR_VALUE",
        "PAPERLESS_MCP_PAPERLESS_URL": "YOUR_VALUE",
        "PAPERLESS_MCP_API_TOKEN": "YOUR_VALUE",
        "PAPERLESS_MCP_HTTP_TIMEOUT_SECONDS": "YOUR_VALUE",
        "PAPERLESS_MCP_HTTP_RETRIES": "YOUR_VALUE",
        "PAPERLESS_MCP_DEFAULT_PAGE_SIZE": "YOUR_VALUE",
        "PAPERLESS_MCP_PAPERLESS_PUBLIC_URL": "YOUR_VALUE",
        "PAPERLESS_MCP_TRANSFER_TTL_DEFAULT_S": "YOUR_VALUE",
        "PAPERLESS_MCP_TRANSFER_TTL_MAX_S": "YOUR_VALUE",
        "PAPERLESS_MCP_TRANSFER_GRACE_TTL_S": "YOUR_VALUE",
        "PAPERLESS_MCP_TRANSFER_LEASE_S": "YOUR_VALUE",
        "PAPERLESS_MCP_TRANSFER_MAX_UPLOAD_BYTES": "YOUR_VALUE"
      }
    }
  }
}
```
一键安装：cursor://anysphere.cursor-deeplink/mcp/install?name=io-github-pvliesdonk-paperless-mcp&config=eyJjb21tYW5kIjoidXZ4IiwiYXJncyI6WyJwdmxpZXNkb25rLXBhcGVybGVzcy1tY3AiXSwiZW52Ijp7IlBBUEVSTEVTU19NQ1BfS1ZfU1RPUkVfVVJMIjoiWU9VUl9WQUxVRSIsIlBBUEVSTEVTU19NQ1BfVE9PTFNfQUxMT1ciOiJZT1VSX1ZBTFVFIiwiUEFQRVJMRVNTX01DUF9UT09MU19ERU5ZIjoiWU9VUl9WQUxVRSIsIlBBUEVSTEVTU19NQ1BfU0VSVkVSX05BTUUiOiJZT1VSX1ZBTFVFIiwiUEFQRVJMRVNTX01DUF9JTlNUQU5DRV9ERVNDUklQVElPTiI6IllPVVJfVkFMVUUiLCJQQVBFUkxFU1NfTUNQX0lOU1RSVUNUSU9OU19FWFRSQSI6IllPVVJfVkFMVUUiLCJQQVBFUkxFU1NfTUNQX0lOU1RSVUNUSU9OUyI6IllPVVJfVkFMVUUiLCJQQVBFUkxFU1NfTUNQX0xPR19MRVZFTCI6IllPVVJfVkFMVUUiLCJQQVBFUkxFU1NfTUNQX0xPR19GT1JNQVQiOiJZT1VSX1ZBTFVFIiwiUEFQRVJMRVNTX01DUF9QQVBFUkxFU1NfVVJMIjoiWU9VUl9WQUxVRSIsIlBBUEVSTEVTU19NQ1BfQVBJX1RPS0VOIjoiWU9VUl9WQUxVRSIsIlBBUEVSTEVTU19NQ1BfSFRUUF9USU1FT1VUX1NFQ09ORFMiOiJZT1VSX1ZBTFVFIiwiUEFQRVJMRVNTX01DUF9IVFRQX1JFVFJJRVMiOiJZT1VSX1ZBTFVFIiwiUEFQRVJMRVNTX01DUF9ERUZBVUxUX1BBR0VfU0laRSI6IllPVVJfVkFMVUUiLCJQQVBFUkxFU1NfTUNQX1BBUEVSTEVTU19QVUJMSUNfVVJMIjoiWU9VUl9WQUxVRSIsIlBBUEVSTEVTU19NQ1BfVFJBTlNGRVJfVFRMX0RFRkFVTFRfUyI6IllPVVJfVkFMVUUiLCJQQVBFUkxFU1NfTUNQX1RSQU5TRkVSX1RUTF9NQVhfUyI6IllPVVJfVkFMVUUiLCJQQVBFUkxFU1NfTUNQX1RSQU5TRkVSX0dSQUNFX1RUTF9TIjoiWU9VUl9WQUxVRSIsIlBBUEVSTEVTU19NQ1BfVFJBTlNGRVJfTEVBU0VfUyI6IllPVVJfVkFMVUUiLCJQQVBFUkxFU1NfTUNQX1RSQU5TRkVSX01BWF9VUExPQURfQllURVMiOiJZT1VSX1ZBTFVFIn19
需要环境变量：PAPERLESS_MCP_KV_STORE_URL, PAPERLESS_MCP_TOOLS_ALLOW, PAPERLESS_MCP_TOOLS_DENY, PAPERLESS_MCP_SERVER_NAME, PAPERLESS_MCP_INSTANCE_DESCRIPTION, PAPERLESS_MCP_INSTRUCTIONS_EXTRA, PAPERLESS_MCP_INSTRUCTIONS, PAPERLESS_MCP_LOG_LEVEL, PAPERLESS_MCP_LOG_FORMAT, PAPERLESS_MCP_PAPERLESS_URL, PAPERLESS_MCP_API_TOKEN, PAPERLESS_MCP_HTTP_TIMEOUT_SECONDS, PAPERLESS_MCP_HTTP_RETRIES, PAPERLESS_MCP_DEFAULT_PAGE_SIZE, PAPERLESS_MCP_PAPERLESS_PUBLIC_URL, PAPERLESS_MCP_TRANSFER_TTL_DEFAULT_S, PAPERLESS_MCP_TRANSFER_TTL_MAX_S, PAPERLESS_MCP_TRANSFER_GRACE_TTL_S, PAPERLESS_MCP_TRANSFER_LEASE_S, PAPERLESS_MCP_TRANSFER_MAX_UPLOAD_BYTES
