Skip to main content
Glama
WindoC
by WindoC

EasyOCR MCP 服务器

一个使用 EasyOCR 库提供 OCR 功能的模型上下文协议 (MCP) 服务器。

关于 EasyOCR:
EasyOCR 是由 JaidedAI 开发的开源光学字符识别 (OCR) 库。它支持超过 80 种语言,提供 GPU 加速,并以易用性和高准确度而闻名。EasyOCR 可以从图像、扫描文档和照片中提取文本,使其适用于广泛的 OCR 任务。有关更多详细信息,请访问 EasyOCR GitHub 仓库

功能

  • 3 个 OCR 工具:处理来自 base64、文件或 URL 的图像

  • 多语言支持:支持 80 多种语言,并可动态选择

  • 灵活的输出:可在仅文本或包含坐标和置信度的详细结果之间进行选择

  • 性能优化:读取器缓存以获得更好的性能

  • 内存控制:自动卸载和按请求卸载选项

  • 原生 EasyOCR 输出:返回 EasyOCR 的原始格式

Related MCP server: RapidOCR MCP Server

安装

GPU 设置

在创建项目环境之前,请选择一条 GPU 路径。

NVIDIA GPU

针对您的操作系统、Python 版本和 CUDA 版本使用官方 PyTorch 安装选择器:

来自 PyTorch 选择器的典型 Windows pip 示例:

python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124

安装后,进行验证:

python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"

AMD GPU

AMD GPU 支持取决于平台:

  • Linux 和 WSL:使用官方 ROCm / Radeon PyTorch 安装文档

  • Windows 原生:存在 ROCm 支持,但 AMD 指出完整的 ROCm 堆栈尚未在 Windows 上得到支持

官方参考:

对于此仓库在 Windows 上的运行,经过测试的路径是重用现有的支持 ROCm 的 PyTorch 安装:

C:\Users\antonio\AppData\Local\Programs\Python\Python312\python.exe

该解释器已通过以下方式验证:

python -c "import torch; print(torch.__version__); print(torch.cuda.is_available()); print(getattr(torch.version, 'hip', None))"

在 AMD ROCm 上预期的结果形态:

  • torch.cuda.is_available() 返回 True

  • torch.version.hip 不为 None

项目环境

# Windows example used in this repo:
# C:\Users\antonio\AppData\Local\Programs\Python\Python312\python.exe
#
# Keep using uv, but create the venv from the existing Python 3.12 interpreter.
# `--system-site-packages` allows the venv to reuse packages already installed
# in that interpreter, such as an existing AMD-enabled PyTorch build.

# Create the project venv from the existing interpreter
uv venv --python C:\Users\antonio\AppData\Local\Programs\Python\Python312\python.exe --system-site-packages

# Sync this project's dependencies into the venv
uv sync

# Remove uv-installed CPU PyTorch packages so the venv falls back to the
# AMD ROCm build that already exists in Python312
uv pip uninstall torch torchvision

# Run tests through uv without re-syncing the environment
uv run --no-sync test.py
uv run --no-sync test-gpu.py

这使得项目保持在 uv 上,同时指向现有的 Python312 安装。如果没有 --system-site-packages,普通的 venv 将无法看到基础解释器中已经安装的包。在初始设置后使用 uv run --no-sync,这样 uv 就不会从锁文件中重新安装仅 CPU 的 PyTorch wheel。

使用方法

可用工具

  1. ocr_image_base64 - 处理 base64 编码的图像

  2. ocr_image_file - 处理磁盘上的图像文件

  3. ocr_image_url - 处理来自 URL 的图像

  4. unload_ocr_models - 卸载缓存的 OCR 模型以释放内存

参数

  • detail:输出详细级别(默认:1

    • 0:仅文本 - ['text1', 'text2', ...]

    • 1:完整详细信息 - [([[x1,y1], [x2,y2], [x3,y3], [x4,y4]], 'text', confidence), ...]

  • paragraph:启用段落检测(默认:false

  • width_ths:用于合并的文本宽度阈值(默认:0.7

  • height_ths:用于合并的文本高度阈值(默认:0.7

  • unload_jobdone:在此 OCR 调用后立即卸载模型(默认:来自 UNLOAD_JOBDONE

注意:语言选择通过 MCP 配置中的 EASYOCR_LANGUAGES 环境变量进行配置(请参阅下方的配置部分)。

示例输出

详细级别 1(完整详细信息):

[
    ([[189, 75], [469, 75], [469, 165], [189, 165]], '愚园路', 0.3754989504814148),
    ([[86, 80], [134, 80], [134, 128], [86, 128]], '西', 0.40452659130096436)
]

详细级别 0(仅文本):

['愚园路', '西', '东', '315', '309', 'Yuyuan Rd.', 'W', 'E']

运行服务器

# Run the MCP server through uv
uv run --no-sync easyocr-mcp.py

MCP 配置示例

如果您将此作为父 MCP 应用程序的服务器运行,则可以在主 MCP config.json 中进行配置。

Windows 示例:

{
  "mcpServers": {
    "easyocr-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "X:\\path\\to\\your\\project\\easyocr-mcp",
        "run",
        "easyocr-mcp.py"
      ],
      "env": {
        "EASYOCR_LANGUAGES": "en,ch_tra,ja"
      }
    }
  }
}

Linux/macOS 示例:

{
  "mcpServers": {
    "easyocr-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/your/project/easyocr-mcp",
        "run",
        "easyocr-mcp.py"
      ],
      "env": {
        "EASYOCR_LANGUAGES": "en,ch_tra,ja"
      }
    }
  }
}

环境变量

  • EASYOCR_LANGUAGES:逗号分隔的语言代码列表(默认:en

    • 示例:en, en,ch_sim, ja,ko,en

  • EASYOCR_UNLOAD_TIMEOUT:自动卸载前的非活动秒数(默认:3000 表示禁用)

  • UNLOAD_JOBDONE:如果为 true,则默认在每次 OCR 调用后卸载模型(默认:false

支持的语言

EasyOCR 支持 80 多种语言,包括:

  • en - 英语

  • ch_sim - 简体中文

  • ch_tra - 繁体中文

  • ja - 日语

  • ko - 韩语

  • fr - 法语

  • de - 德语

  • es - 西班牙语

  • 以及更多...

GPU/CPU 配置

GPU 的使用由启动 easyocr-mcp.py 的环境内可见的 PyTorch 安装决定。如果您使用来自 Python312--system-site-packages 创建 uv venv,服务器可以重用该解释器中现有的支持 AMD 的 PyTorch。

快速验证命令:

uv run --no-sync python test-gpu.py
uv run --no-sync python test.py
uv run --no-sync python test_mcp_tools.py

在此仓库经过验证的 AMD 设置上,test-gpu.py 报告:

  • 一个支持 ROCm 的 torch 构建

  • cuda_available=True

  • 一个非空的 hip_version

Related MCP Connectors

Related MCP Servers