项目简介

PDF Tools Server 是一个基于 Model Context Protocol (MCP) 构建的应用后端,它作为一个MCP服务器运行,旨在为大型语言模型(LLM)客户端提供PDF文档处理能力。通过此服务器,LLM可以调用各种工具来操作PDF文件,例如合并多个PDF文档、提取特定页面、搜索PDF文件以及查找与特定PDF相关的文档。

主要功能点

  • 合并PDF文件: 将多个PDF文件合并为一个单独的PDF文件,支持指定合并顺序。
  • 提取PDF页面: 从PDF文件中提取指定的页面,生成新的PDF文件。
  • 搜索PDF文件: 在指定目录下搜索PDF文件,支持文件名模式匹配。
  • 查找相关PDF: 分析目标PDF的内容,提取关键词或模式,并在指定目录下查找与之相关的PDF文件。

安装步骤

  1. 克隆仓库

    首先,将GitHub仓库 'https://github.com/hanweg/mcp-pdf-tools' 克隆到本地。

    git clone https://github.com/hanweg/mcp-pdf-tools
    cd mcp-pdf-tools
  2. 创建并激活虚拟环境

    推荐使用 'uv' 创建和管理虚拟环境,确保项目依赖与系统环境隔离。

    uv venv
    .venv\Scripts\activate   # Windows
    # source .venv/bin/activate  # Linux/macOS
  3. 安装项目依赖

    使用 'uv pip install' 安装项目及其依赖包。'-e .' 表示以可编辑模式安装当前目录的项目。

    uv pip install -e .

服务器配置

PDF Tools Server 作为 MCP 服务器,需要被 MCP 客户端配置才能使用。以下是 Claude Desktop 客户端的配置示例,您可以根据您使用的 MCP 客户端进行相应配置。

请将以下 JSON 配置添加到您的 MCP 客户端配置文件中(例如 'claude_desktop_config.json'):

{
    "mcpServers": {
        "pdf-tools": {  // 服务器名称,客户端用此名称引用
            "command": "uv", // 启动服务器的命令,这里使用 uv
            "args": [       // 启动命令的参数列表
                "--directory",
                "PATH_TO\\mcp-pdf-tools", // 请替换为您的 mcp-pdf-tools 仓库的绝对路径
                "run",
                "pdf-tools"  // 运行名为 pdf-tools 的服务 (对应 server.py 中的 server = Server("pdf-tools"))
            ]
        }
    }
}

配置参数说明:

  • '"pdf-tools"': 服务器的名称,在客户端配置中用于唯一标识和引用此服务器。您可以自定义此名称。
  • '"command": "uv"': 指定用于启动服务器的命令。这里假设您已安装 'uv' 并将其添加到系统路径。如果使用 'python' 直接运行,可以将 'command' 更改为 'python',并相应调整 'args'。
  • '"args"': 一个字符串数组,包含传递给 'command' 的参数。
    • '"--directory", "PATH_TO\mcp-pdf-tools"': 指定工作目录为您的 'mcp-pdf-tools' 仓库的路径。请务必将 '"PATH_TO\mcp-pdf-tools"' 替换为实际的绝对路径,例如 'C:\Users\YourUsername\mcp-pdf-tools' (Windows) 或 '/home/yourusername/mcp-pdf-tools' (Linux/macOS)。注意 Windows 路径需要使用双反斜杠 '\' 或正斜杠 '/'。
    • '"run", "pdf-tools"': 指示 'uv' 运行 'pdf-tools' 服务。这对应于 'src/pdf_tools/init.py' 或 'src/pdf_tools/server.py' 中定义的服务器入口点。

请注意: 您需要根据您的 MCP 客户端的具体要求进行配置。上述配置是针对 Claude Desktop 客户端的示例。

基本使用方法

  1. 启动服务器: 配置完成后,当您的 MCP 客户端(例如 Claude Desktop)启动并需要使用 PDF 处理功能时,它会根据您提供的配置自动启动 PDF Tools Server。

  2. 通过 MCP 客户端调用工具: 您无需直接与 PDF Tools Server 交互。而是通过您的 MCP 客户端(例如在 Claude Desktop 的聊天界面中),以自然语言指令或图形界面操作的方式,指示 LLM 使用 PDF 处理工具。客户端会将您的请求转换为 MCP 协议的请求发送给 PDF Tools Server。

  3. 工具调用示例: 例如,如果您想合并多个 PDF 文件,您可以在 MCP 客户端中指示 LLM “合并文件 A.pdf, B.pdf 和 C.pdf 并保存为 merged.pdf”。客户端会将此请求转换为对 PDF Tools Server 中 'merge-pdfs' 工具的调用,并传递必要的文件路径等参数。服务器执行合并操作后,会将结果返回给客户端,客户端再以适当的方式呈现给用户。

总结: 您只需要正确安装和配置 PDF Tools Server,然后通过支持 MCP 协议的客户端软件(如 Claude Desktop)即可间接使用其提供的 PDF 处理功能,无需编写代码或直接操作服务器。

信息

分类

生产力应用