EasyOCR MCP Server
EasyOCR MCP Server
Сервер протокола Model Context Protocol (MCP), предоставляющий возможности OCR с использованием библиотеки EasyOCR.
О библиотеке EasyOCR: EasyOCR — это библиотека оптического распознавания символов (OCR) с открытым исходным кодом, разработанная JaidedAI. Она поддерживает более 80 языков, предлагает ускорение на GPU и известна своей простотой использования и высокой точностью. EasyOCR может извлекать текст из изображений, отсканированных документов и фотографий, что делает ее подходящей для широкого спектра задач OCR. Для получения дополнительной информации посетите репозиторий EasyOCR на GitHub.
Функции
3 инструмента OCR: обработка изображений из base64, файлов или URL-адресов
Поддержка нескольких языков: поддержка более 80 языков с динамическим выбором
Гибкий вывод: выбор между выводом только текста или подробными результатами с координатами и уровнем достоверности
Оптимизация производительности: кэширование ридера для повышения производительности
Управление памятью: опции автоматической выгрузки и выгрузки после каждого запроса
Нативный вывод EasyOCR: возвращает исходный формат EasyOCR
Related MCP server: RapidOCR MCP Server
Установка
Настройка GPU
Выберите один из путей настройки GPU перед созданием среды проекта.
NVIDIA GPU
Используйте официальный селектор установки PyTorch для вашей ОС, версии Python и версии CUDA:
Типичный пример команды pip для Windows из селектора PyTorch:
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 native: поддержка ROCm существует, но AMD отмечает, что полный стек ROCm пока не поддерживается в Windows
Официальные ссылки:
Руководство по локальной установке PyTorch: https://docs.pytorch.org/get-started/locally/
Матрица совместимости AMD Windows: https://rocm.docs.amd.com/projects/radeon-ryzen/en/latest/docs/compatibility/compatibilityrad/windows/windows_compatibility.html
Руководство по установке AMD PyTorch: https://rocm.docs.amd.com/projects/radeon-ryzen/en/latest/docs/install/installrad/wsl/install-pytorch.html
Для этого репозитория в Windows протестированным путем является повторное использование существующей установки PyTorch с поддержкой ROCm в:
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()возвращаетTruetorch.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 из lock-файла.
Использование
Доступные инструменты
ocr_image_base64- Обработка изображений, закодированных в base64ocr_image_file- Обработка файлов изображений с дискаocr_image_url- Обработка изображений по URL-адресам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)
Примечание: Выбор языка настраивается через переменную окружения EASYOCR_LANGUAGES в вашей конфигурации MCP (см. раздел «Конфигурация» ниже).
Пример вывода
Уровень детализации 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, вы можете настроить его в основном файле config.json вашего MCP.
Пример для 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: Время бездействия в секундах до автоматической выгрузки (по умолчанию:300,0отключает)UNLOAD_JOBDONE: Еслиtrue, выгружать модели после каждого вызова OCR по умолчанию (по умолчанию:false)
Поддерживаемые языки
EasyOCR поддерживает более 80 языков, включая:
en- Английскийch_sim- Китайский (упрощенный)ch_tra- Китайский (традиционный)ja- Японскийko- Корейскийfr- Французскийde- Немецкийes- ИспанскийИ многие другие...
Конфигурация GPU/CPU
Использование GPU определяется установкой PyTorch, видимой внутри среды, которая запускает easyocr-mcp.py. Если вы создаете uv venv с параметром --system-site-packages из Python312, сервер может повторно использовать существующий PyTorch с поддержкой AMD, установленный в этом интерпретаторе.
Команды для быстрой проверки:
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 сообщает:
сборку
torchс поддержкой ROCmcuda_available=Trueнепустую
hip_version
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for Qwen Image 3 AI image generation
OCR.space MCP — wraps the OCR.space API (ocr.space) for image/PDF → text OCR.
MCP server for NanoBanana AI image generation and editing
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Related MCP Servers
- FlicenseAqualityDmaintenanceA Tesseract.js-based server that enables image-to-text recognition within MCP-compatible environments like Cursor. It supports multiple languages and common image formats, allowing users to extract text from local files using natural language commands.2-
- AlicenseAqualityDmaintenanceHigh-performance OCR MCP server supporting multiple input modes (path, base64, URL, upload), batch processing, and output formats like plain, JSON, and Markdown.42MIT
- AlicenseCqualityCmaintenanceA local OCR MCP server that extracts text from images using PP-OCRv6 for fast text extraction and VL-1.6 for document structure analysis, with automatic model routing and GPU detection.32MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server wrapping PaddleOCR to provide OCR text recognition for Chinese, English, Japanese, and Korean languages, supporting images from local paths, URLs, and base64 data.MIT