使用说明
项目简介
本项目 'Mistral OCR MCP服务器' 是一个实现了 Model Context Protocol (MCP) 的后端服务,专注于提供光学字符识别 (OCR) 功能。它利用 Mistral AI 的强大 OCR API,可以将图片和PDF文档中的文本内容提取出来,并以 JSON 格式返回。该服务器支持处理本地文件和网络 URL 指向的文件,方便集成到各种需要 OCR 功能的 LLM 应用中,例如 Claude Desktop。
主要功能点
- 本地文件OCR: 支持处理存储在服务器本地指定目录中的图片和PDF文档。
- URL文件OCR: 支持处理通过 URL 提供的图片和PDF文档。
- 多种文件格式: 支持 JPG, JPEG, PNG, GIF, WebP, PDF 等常见文件格式。
- 结果输出: OCR 结果以 JSON 格式保存,并带有时间戳,方便管理和追溯。
- Docker 容器化: 提供 Docker 镜像,方便部署和运行。
- 工具集成: 通过 MCP 协议提供 'process_local_file' 和 'process_url_file' 两个工具,供 LLM 客户端调用。
安装步骤
1. Docker 安装 (推荐)
- 确保已安装 Docker。
- 构建 Docker 镜像:
docker build -t mcp-mistral-ocr .
2. 本地开发安装
- 确保已安装 Python 和 pip。
- 安装 UV 包管理器 (可选,推荐使用,速度更快):
pip install uv - 创建并激活虚拟环境:
uv venv # 或 python -m venv .venv source .venv/bin/activate # On Unix .venv\Scripts\activate # On Windows - 安装依赖:
uv pip install . # 或 pip install .
服务器配置
MCP 服务器需要配置 Mistral AI API 密钥和 OCR 文件目录。以下是在 MCP 客户端(例如 Claude Desktop)中配置 'Mistral OCR MCP服务器' 的示例,假设您使用 Docker 方式部署:
{ "mcpServers": { "mistral-ocr": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "MISTRAL_API_KEY", "-e", "OCR_DIR", "-v", "C:/path/to/your/files:/data/ocr", "mcp-mistral-ocr:latest" ], "env": { "MISTRAL_API_KEY": "<YOUR_MISTRAL_API_KEY>", "OCR_DIR": "C:/path/to/your/files" } } } }
配置参数说明:
- '"mistral-ocr"': 服务器名称,可以自定义。
- '"command": "docker"': 启动服务器的命令,这里使用 Docker。
- '"args"': Docker 运行命令的参数列表。
- '"run"': Docker 运行命令。
- '"-i"': 保持 STDIN 打开。
- '"--rm"': 容器退出后自动删除。
- '"-e", "MISTRAL_API_KEY"': 设置环境变量 'MISTRAL_API_KEY',用于传递 Mistral AI API 密钥。
- '"-e", "OCR_DIR"': 设置环境变量 'OCR_DIR',指定 OCR 文件目录。
- '"-v", "C:/path/to/your/files:/data/ocr"': 挂载本地目录 'C:/path/to/your/files' 到容器内的 '/data/ocr' 目录,用于本地文件处理。请替换 'C:/path/to/your/files' 为您实际的本地文件路径。
- '"mcp-mistral-ocr:latest"': Docker 镜像名称和标签。
- '"env"': 环境变量配置,在客户端配置中设置环境变量,'MISTRAL_API_KEY' 需要替换为您的 Mistral AI API 密钥,'OCR_DIR' 需要与 Docker 运行参数中的 '-v' 选项保持一致。
环境变量说明 (服务器端):
- 'MISTRAL_API_KEY': 您的 Mistral AI API 密钥,必填。
- 'OCR_DIR': OCR 文件目录,用于本地文件处理,必填。容器内部固定映射到 '/data/ocr'。
基本使用方法
该 MCP 服务器提供以下两个工具 (Tools):
1. 'process_local_file'
- 功能: 处理本地 OCR_DIR 目录下的文件。
- 参数:
- 'filename' (string, 必填): 要处理的文件名。
- 示例 (JSON-RPC 请求):
{ "jsonrpc": "2.0", "method": "call_tool", "params": { "tool_name": "process_local_file", "arguments": { "filename": "document.pdf" } }, "id": 1 }
2. 'process_url_file'
- 功能: 处理 URL 指向的文件。
- 参数:
- 'url' (string, 必填): 文件的 URL 地址。
- 'file_type' (string, 必填): 文件类型,必须是 '"image"' 或 '"pdf"'。
- 示例 (JSON-RPC 请求):
{ "jsonrpc": "2.0", "method": "call_tool", "params": { "tool_name": "process_url_file", "arguments": { "url": "https://example.com/image.png", "file_type": "image" } }, "id": 2 }
使用步骤总结:
- 部署 MCP 服务器: 按照安装步骤选择 Docker 或本地开发方式部署服务器,并配置 'MISTRAL_API_KEY' 和 'OCR_DIR' 环境变量。
- 配置 MCP 客户端: 在 MCP 客户端(如 Claude Desktop)中,添加 'mistral-ocr' 服务器配置,确保 'command' 和 'args' 配置正确,并填入您的 Mistral AI API 密钥和本地文件路径。
- 调用 OCR 工具: 在 LLM 应用中,通过 MCP 客户端向 'mistral-ocr' 服务器发送 'call_tool' 请求,调用 'process_local_file' 或 'process_url_file' 工具,并传入相应参数。
- 获取 OCR 结果: 服务器处理完成后,会将 OCR 结果以 JSON 格式保存在 'OCR_DIR/output' 目录下,并以 JSON-RPC 响应的形式返回文本内容。
请确保您的 Mistral AI API 密钥有效,并根据实际需求配置本地文件路径。
信息
分类
AI与计算