使用说明

项目简介

本项目 '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 密钥有效,并根据实际需求配置本地文件路径。

信息

分类

AI与计算