返回市场
MCP PDF 服务器

MCP PDF 服务器

作者:Dev-918 星标更新:2025-05-15

项目介绍

MCP PDF Server

MCP PDF Server 是一个基于 Model Context Protocol(MCP)的服务器,用于高效管理 PDF 文件。

该项目由嵌入式开发者创建,旨在使像 Cursor 这样的AI编码工具能够直接读取和总结PDF数据表文档,或者通过问答等方式使开发工作更加便捷。也就是说,其主要目的是支持AI快速理解PDF数据表的内容,并提供所需信息。

该项目包含两个主要组件:

  • manager_server:基于 FastAPI 的网页,允许用户通过 Web UI 上传或下载 PDF 文件,查询和管理文件列表。此外,还提供了与外部系统集成的 RESTful API。
  • mcp_server:基于 manager_server 管理的 PDF 文件,提供文件名搜索和文本提取功能。提取的文本可以通过 MCP 协议与外部系统(如 Cursor 等)集成。

主要功能:

  • PDF 文本提取(支持本地文件及URL)
  • 基于文件名的 PDF 搜索
  • PDF 列表查询及管理
  • 支持 PDF 文件的 Web 上传/下载
  • 提供 RESTful API 及 Web 服务
  • 通过 MCP 协议与外部系统(如 Curator、Cursor 等)集成

通过 RESTful API 和 Web UI,可以轻松地与外部系统集成。该服务器既可以在 Docker 中部署,也可以在本地环境中轻松部署和运行。适用于各种 PDF 文档(如数据表、论文、合同等)的自动化管理和搜索。

主要特点

  • 从本地 PDF 文件或可通过 URL 访问的 PDF 文件中提取文本
  • 提供 /app/datasheets 下的 PDF 文件列表
  • 提供基于文件名的 PDF 搜索功能
  • 基于 PyPDF2 的稳定文本提取及异常处理
  • 提供基于 FastMCP 的标准化 MCP 工具

使用 Docker 运行

  1. 构建镜像

    docker build -t mcp-pdf-server:1.0.0 .
    
  2. 运行容器

    docker run -d \
      -v /主机/路径/数据:/app/datasheets \
      -p 5050:5050 \
      -p  5080:5080 \
      --name mcp-pdf-server \
      mcp-pdf-server:1.0.0
    
    • 将 PDF 文件放入 /主机/路径/数据,则可在容器内部的 /app/datasheets 访问。
    • 使用端口 5050 和 5080。
  3. 使用 docker-compose

    # 修改 docker-compose.yml 中的 /path/to/your/datasheets 为实际的 PDF 文件夹路径。
    docker-compose up -d --build
    

在本地(Python)直接运行

  1. 安装依赖

    pip install -r requirements.txt
    
  2. 启动服务器

    python mcp_server/mcp_pdf_server.py
    # 或者
    uvicorn manager_server.main:app --host 0.0.0.0 --port 5080
    

MCP 工具(API)说明

  • read_local_pdf
    接收本地 PDF 文件路径并提取文本。

  • read_url_pdf
    接收 PDF 文件的 URL 并提取文本。

  • server_pdf_list
    返回 /app/datasheets 下的所有 PDF 文件列表。

  • server_pdf_search
    根据文件名搜索服务器上的 PDF 文件,并提取该 PDF 的文本。

路径指南

  • PDF 数据必须位于 /app/datasheets 路径(Docker 容器内)。
  • 使用 Docker 时,将主机的 PDF 文件夹挂载到 /app/datasheets
  • 源代码位于 /app/mcp_server(以容器内部为准)。

许可证

Apache License 2.0
作者: Dev91