mcpField
P
Paperless MCP - Document Management System

Paperless MCP - Document Management System

本地服务
github.com/PDangelmaier文件与存储282 周前更新

关于 Paperless MCP - Document Management System

Paperless MCP 是面向企业数字文档管理的开源系统,涵盖存储、搜索、OCR、分类和元数据提取,并提供访问控制与工作流功能。

主要功能

  1. 01文档存储与文件夹整理
  2. 02元数据、标签和高级搜索
  3. 03OCR 与元数据提取
  4. 04自动文档分类
  5. 05访问控制与审计日志
  6. 06REST API 与可定制工作流

适用场景

  1. 01数字化并整理扫描文档
  2. 02按文本和元数据查找文档
  3. 03自动分类新收到的文档

MCP 相关

README 将其描述为文档管理系统并介绍了 REST API,但未说明向 MCP 客户端提供哪些 MCP 工具或资源。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"Paperless-MCP-Server": {
"command": "npx",
"args": [
"-y",
"paperless-mcp"
]
}
}
}
启动命令npx -y paperless-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmpaperless-mcp

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Paperless MCP - 文档管理系统

Paperless MCP 标志

面向数字化工作场所的现代、高效文档管理系统

功能 • 安装 • 用法 • API • 配置 • 贡献 • 许可证

概述

Paperless MCP 是一款开源文档管理系统,旨在简化企业环境中的数字文档处理。它提供全面的解决方案,用于存储、整理、搜索和处理文档,免去纸质文档的需求,并简化文档工作流。

该系统提供强大的文档处理能力,包括 OCR(光学字符识别)、元数据提取和自动文档分类,同时严格执行安全和访问控制。

功能

文档存储与整理

  • 安全的云端或本地文档存储
  • 分层文件夹结构
  • 自定义元数据和标签
  • 高级搜索功能

文档处理

  • 扫描文档的 OCR
  • 自动文档分类
  • 元数据提取
  • PDF 处理和操作

安全与合规

  • 基于角色的访问控制
  • 记录所有文档操作的审计日志
  • 敏感数据加密
  • 符合行业标准(GDPR、HIPAA 等)

集成与扩展

  • 用于第三方集成的 RESTful API
  • 支持用于自动化的 Webhook
  • 可自定义的工作流引擎
  • 用于扩展功能的插件架构

用户体验

  • 直观的 Web 用户界面
  • 移动设备自适应设计
  • 文档预览和批注
  • 高效处理文档的批量操作

安装

前置条件
  • Node.js(v16 或更高版本)
  • npm 或 yarn
  • PostgreSQL(v13 或更高版本)
  • Docker(可选,用于容器化部署)
本地安装
  1. 克隆代码库:
git clone https://github.com/yourusername/paperless-mcp.git
cd paperless-mcp
  1. 安装依赖项:
npm install
  1. 设置环境变量:
cp .env.example .env
# Edit .env with your configuration
  1. 运行数据库迁移:
npm run migrate
  1. 启动开发服务器:
npm run dev
Docker 安装
  1. 克隆代码库:
git clone https://github.com/yourusername/paperless-mcp.git
cd paperless-mcp
  1. 构建并启动 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 做出贡献!欢迎提交问题、功能请求和拉取请求。

开发环境设置
  1. 复刻代码库
  2. 克隆你的复刻仓库:git clone https://github.com/yourusername/paperless-mcp.git
  3. 创建功能分支:git checkout -b feature/my-feature
  4. 进行更改
  5. 运行测试:npm test
  6. 提交更改:git commit -m 'Add my feature'
  7. 推送到分支:git push origin feature/my-feature
  8. 提交拉取请求
编码规范
  • 我们遵循 TypeScript 编码指南
  • 所有代码都应正确注明类型
  • 新功能必须提供单元测试
  • 任何更改都应同步更新文档
文档
  • API 文档使用 TypeDoc 生成
  • 添加或更改功能时,请更新 README.md
  • 为新功能添加示例

许可证

本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。

致谢

  • 感谢所有为本项目发展做出贡献的人
  • 特别感谢开源社区提供的工具和库,让本项目得以实现

由 Paperless MCP 团队倾心打造 ❤️

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。