📄 MCP PDF服务器
基于.NET的PDF文件读取服务器 FastMCP.
通过MCP协议支持PDF文本提取、OCR识别和图像提取,内置web调试器便于测试。
______________________________________________________________________
🚀 特性
- read_pdf_text\
从PDF中提取普通文本(逐页)。
- read_by_ocr\
使用OCR识别扫描或基于图像的PDF中的文本。
- read_pdf_images\
从指定的PDF页面中提取所有图像(Base64编码输出)。
______________________________________________________________________
📂 项目结构
mcp-pdf-server/
├── pdf_resources/ # Directory for uploaded and processed PDF files
├── txt_server.py # Main server entry point
└── README.md # Project documentation______________________________________________________________________
⚙️ 安装
推荐Python版本:3.9+
pip install pymupdf mcp注意:要使用OCR功能,您可能需要一个支持OCR的MuPDF版本或外部OCR库。
______________________________________________________________________
🔦 启动服务器
运行以下命令:
python txt_server.py您应该看到以下日志:
Serving on http://127.0.0.1:6231______________________________________________________________________
🌐 Web调试界面
打开浏览器并访问:
http://127.0.0.1:6231- 从左侧面板中选择工具
- 在右侧面板上填写参数
- 点击“运行”以测试该工具
无需编码——通过web UI轻松调试和测试。
______________________________________________________________________
🛠️ API工具清单
| 工具 | 描述 | 输入参数 | 返回 |
|---|---|---|---|
read_pdf_text | 从PDF页面中提取普通文本 | file_path, start_page, end_page | 页面文本列表 |
read_by_ocr | 通过OCR识别文本 | file_path, start_page, end_page, language, dpi | OCR提取文本 |
read_pdf_images | 从PDF页面提取图像 | file_path, page_number | 图像列表(Base64编码) |
______________________________________________________________________
📝 示例用法
从第1页到第5页摘录文本:
mcp run read_pdf_text --args '{"file_path": "pdf_resources/example.pdf", "start_page": 1, "end_page": 5}'在第1页执行OCR识别:
mcp run read_by_ocr --args '{"file_path": "pdf_resources/example.pdf", "start_page": 1, "end_page": 1, "language": "eng"}'从第3页提取所有图像:
mcp run read_pdf_images --args '{"file_path": "pdf_resources/example.pdf", "page_number": 3}'______________________________________________________________________
📢 备注
- 文件必须放置在
pdf_resources/必须提供目录或绝对路径。 - OCR功能需要环境中适当的OCR支持。
- 处理大文件时,根据需要调整内存和超时设置。
______________________________________________________________________
📜 许可证
该项目根据MIT许可证获得许可。\ 对于商业用途,请注明原始来源。
______________________________________________________________________
