关于 Paperless MCP - Document Management System
Paperless MCP 是面向企业数字文档管理的开源系统,涵盖存储、搜索、OCR、分类和元数据提取,并提供访问控制与工作流功能。
主要功能
- 01文档存储与文件夹整理
- 02元数据、标签和高级搜索
- 03OCR 与元数据提取
- 04自动文档分类
- 05访问控制与审计日志
- 06REST API 与可定制工作流
适用场景
- 01数字化并整理扫描文档
- 02按文本和元数据查找文档
- 03自动分类新收到的文档
MCP 相关
README 将其描述为文档管理系统并介绍了 REST API,但未说明向 MCP 客户端提供哪些 MCP 工具或资源。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Paperless MCP - 文档管理系统
面向数字化工作场所的现代、高效文档管理系统
功能 • 安装 • 用法 • API • 配置 • 贡献 • 许可证
概述
Paperless MCP 是一款开源文档管理系统,旨在简化企业环境中的数字文档处理。它提供全面的解决方案,用于存储、整理、搜索和处理文档,免去纸质文档的需求,并简化文档工作流。
该系统提供强大的文档处理能力,包括 OCR(光学字符识别)、元数据提取和自动文档分类,同时严格执行安全和访问控制。
功能
文档存储与整理
- 安全的云端或本地文档存储
- 分层文件夹结构
- 自定义元数据和标签
- 高级搜索功能
文档处理
- 扫描文档的 OCR
- 自动文档分类
- 元数据提取
- PDF 处理和操作
安全与合规
- 基于角色的访问控制
- 记录所有文档操作的审计日志
- 敏感数据加密
- 符合行业标准(GDPR、HIPAA 等)
集成与扩展
- 用于第三方集成的 RESTful API
- 支持用于自动化的 Webhook
- 可自定义的工作流引擎
- 用于扩展功能的插件架构
用户体验
- 直观的 Web 用户界面
- 移动设备自适应设计
- 文档预览和批注
- 高效处理文档的批量操作
安装
前置条件
- Node.js(v16 或更高版本)
- npm 或 yarn
- PostgreSQL(v13 或更高版本)
- Docker(可选,用于容器化部署)
本地安装
- 克隆代码库:
git clone https://github.com/yourusername/paperless-mcp.git
cd paperless-mcp
- 安装依赖项:
npm install
- 设置环境变量:
cp .env.example .env
# Edit .env with your configuration
- 运行数据库迁移:
npm run migrate
- 启动开发服务器:
npm run dev
Docker 安装
- 克隆代码库:
git clone https://github.com/yourusername/paperless-mcp.git
cd paperless-mcp
- 构建并启动 Docker 容器:
docker-compose up -d
应用将在 http://localhost:3000 上运行。
用法
基本操作
上传文档
import { DocumentService } from 'paperless-mcp';
const documentService = new DocumentService();
const result = await documentService.uploadDocument({
file: fileBuffer,
metadata: {
title: 'Invoice #12345',
category: 'Finance',
tags: ['invoice', '2023', 'vendor-abc']
}
});
获取文档
const document = await documentService.getDocument(documentId);
搜索文档
const searchResults = await documentService.searchDocuments({
query: 'invoice',
filters: {
category: 'Finance',
dateRange: {
from: '2023-01-01',
to: '2023-12-31'
}
},
page: 1,
limit: 20
});
命令行用法
Paperless MCP 还提供用于管理任务的命令行界面:
# Display help
npx paperless-mcp --help
# Initialize the system
npx paperless-mcp init
# Import documents from a directory
npx paperless-mcp import --source /path/to/documents
# Run system diagnostics
npx paperless-mcp diagnose
API 文档
Paperless MCP 提供 RESTful API,用于与其他系统集成。API 位于 /api/v1,需要通过 API 密钥或 JWT 令牌进行身份验证。
身份验证
POST /api/v1/auth/login
请求正文:
{
"username": "admin",
"password": "your-password"
}
响应:
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expiresAt": "2023-12-31T23:59:59Z"
}
文档 API
创建文档
POST /api/v1/documents
请求正文:
{
"title": "Invoice #12345",
"content": "Base64 encoded file content...",
"metadata": {
"category": "Finance",
"tags": ["invoice", "2023"]
}
}
获取文档
GET /api/v1/documents/:id
搜索文档
GET /api/v1/documents/search?q=invoice&category=Finance&from=2023-01-01&to=2023-12-31&page=1&limit=20
完整的 API 参考请参阅 API 文档。
配置
Paperless MCP 可通过环境变量、配置文件或 smithery.yaml 文件进行配置。
环境变量
PORT:服务器监听的端口(默认值:3000)DATABASE_URL:PostgreSQL 连接字符串STORAGE_TYPE:存储后端('local'、's3'、'azure' 等)STORAGE_PATH:本地存储路径(如果 STORAGE_TYPE=local)LOG_LEVEL:日志级别('debug'、'info'、'warn'、'error')JWT_SECRET:用于生成 JWT 令牌的密钥OCR_ENGINE:要使用的 OCR 引擎('tesseract'、'azure' 等)
配置文件
如需更高级的配置,请在项目根目录中创建 config.js 或 config.json 文件。示例:
{
"server": {
"port": 3000,
"host": "0.0.0.0",
"cors": {
"enabled": true,
"origins": ["https://example.com"]
}
},
"database": {
"url": "postgresql://user:password@localhost:5432/paperless",
"pool": {
"min": 2,
"max": 10
}
},
"storage": {
"type": "s3",
"config": {
"bucket": "paperless-documents",
"region": "us-west-2"
}
}
}
贡献
欢迎为 Paperless MCP 做出贡献!欢迎提交问题、功能请求和拉取请求。
开发环境设置
- 复刻代码库
- 克隆你的复刻仓库:
git clone https://github.com/yourusername/paperless-mcp.git - 创建功能分支:
git checkout -b feature/my-feature - 进行更改
- 运行测试:
npm test - 提交更改:
git commit -m 'Add my feature' - 推送到分支:
git push origin feature/my-feature - 提交拉取请求
编码规范
- 我们遵循 TypeScript 编码指南
- 所有代码都应正确注明类型
- 新功能必须提供单元测试
- 任何更改都应同步更新文档
文档
- API 文档使用 TypeDoc 生成
- 添加或更改功能时,请更新 README.md
- 为新功能添加示例
许可证
本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
致谢
- 感谢所有为本项目发展做出贡献的人
- 特别感谢开源社区提供的工具和库,让本项目得以实现
由 Paperless MCP 团队倾心打造 ❤️
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。