EasyOCR MCP Server
EasyOCR MCP-Server
Ein Model Context Protocol (MCP)-Server, der OCR-Funktionen mithilfe der EasyOCR-Bibliothek bereitstellt.
Über EasyOCR:
EasyOCR ist eine Open-Source-Bibliothek für optische Zeichenerkennung (OCR), die von JaidedAI entwickelt wurde. Sie unterstützt über 80 Sprachen, bietet GPU-Beschleunigung und ist für ihre einfache Bedienung und hohe Genauigkeit bekannt. EasyOCR kann Text aus Bildern, gescannten Dokumenten und Fotos extrahieren und eignet sich daher für eine Vielzahl von OCR-Aufgaben. Weitere Informationen finden Sie im EasyOCR GitHub-Repository.
Funktionen
3 OCR-Tools: Verarbeitung von Bildern aus Base64, Dateien oder URLs
Mehrsprachige Unterstützung: Unterstützung für über 80 Sprachen mit dynamischer Auswahl
Flexible Ausgabe: Wahl zwischen reinem Text oder detaillierten Ergebnissen mit Koordinaten und Konfidenzwerten
Leistungsoptimiert: Reader-Caching für bessere Performance
Speichersteuerung: Optionen für automatisches Entladen und Entladen nach jeder Anfrage
Native EasyOCR-Ausgabe: Gibt das Originalformat von EasyOCR zurück
Related MCP server: RapidOCR MCP Server
Installation
GPU-Einrichtung
Wählen Sie einen GPU-Pfad, bevor Sie die Projektumgebung erstellen.
NVIDIA GPU
Verwenden Sie den offiziellen PyTorch-Installations-Selektor für Ihr Betriebssystem, Ihre Python-Version und Ihre CUDA-Version:
Typisches Windows-pip-Beispiel aus dem PyTorch-Selektor:
python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124Überprüfen Sie die Installation nach Abschluss:
python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"AMD GPU
Die Unterstützung für AMD-GPUs hängt von der Plattform ab:
Linux und WSL: Verwenden Sie die offiziellen ROCm / Radeon PyTorch-Installationsanleitungen
Windows nativ: ROCm-Unterstützung ist vorhanden, aber AMD weist darauf hin, dass der vollständige ROCm-Stack unter Windows noch nicht unterstützt wird
Offizielle Referenzen:
PyTorch lokale Installationsanleitung: https://docs.pytorch.org/get-started/locally/
AMD Windows-Kompatibilitätsmatrix: https://rocm.docs.amd.com/projects/radeon-ryzen/en/latest/docs/compatibility/compatibilityrad/windows/windows_compatibility.html
AMD PyTorch-Installationsanleitung: https://rocm.docs.amd.com/projects/radeon-ryzen/en/latest/docs/install/installrad/wsl/install-pytorch.html
Für dieses Repository unter Windows ist der getestete Pfad die Wiederverwendung einer bestehenden ROCm-fähigen PyTorch-Installation in:
C:\Users\antonio\AppData\Local\Programs\Python\Python312\python.exeDieser Interpreter wurde überprüft mit:
python -c "import torch; print(torch.__version__); print(torch.cuda.is_available()); print(getattr(torch.version, 'hip', None))"Erwartete Form des Ergebnisses auf AMD ROCm:
torch.cuda.is_available()gibtTruezurücktorch.version.hipist nichtNone
Projektumgebung
# 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.pyDies hält das Projekt auf uv, während auf die bestehende Python312-Installation gezielt wird. Ohne --system-site-packages sieht ein normales venv keine Pakete, die bereits im Basis-Interpreter installiert sind. Verwenden Sie uv run --no-sync nach der Ersteinrichtung, damit uv die CPU-only PyTorch-Wheels nicht aus der Lockfile neu installiert.
Verwendung
Verfügbare Tools
ocr_image_base64- Verarbeitet Base64-kodierte Bilderocr_image_file- Verarbeitet Bilddateien von der Festplatteocr_image_url- Verarbeitet Bilder von URLsunload_ocr_models- Entlädt zwischengespeicherte OCR-Modelle, um Speicher freizugeben
Parameter
detail: Detaillierungsgrad der Ausgabe (Standard:1)0: Nur Text -['text1', 'text2', ...]1: Volle Details -[([[x1,y1], [x2,y2], [x3,y3], [x4,y4]], 'text', confidence), ...]
paragraph: Aktiviert die Absatzerkennung (Standard:false)width_ths: Textbreitenschwellenwert für die Zusammenführung (Standard:0.7)height_ths: Texthöhenschwellenwert für die Zusammenführung (Standard:0.7)unload_jobdone: Entlädt Modelle sofort nach diesem OCR-Aufruf (Standard: vonUNLOAD_JOBDONE)
Hinweis: Die Sprachauswahl wird über die Umgebungsvariable EASYOCR_LANGUAGES in Ihrer MCP-Konfiguration konfiguriert (siehe Abschnitt Konfiguration unten).
Beispielausgabe
Detaillierungsgrad 1 (Volle Details):
[
([[189, 75], [469, 75], [469, 165], [189, 165]], '愚园路', 0.3754989504814148),
([[86, 80], [134, 80], [134, 128], [86, 128]], '西', 0.40452659130096436)
]Detaillierungsgrad 0 (Nur Text):
['愚园路', '西', '东', '315', '309', 'Yuyuan Rd.', 'W', 'E']Ausführen des Servers
# Run the MCP server through uv
uv run --no-sync easyocr-mcp.pyMCP-Konfigurationsbeispiel
Wenn Sie dies als Server für eine übergeordnete MCP-Anwendung ausführen, können Sie ihn in Ihrer Haupt-MCP-config.json konfigurieren.
Windows-Beispiel:
{
"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-Beispiel:
{
"mcpServers": {
"easyocr-mcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/your/project/easyocr-mcp",
"run",
"easyocr-mcp.py"
],
"env": {
"EASYOCR_LANGUAGES": "en,ch_tra,ja"
}
}
}
}Umgebungsvariablen
EASYOCR_LANGUAGES: Kommagetrennte Liste von Sprachcodes (Standard:en)Beispiele:
en,en,ch_sim,ja,ko,en
EASYOCR_UNLOAD_TIMEOUT: Sekunden der Inaktivität vor dem automatischen Entladen (Standard:300,0deaktiviert)UNLOAD_JOBDONE: Wenntrue, werden Modelle standardmäßig nach jedem OCR-Aufruf entladen (Standard:false)
Unterstützte Sprachen
EasyOCR unterstützt über 80 Sprachen, darunter:
en- Englischch_sim- Chinesisch (vereinfacht)ch_tra- Chinesisch (traditionell)ja- Japanischko- Koreanischfr- Französischde- Deutsches- SpanischUnd viele mehr...
GPU/CPU-Konfiguration
Die GPU-Nutzung wird durch die PyTorch-Installation bestimmt, die innerhalb der Umgebung sichtbar ist, die easyocr-mcp.py startet. Wenn Sie das uv venv mit --system-site-packages von Python312 aus erstellen, kann der Server die bestehende AMD-fähige PyTorch-Installation in diesem Interpreter wiederverwenden.
Schnelle Überprüfungsbefehle:
uv run --no-sync python test-gpu.py
uv run --no-sync python test.py
uv run --no-sync python test_mcp_tools.pyAuf dem verifizierten AMD-Setup für dieses Repository meldet test-gpu.py:
einen ROCm-fähigen
torch-Buildcuda_available=Trueeine nicht leere
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