Mistral OCR MCP服务器

使用说明

项目简介

本项目 '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
    }

使用步骤总结:

  1. 部署 MCP 服务器: 按照安装步骤选择 Docker 或本地开发方式部署服务器,并配置 'MISTRAL_API_KEY' 和 'OCR_DIR' 环境变量。
  2. 配置 MCP 客户端: 在 MCP 客户端(如 Claude Desktop)中,添加 'mistral-ocr' 服务器配置,确保 'command' 和 'args' 配置正确,并填入您的 Mistral AI API 密钥和本地文件路径。
  3. 调用 OCR 工具: 在 LLM 应用中,通过 MCP 客户端向 'mistral-ocr' 服务器发送 'call_tool' 请求,调用 'process_local_file' 或 'process_url_file' 工具,并传入相应参数。
  4. 获取 OCR 结果: 服务器处理完成后,会将 OCR 结果以 JSON 格式保存在 'OCR_DIR/output' 目录下,并以 JSON-RPC 响应的形式返回文本内容。

请确保您的 Mistral AI API 密钥有效,并根据实际需求配置本地文件路径。

服务器信息