项目简介
PDF Reader MCP 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 AI 智能体提供安全可靠的 PDF 文件处理能力。通过该服务器,AI 智能体可以轻松地从本地存储或 URL 读取 PDF 文件,并提取文本内容、元数据以及页数等信息,从而增强 AI 在文档分析、内容生成等方面的能力。
主要功能点
- AI 智能体集成: 无缝集成到各类 AI 智能体应用中,扩展其 PDF 文档处理能力。
- 文本提取: 从 PDF 文档中提取纯文本内容,支持全文或指定页面提取。
- 元数据检索: 获取 PDF 文件的元数据信息,例如作者、标题、创建日期等。
- 页数统计: 获取 PDF 文件的总页数。
- 安全处理: 确保所有 PDF 文件都经过安全处理,防止潜在的安全风险。
安装步骤
- 克隆仓库:
git clone https://github.com/hfrewreeft/pdf-reader-mcp.git - 进入项目目录:
cd pdf-reader-mcp - 安装依赖:
npm install - 构建项目:
npm run build - 启动服务器:
npm start
服务器配置
以下 JSON 配置信息可用于 MCP 客户端连接 PDF Reader MCP 服务器。客户端需要配置服务器的启动命令 (command) 及其参数 (args) 以建立连接。
{ "serverName": "pdf-reader-mcp", "command": "npm", "args": ["start"] }
- serverName: 服务器名称,可自定义,用于在客户端标识该服务器。 例如: '"pdf-reader-mcp"'
- command: 启动服务器的命令。 本项目中,使用 'npm start' 命令启动 Node.js 服务器。
- args: 启动命令的参数。 'npm start' 命令不需要额外的参数,因此参数列表为空 '[]'。
注意: 此配置假设您已按照安装步骤在 'pdf-reader-mcp' 项目目录下完成了依赖安装和项目构建。 MCP 客户端在配置时,工作目录应设置为 'pdf-reader-mcp' 项目根目录或能够正确解析 'npm start' 命令的路径。
基本使用方法
服务器启动后,可以通过 HTTP POST 请求调用 '/read-pdf' 接口来读取 PDF 文件。
请求示例 (使用 curl)
读取 URL PDF 文件:
curl -X POST http://localhost:3000/read-pdf -H "Content-Type: application/json" -d '{"url": "http://example.com/sample.pdf"}'
读取本地 PDF 文件 (假设服务器运行目录为项目根目录):
curl -X POST http://localhost:3000/read-pdf -H "Content-Type: application/json" -d '{"path": "test/fixtures/sample.pdf"}'
请求参数说明 (JSON Body)
- 'url' (string, 可选): PDF 文件的 URL 地址。
- 'path' (string, 可选): 本地 PDF 文件的相对路径 (相对于服务器运行目录)。
- 'include_full_text' (boolean, 可选): 是否提取 PDF 全文,默认为 'false'。
- 'include_metadata' (boolean, 可选): 是否提取 PDF 元数据,默认为 'true'。
- 'include_page_count' (boolean, 可选): 是否返回 PDF 页数,默认为 'true'。
- 'pages' (string 或 array, 可选): 指定需要提取文本的页码或页码范围。可以是页码数组 '[1, 3, 5]' 或页码范围字符串 '"1-3, 5, 7-"'。如果指定,则只提取指定页面的文本,'include_full_text' 参数将被忽略。
响应示例 (JSON)
{ "text": "这是从 PDF 中提取的文本内容。", "metadata": { "title": "示例 PDF", "author": "John Doe", "created": "2023-01-01" }, "pageCount": 10 }
响应的具体内容取决于请求参数和 PDF 文件内容。详细 API 文档请参考仓库 README.md 文件。
信息
分类
生产力应用