Paperless MCP - Document Management System

Paperless MCP - Document Management System

PDangelmaier

研究与数据
访问服务器

README

Paperless MCP - 文档管理系统

<p align="center"> <img src="https://via.placeholder.com/200x200?text=Paperless+MCP" alt="Paperless MCP Logo" width="200" height="200"> </p>

<p align="center"> 一个为数字化工作场所设计的现代、高效的文档管理系统 </p>

<p align="center"> <a href="#features">特性</a> • <a href="#installation">安装</a> • <a href="#usage">使用</a> • <a href="#api-documentation">API</a> • <a href="#configuration">配置</a> • <a href="#contributing">贡献</a> • <a href="#license">许可</a> </p>

概述

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
# 编辑 .env 文件进行配置
  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
});

CLI 使用

Paperless MCP 还提供了一个命令行界面,用于管理任务:

# 显示帮助
npx paperless-mcp --help

# 初始化系统
npx paperless-mcp init

# 从目录导入文档
npx paperless-mcp import --source /path/to/documents

# 运行系统诊断
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.jsconfig.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. Fork 存储库
  2. 克隆你的 fork: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 文件。

致谢

  • 感谢所有帮助塑造这个项目的贡献者
  • 特别感谢开源社区提供的工具和库,使这个项目成为可能

<p align="center"> 由 Paperless MCP 团队用 ❤️ 制作 </p>

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python