返回市场
pdf阅读器-mcp

pdf阅读器-mcp

作者:trafflux38 星标更新:2025-02-20

项目介绍

PDF阅读器MCP服务器

一个模型上下文协议(MCP)服务器,提供从PDF文件中读取和提取文本内容的工具,支持本地文件和URL。

作者

Philip Van de Walker
邮箱:philip.vandewalker@gmail.com
GitHub:https://github.com/trafflux

特性

  • 从本地PDF文件中读取文本内容
  • 从PDF URL中读取文本内容
  • 错误处理损坏或无效的PDF文件
  • 挂载卷以访问本地PDF文件
  • 自动检测PDF编码
  • 标准化的JSON输出格式

安装

  1. 克隆仓库:
git clone https://github.com/trafflux/pdf-reader-mcp.git
cd pdf-reader-mcp
  1. 构建Docker镜像:
docker build -t mcp/pdf-reader .

使用方法

运行服务器

要运行服务器并访问本地PDF文件:

docker run -i --rm -v /path/to/pdfs:/pdfs mcp/pdf-reader

/path/to/pdfs替换为实际的PDF文件目录路径。

如果不使用本地PDF文件:

docker run -i --rm mcp/pdf-reader

MCP配置

添加到您的MCP设置配置中:

{
  "mcpServers": {
    "pdf-reader": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "/path/to/pdfs:/pdfs",
        "mcp/pdf-reader"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}

不使用本地PDF文件:

{
  "mcpServers": {
    "pdf-reader": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "mcp/pdf-reader"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

可用工具

  1. read_local_pdf

    • 目的:从本地PDF文件中读取文本内容
    • 输入:
      {
        "path": "/pdfs/document.pdf"
      }
      
    • 输出:
      {
        "success": true,
        "data": {
          "text": "提取的内容..."
        }
      }
      
  2. read_pdf_url

    • 目的:从PDF URL中读取文本内容
    • 输入:
      {
        "url": "https://example.com/document.pdf"
      }
      
    • 输出:
      {
        "success": true,
        "data": {
          "text": "提取的内容..."
        }
      }
      

错误处理

服务器处理各种错误情况,并给出清晰的错误信息:

  • 无效或损坏的PDF文件
  • 缺失文件
  • 失败的URL请求
  • 权限问题
  • 网络连接问题

错误响应遵循以下格式:

{
  "success": false,
  "error": "详细的错误消息"
}

依赖项

  • Python 3.11+
  • PyPDF2:PDF解析和文本提取
  • requests:HTTP客户端,用于从URL获取PDF
  • MCP SDK:模型上下文协议实现

项目结构

.
├── Dockerfile          # 容器配置
├── README.md          # 本文档
├── requirements.txt   # Python依赖项
└── src/
    ├── __init__.py    # 包初始化
    └── server.py      # 主服务器实现

许可证

版权所有 2_0_2_5 Philip Van de Walker

根据Apache许可证,版本2.0(“许可证”)获得许可; 除非符合许可证,否则不得使用此文件。 您可以通过以下网址获得许可证副本:

http://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则根据许可证分发的软件 按“原样”分发,不附带任何形式的保证或条件, 无论是明示还是暗示。有关具体管理权限和限制的细则,请参阅许可证。

贡献

欢迎贡献!请随时提交拉取请求。

联系方式

对于问题、问题或贡献,请联系Philip Van de Walker: