使用说明
OCR MCP服务器
A. 模型上下文协议(MCP) 使用Python构建的服务器。 该服务器公开了由本地PaddleOCR服务支持的OCR(光学字符识别)工具,能够从复杂的图像和PDF中提取文本和布局,包括日语文本。
🛠️ 能力
服务器通过专用的OCR后端服务提供分析文档的工具。
-
ocr_document(file_url: str):- 通过URL(图像/PDF)分析单个文档。
- 保留布局并返回Markdown。
- 例子:
ocr_document("https://example.com/invoice.pdf")
-
ocr_batch_documents(file_urls: list[str]):- 通过URL并行分析多个文档。
- 高效处理多个文件(最多10个)。
- 例子:
ocr_batch_documents(["https://example.com/a.jpg", "https://example.com/b.pdf"])
-
ocr_uploaded_document(file_path: str):- 通过将本地文件上传到OCR服务来分析它。
- 注: 要求文件在本地文件系统上可访问。
- 例子:
ocr_uploaded_document("/home/user/docs/scan.png")
🚀 入门指南
先决条件
- Python 3.12+
uv(用于包管理):curl -LsSf https://astral.sh/uv/install.sh | shnpm(可选,适用于检查员)- CUDA兼容GPU(推荐用于更快的OCR性能)
安装
- 克隆存储库。
- 安装MCP服务器的依赖项:
make install
运行服务器
运行此系统需要两个组件: OCR后端服务 和那个 MCP服务器.
-
启动OCR服务 (控制PaddleOCR模型):
make ocr它在端口8866上运行。
-
启动MCP服务器 (在新航站楼中):
make mcp它在端口8001上运行。
检查工具
使用MCP检查器交互式测试工具:
make inspect
此命令启动检查器UI,您可以在其中列出工具并模拟客户端请求。
发展
- 格式代码:
make format(使用ruff) - 类型检查:
make mypy
📂 项目结构
├── main.py # MCP Server entry point
├── mcp_server/ # MCP Server Implementation
│ ├── tools.py # Tool logic (OCR bridge)
├── ocr_service/ # OCR Backend Service (FastAPI + PaddleOCR)
│ ├── main.py # FastAPI app
│ └── ocr.py # PaddleOCR logic
├── settings.py # Configuration
├── Makefile # Command shortcuts
└── pyproject.toml # MCP Server Dependencies
🔒 安全
- OCR服务在本地运行;没有数据被发送到外部云提供商进行OCR。
- 工具验证URL方案和文件路径。