EasyOCR MCP Server
Servidor MCP EasyOCR
Un servidor del Protocolo de Contexto de Modelos (MCP) que proporciona capacidades de OCR utilizando la biblioteca EasyOCR.
Acerca de EasyOCR:
EasyOCR es una biblioteca de Reconocimiento Óptico de Caracteres (OCR) de código abierto desarrollada por JaidedAI. Admite más de 80 idiomas, ofrece aceleración por GPU y es conocida por su facilidad de uso y alta precisión. EasyOCR puede extraer texto de imágenes, documentos escaneados y fotografías, lo que la hace adecuada para una amplia gama de tareas de OCR. Para obtener más detalles, visite el repositorio de GitHub de EasyOCR.
Características
3 herramientas de OCR: Procese imágenes desde base64, archivos o URLs
Soporte multilingüe: Soporte para más de 80 idiomas con selección dinámica
Salida flexible: Elija entre solo texto o resultados detallados con coordenadas y confianza
Rendimiento optimizado: Caché del lector para un mejor rendimiento
Controles de memoria: Opciones de descarga automática y descarga por solicitud
Salida nativa de EasyOCR: Devuelve el formato original de EasyOCR
Related MCP server: RapidOCR MCP Server
Instalación
Configuración de GPU
Elija una ruta de GPU antes de crear el entorno del proyecto.
GPU NVIDIA
Utilice el selector de instalación oficial de PyTorch para su sistema operativo, versión de Python y versión de CUDA:
Ejemplo típico de pip en Windows desde el selector de PyTorch:
python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124Después de la instalación, verifique:
python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"GPU AMD
El soporte de GPU AMD depende de la plataforma:
Linux y WSL: utilice la documentación oficial de instalación de PyTorch para ROCm / Radeon
Windows nativo: existe soporte para ROCm, pero AMD señala que la pila completa de ROCm aún no es compatible con Windows
Referencias oficiales:
Guía de instalación local de PyTorch: https://docs.pytorch.org/get-started/locally/
Matriz de compatibilidad de AMD Windows: https://rocm.docs.amd.com/projects/radeon-ryzen/en/latest/docs/compatibility/compatibilityrad/windows/windows_compatibility.html
Guía de instalación de AMD PyTorch: https://rocm.docs.amd.com/projects/radeon-ryzen/en/latest/docs/install/installrad/wsl/install-pytorch.html
Para este repositorio en Windows, la ruta probada es reutilizar una instalación de PyTorch habilitada para ROCm existente en:
C:\Users\antonio\AppData\Local\Programs\Python\Python312\python.exeEse intérprete se verificó con:
python -c "import torch; print(torch.__version__); print(torch.cuda.is_available()); print(getattr(torch.version, 'hip', None))"Forma esperada del resultado en AMD ROCm:
torch.cuda.is_available()devuelveTruetorch.version.hipno esNone
Entorno del proyecto
# 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.pyEsto mantiene el proyecto en uv mientras apunta a la instalación existente de Python312. Sin --system-site-packages, un venv normal no verá los paquetes ya instalados en el intérprete base. Use uv run --no-sync después de la configuración inicial para que uv no reinstale los paquetes de PyTorch solo para CPU desde el archivo de bloqueo.
Uso
Herramientas disponibles
ocr_image_base64- Procesar imágenes codificadas en base64ocr_image_file- Procesar archivos de imagen desde el discoocr_image_url- Procesar imágenes desde URLsunload_ocr_models- Descargar modelos de OCR en caché para liberar memoria
Parámetros
detail: Nivel de detalle de salida (predeterminado:1)0: Solo texto -['text1', 'text2', ...]1: Detalles completos -[([[x1,y1], [x2,y2], [x3,y3], [x4,y4]], 'text', confidence), ...]
paragraph: Habilitar detección de párrafos (predeterminado:false)width_ths: Umbral de ancho de texto para fusión (predeterminado:0.7)height_ths: Umbral de altura de texto para fusión (predeterminado:0.7)unload_jobdone: Descargar modelos inmediatamente después de esta llamada de OCR (predeterminado: desdeUNLOAD_JOBDONE)
Nota: La selección de idioma se configura a través de la variable de entorno EASYOCR_LANGUAGES en su configuración de MCP (consulte la sección de Configuración a continuación).
Ejemplo de salida
Nivel de detalle 1 (Detalles completos):
[
([[189, 75], [469, 75], [469, 165], [189, 165]], '愚园路', 0.3754989504814148),
([[86, 80], [134, 80], [134, 128], [86, 128]], '西', 0.40452659130096436)
]Nivel de detalle 0 (Solo texto):
['愚园路', '西', '东', '315', '309', 'Yuyuan Rd.', 'W', 'E']Ejecución del servidor
# Run the MCP server through uv
uv run --no-sync easyocr-mcp.pyEjemplo de configuración de MCP
Si está ejecutando esto como un servidor para una aplicación MCP principal, puede configurarlo en su config.json de MCP principal.
Ejemplo de 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"
}
}
}
}Ejemplo de 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"
}
}
}
}Variables de entorno
EASYOCR_LANGUAGES: Lista de códigos de idioma separados por comas (predeterminado:en)Ejemplos:
en,en,ch_sim,ja,ko,en
EASYOCR_UNLOAD_TIMEOUT: Segundos de inactividad antes de la descarga automática (predeterminado:300,0deshabilita)UNLOAD_JOBDONE: Si estrue, descarga los modelos después de cada llamada de OCR de forma predeterminada (predeterminado:false)
Idiomas admitidos
EasyOCR admite más de 80 idiomas, incluidos:
en- Inglésch_sim- Chino simplificadoch_tra- Chino tradicionalja- Japonésko- Coreanofr- Francésde- Alemánes- EspañolY muchos más...
Configuración de GPU/CPU
El uso de la GPU está determinado por la instalación de PyTorch visible dentro del entorno que inicia easyocr-mcp.py. Si crea el venv de uv con --system-site-packages desde Python312, el servidor puede reutilizar el PyTorch habilitado para AMD existente instalado en ese intérprete.
Comandos de verificación rápida:
uv run --no-sync python test-gpu.py
uv run --no-sync python test.py
uv run --no-sync python test_mcp_tools.pyEn la configuración de AMD verificada para este repositorio, test-gpu.py informa:
una compilación de
torchhabilitada para ROCmcuda_available=Trueuna
hip_versionno vacía
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