无纸化NGX MCP服务器
无纸 NGX 的模型上下文协议 (MCP) 服务器,作为远程服务器运行,可从任何地方访问,包括 Claude Mobile App。
概述
这个MCP服务器通过HTTP将Claude连接到您的无纸NGX文档管理系统。与仅在桌面上运行的本地 MCP 服务器不同,该服务器在您自己的服务器上运行(例如,与无纸本身并排),并且可以从任何地方访问。
这意味着您可以直接通过 Claude 在手机上搜索文档、更新元数据和管理文档。
特性
该服务器提供全面的文档管理,包括对所有文档进行全文搜索,检索包括OCR文本在内的文档详细信息,更新标题等元数据,标签和通讯员,以及使用安全查询删除文档。
为了组织文档,您可以管理带有颜色和自动匹配规则的标签,创建和列出通讯录,以及使用文档类型进行分类。
高级功能包括运行保存的视图、检索系统统计信息以及为新文档提供人工智能生成的元数据建议。
前提条件
您需要安装 Docker 和 Docker Compose 的服务器。该服务器应该能够访问您的无纸 NGX 安装。您还需要具有相应权限的 Paperless NGX API 令牌。
快速启动 Docker
启动服务器的最简单方法是使用Docker Compose。
首先,将项目克隆或复制到您的服务器:
mkdir -p ~/mcp-servers/paperless-ngx
cd ~/mcp-servers/paperless-ngx
# Kopiere alle Dateien hierher然后你创建一个 .env 模板文件 :
cp .env.example .env
nano .env写下你的价值观:
PAPERLESS_URL=https://paperless.deine-domain.de
PAPERLESS_TOKEN=dein-api-token-hier您现在可以启动容器:
docker-compose up -d服务器现在在端口3000上运行。查看状态:
docker-compose logs -f
curl http://localhost:3000/health与Claude的联系
Claude.ai网络和移动(远程MCP)
要将服务器连接到Claude.ai,首先需要通过Internet访问它。这可以通过Nginx或Traffick等反向代理来完成。一定要注意HTTPS加密。
在您的 Nginx 配置中,它可能看起来像这样:
server {
listen 443 ssl;
server_name mcp-paperless.deine-domain.de;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}一旦服务器可从外部访问,您就可以将其添加到 Claude.ai 作为 MCP 服务器。进入 Claude.ai 设置,并使用 URL 添加新的 MCP 服务器 https://mcp-paperless.deine-domain.de/mcp 添加。
克劳德桌面(可选)
对于 Claude Desktop 的本地使用,您也可以在 stdio 模式下运行服务器。将以下配置添加到您的 claude_desktop_config.json 添加 :
{
"mcpServers": {
"paperless-ngx": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-e", "PAPERLESS_URL=https://paperless.example.com",
"-e", "PAPERLESS_TOKEN=dein-token",
"-e", "TRANSPORT=stdio",
"paperless-ngx-mcp-server"
]
}
}
}可用工具
服务器提供 14 个文档管理工具。
对于文件有 paperless_search_documents 对于带有过滤器的全文搜索, paperless_get_document 查询详情, paperless_update_document 修改元数据, paperless_delete_document 永久删除, paperless_get_document_download_url 生成下载链接,以及 paperless_get_suggestions AI 元数据建议。
代表 Tags paperless_list_tags 列出和 paperless_create_tag 可用于创建。
记者将与 paperless_list_correspondents 列出并与 paperless_create_correspondent 创建 。
文档类型可以通过 paperless_list_document_types 显示并与 paperless_create_document_type 被设置。
对于保存的视图,有 paperless_list_saved_views 和 paperless_execute_saved_view 执行。
系统统计与 paperless_get_statistics 调用 。
Claude的例子
以下是如何与 Claude 和 Paperless MCP Server 进行交互的一些示例:
“搜索德国电信2024年的所有账单。
“给我看42号文件的细节,然后读给我看。
用红色创建一个名为“2025年税收”的新日子。
“哪些文档仍在收件箱标签中等待处理?”
“给我我的无纸档案的统计数据。
“运行已保存的‘未付账单’视图。
安全说明
根据令牌权限,MCP 服务器可以完全访问您的无纸 NGX 系统。请注意以下安全建议。
仅使用HTTPS进行外部可访问性。不要将 API 令牌存储在代码中,而是使用环境变量。将 Paperless 中的令牌权限限制在必要范围内。设置防火墙,并尽可能限制对受信任 IP 的访问。定期监控容器日志以查看异常活动。
地方发展
对于没有Docker的开发,您可以直接使用Node.js启动服务器。
首先安装依赖关系:
npm install设置环境变量:
export PAPERLESS_URL="https://dein-paperless-server.de"
export PAPERLESS_TOKEN="dein-token"以自动重新加载的开发模式启动服务器:
npm run dev或者构建并启动生产版本:
npm run build
npm start项目结构
该项目的组织方式如下:
paperless-ngx-mcp-server/
├── src/
│ ├── index.ts # Haupteinstiegspunkt, Transport-Setup
│ ├── constants.ts # Konfiguration und Konstanten
│ ├── types.ts # TypeScript Typdefinitionen
│ ├── schemas/
│ │ └── index.ts # Zod Validierungsschemas
│ ├── services/
│ │ ├── paperless-api.ts # HTTP Client für Paperless API
│ │ └── formatters.ts # Markdown/JSON Formatierung
│ └── tools/
│ └── index.ts # MCP Tool-Implementierungen
├── Dockerfile # Container-Build-Definition
├── docker-compose.yml # Deployment-Konfiguration
├── package.json # Node.js Projektdatei
└── tsconfig.json # TypeScript-Konfiguration故障排除
如果容器没有启动,请检查日志 docker-compose logs 关于错误消息。确保PAPERLESS_URL和PAPERLESS_TOKEN设置正确。
如果连接到 Paperless 出错,请检查容器是否具有对 Paperless 服务器的网络访问权限。Docker 网络可能需要使用内部 Docker IP 或主机名。
如果出现身份验证错误 (401),则 API 令牌可能无效或已过期。在无纸设置中创建一个新的令牌。
在权限错误 (403) 中,令牌可能没有所需的权限进行所需的操作。检查令牌权限。
许可证
MIT许可证
