OCR MCP服务器
LibreChat的多后端OCR MCP服务器,支持Marker(本地)、DeepSeek API和Mistral API。
特性
- 多个后端:Marker(本地,免费),DeepSeek API,Mistral API
- 自动回退:失败时无缝回退到下一个后端
- 灵活配置:基于环境的配置
- 成本有效:对于简单文档使用本地Marker,对于复杂手写使用API
- 易于集成:适用于LibreChat MCP
- 可选后端:仅启用所需的后端
快速开始
最小设置(标记+西北风)
# Install
pip install -r requirements.txt
# Configure (only Mistral key required)
echo 'MISTRAL_API_KEY=your-key-here' > .env
# Test
python -m ocr_mcp.serverLibreChat配置
mcpServers:
ocr:
command: "python"
args: ["-m", "ocr_mcp.server"]
env:
MISTRAL_API_KEY: "your-mistral-key-here"
ENABLED_BACKENDS: "marker,mistral"
DEFAULT_BACKEND: "marker"配置
环境变量
# API Keys (only required for enabled backends)
MISTRAL_API_KEY=your-mistral-key-here # Required if mistral enabled
DEEPSEEK_API_KEY=your-deepseek-key-here # Optional - only if deepseek enabled
# Backend Configuration
ENABLED_BACKENDS=marker,mistral # Comma-separated list
DEFAULT_BACKEND=marker # Default backend to use
# Processing Settings
MAX_FILE_SIZE_MB=50 # Maximum file size
TIMEOUT_SECONDS=120 # Processing timeout
API_TIMEOUT=30 # API call timeout
API_MAX_RETRIES=3 # API retry attempts
MARKER_BATCH_SIZE=1 # Marker batch size后端选项
仅标记(不需要API密钥):
ENABLED_BACKENDS: "marker"
DEFAULT_BACKEND: "marker"Marker+Mistral(推荐):
MISTRAL_API_KEY: "your-key"
ENABLED_BACKENDS: "marker,mistral"
DEFAULT_BACKEND: "marker"所有后端(当您拥有DeepSeek密钥时):
MISTRAL_API_KEY: "your-mistral-key"
DEEPSEEK_API_KEY: "your-deepseek-key"
ENABLED_BACKENDS: "marker,deepseek,mistral"
DEFAULT_BACKEND: "marker"用法
在LibreChat助手中
自动选择后端:
Extract text from this PDF指定后端:
Use Mistral to extract text from this handwritten page批量处理:
Process all uploaded PDFs with Marker first, use Mistral for pages with tables可用工具
- 光学字符识别:从PDF文件或图像中提取文本
- file_path (必填):文件路径 - backend (可选):要使用的特定后端(标记、deepseek、mistral)
后端详细信息
标记(本地)
- 优点:免费、快速、仅限CPU-无API费用
- 最佳:文本量大的文档,干净的PDF
- 局限性:难以书写和复杂布局
- 需求:不需要API密钥
Mistral API(像素)
- 优点:OCR精度最高,布局复杂时表现出色
- 最佳:表格、表格、混合内容、手写
- 成本:基于API使用情况
- 需求:有效的Mistral API密钥
DeepSeek API
- 优点:出色的手写识别,价格实惠
- 最佳:手写笔记、标记文件
- 成本:基于API使用情况
- 需求:有效的DeepSeek API密钥(可选)
稍后添加DeepSeek
当您准备启用DeepSeek时:
- 从以下位置获取API密钥:https://platform.deepseek.com/api_keys
- 添加到您的配置中:
DEEPSEEK_API_KEY: "your-deepseek-key-here"
ENABLED_BACKENDS: "marker,deepseek,mistral"- 重新开始免费聊天
服务器将在可用时自动检测并使用DeepSeek。
故障排除
MCP服务器未出现
- 检查
librechat.yaml缩进(YAML对空格敏感) - 验证API密钥设置是否正确
- 检查Docker日志:
docker-compose logs -f
“后端不可用”错误
- 确保
ENABLED_BACKENDS匹配您可用的API密钥 - 如果未提供API密钥,将跳过DeepSeek
- 如果启用了Mistral,则需要有效的API密钥
- 标记不需要额外设置
处理速度慢
- Marker在本地运行(对于简单文档来说速度很快)
- API调用每页需要2-5秒
- 考虑对大型书籍进行批量处理
标记安装问题
# Install marker-pdf separately
pip install marker-pdf
# Or install all dependencies
pip install -r requirements.txt配置验证错误
服务器将在启动时验证您的配置。常见错误:
- “DeepSeek后端已启用,但未设置DEEPSEK_API_KEY”
- 添加API密钥,或从ENABLED_BACKENDS中删除“深度搜索”
- “已启用Mistral后端,但未设置Mistral_API_KEY”
- 添加API密钥,或从ENABLED_BACKENDS中删除“mistral”
发展
项目结构
ocr-mcp/
├── ocr_mcp/
│ ├── __init__.py
│ ├── server.py # Main MCP server
│ ├── config.py # Configuration management
│ └── backends/
│ ├── __init__.py
│ ├── base.py # Base backend interface
│ ├── marker.py # Marker backend
│ ├── deepseek.py # DeepSeek API backend
│ └── mistral.py # Mistral API backend
├── pyproject.toml
└── README.md从源代码运行
# Install in development mode
pip install -e .
# Run server
python -m ocr_mcp.server许可证
MIT许可证
贡献
欢迎投稿!请随时提交问题或拉取请求。
