这是一个用于与 Paperless-NGX API 服务器交互的 MCP(模型上下文协议)服务器。该服务器提供了管理 Paperless-NGX 实例中的文档、标签、联系人和文档类型的工具。
npm install -g paperless-mcp
对于 VSCode 扩展,编辑 ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json:
{
"mcpServers": {
"paperless": {
"command": "npx",
"args": ["paperless-mcp", "http://your-paperless-instance:8000", "your-api-token"]
}
}
}
对于 Claude 桌面应用,编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"paperless": {
"command": "npx",
"args": ["paperless-mcp", "http://your-paperless-instance:8000", "your-api-token"]
}
}
}
获取您的 API 令牌:
替换 MCP 配置中的占位符:
http://your-paperless-instance:8000 替换为您自己的 Paperless-NGX URLyour-api-token 替换为您刚刚生成的令牌就这样!现在您可以请求 Claude 帮助您管理 Paperless-NGX 文档了。
这里有一些您可以请求 Claude 做的事情:
获取所有文档的分页列表。
参数:
list_documents({
page: 1,
page_size: 25
})
通过 ID 获取特定文档。
参数:
get_document({
id: 123
})
在文档中进行全文搜索。
参数:
search_documents({
query: "发票 2024"
})
通过 ID 下载文档文件。
参数:
download_document({
id: 123,
original: false
})
对多个文档执行批量操作。
参数:
示例:
// 向多个文档添加标签
bulk_edit_documents({
documents: [1, 2, 3],
method: "add_tag",
tag: 5
})
// 设置联系人和文档类型
bulk_edit_documents({
documents: [4, 5],
method: "set_correspondent",
correspondent: 2
})
// 合并文档
bulk_edit_documents({
documents: [6, 7, 8],
method: "merge",
metadata_document_id: 6,
delete_originals: true
})
// 将文档拆分为部分
bulk_edit_documents({
documents: [9],
method: "split",
pages: "[1-2,3-4,5]"
})
// 一次修改多个标签
bulk_edit_documents({
documents: [10, 11],
method: "modify_tags",
add_tags: [1, 2],
remove_tags: [3, 4]
})
上传新文档到 Paperless-NGX。
参数:
post_document({
file: "base64_encoded_content",
filename: "invoice.pdf",
title: "一月发票",
created: "2024-01-19",
correspondent: 1,
document_type: 2,
tags: [1, 3],
archive_serial_number: "2024-001"
})
获取所有标签。
list_tags()
创建一个新的标签。
参数:
create_tag({
name: "发票",
color: "#ff0000",
match: "发票",
matching_algorithm: "fuzzy"
})
获取所有联系人。
list_correspondents()
创建一个新的联系人。
参数:
create_correspondent({
name: "ACME 公司",
match: "ACME",
matching_algorithm: "fuzzy"
})
获取所有文档类型。
list_document_types()
创建一个新的文档类型。
参数:
create_document_type({
name: "发票",
match: "发票总金额应付款",
matching_algorithm: "any"
})
如果出现以下情况,服务器会显示清晰的错误消息:
想要贡献或修改服务器?这里是你需要知道的内容:
npm install
node server.js http://localhost:8000 your-test-token
服务器构建使用了:
此 MCP 服务器实现了 Paperless-NGX REST API 的端点。有关底层 API 的更多详细信息,请参阅 官方文档。
MCP 服务器可以以两种模式运行:
这是默认模式。服务器通过 stdio 通信,适用于 CLI 和直接集成。
npm run start -- <baseUrl> <token>
要作为 HTTP 服务运行服务器,请使用 --http 标志。您还可以指定端口 --port(默认:3000)。此模式需要安装 Express(它被包含为依赖项)。
npm run start -- <baseUrl> <token> --http --port 3000
POST /mcp 可用。/mcp 的 GET 和 DELETE 请求将返回 405 方法不允许。