Supports downloading and using models from Hugging Face Hub for various computer vision tasks like object detection.
Uses Imgur for image hosting and sharing in the demonstration examples, displaying the results of image processing operations.
Utilizes NumPy for image manipulation operations, particularly for the cropping functionality through OpenCV's NumPy slicing approach.
🪄 ImageSorcery MCP
ComputerVision-basierte 🪄 Zauberei der Bilderkennungs- und Bearbeitungstools für KI-Assistenten
❌ Ohne ImageSorcery MCP
Bei der Arbeit mit Bildern sind KI-Assistenten eingeschränkt:
- ❌ Bilder können nicht direkt geändert oder analysiert werden
- ❌ Keine Möglichkeit zum Zuschneiden, Ändern der Größe oder Verarbeiten von Bildern
- ❌ Einige LLMs können keine Objekte erkennen oder Text aus Bildern extrahieren
- ❌ Beschränkt auf verbale Beschreibungen ohne visuelle Manipulation
✅ Mit ImageSorcery MCP
🪄 ImageSorcery
stattet KI-Assistenten mit leistungsstarken Bildverarbeitungsfunktionen aus:
- ✅ Bilder präzise zuschneiden, skalieren und drehen
- ✅ Zeichnen Sie Text und Formen auf Bilder
- ✅ Erkennen Sie Objekte mit modernsten Modellen
- ✅ Extrahieren Sie Text aus Bildern mit OCR
- ✅ Erhalten Sie detaillierte Bildmetadaten
- ✅ Nutzen Sie eine breite Palette vortrainierter Modelle für Objekterkennung, OCR und mehr
Bitten Sie Ihre KI einfach um Hilfe bei Bildaufgaben:
"Fotos mit Haustieren aus dem Ordner
photos
" in den Ordnerpets
" kopieren"
„Suchen Sie eine Katze im Foto.jpg und schneiden Sie das Bild in der Höhe und Breite auf die Hälfte zu, damit die Katze zentriert wird.“ 😉 Tipp: Verwenden Sie den vollständigen Pfad zu Ihren Dateien".
„Nummerieren Sie die Formularfelder in diesem
form.jpg
mit dem Modellfoduucom/web-form-ui-field-detection
und füllen Sie dieform.md
mit einer Liste der beschriebenen Felder.“ 😉 Tipp: Geben Sie das Modell und die Konfidenz an.
😉 Tipp: Fügen Sie „Use Imagesorcery“ hinzu, um sicherzustellen, dass das richtige Tool verwendet wird.
Ihr Tool kombiniert mehrere der unten aufgeführten Tools, um Ihr Ziel zu erreichen.
🛠️ Verfügbare Tools
Werkzeug | Beschreibung | Beispiel-Eingabeaufforderung |
---|---|---|
crop | Beschneidet ein Bild mit dem NumPy-Slicing-Ansatz von OpenCV | „Beschneide mein Bild ‚input.png‘ von den Koordinaten (10,10) bis (200,200) und speichere es als ‚cropped.png‘.“ |
resize | Ändert die Größe eines Bildes mit OpenCV | „Ändern Sie die Größe meines Bilds ‚photo.jpg‘ auf 800 x 600 Pixel und speichern Sie es als ‚resized_photo.jpg‘.“ |
rotate | Dreht ein Bild mit der Funktion imutils.rotate_bound | „Drehe mein Bild ‚photo.jpg‘ um 45 Grad und speichere es als ‚rotated_photo.jpg‘“ |
draw_texts | Zeichnet mit OpenCV Text auf ein Bild | „Fügen Sie den Text ‚Hello World‘ an Position (50,50) und ‚Copyright 2023‘ in der unteren rechten Ecke meines Bildes ‚photo.jpg‘ hinzu.“ |
draw_rectangles | Zeichnet mit OpenCV Rechtecke auf ein Bild | „Zeichnen Sie auf meinem Bild ‚photo.jpg‘ ein rotes Rechteck von (50,50) bis (150,100) und ein ausgefülltes blaues Rechteck von (200,150) bis (300,250)“ |
get_metainfo | Ruft Metadateninformationen zu einer Bilddatei ab | „Metadateninformationen zu meinem Bild ‚photo.jpg‘ abrufen“ |
detect | Erkennt Objekte in einem Bild mithilfe von Modellen von Ultralytics | „Erkenne Objekte in meinem Bild ‚photo.jpg‘ mit einer Konfidenzschwelle von 0,4“ |
find | Findet Objekte in einem Bild basierend auf einer Textbeschreibung | „Finde alle Hunde in meinem Bild ‚photo.jpg‘ mit einer Konfidenzschwelle von 0,4“ |
get_models | Listet alle verfügbaren Modelle im Modellverzeichnis auf | "Alle verfügbaren Modelle im Modellverzeichnis auflisten" |
ocr | Führt optische Zeichenerkennung (OCR) auf einem Bild mit EasyOCR durch | „Extrahieren Sie Text aus meinem Bild ‚document.jpg‘ mit OCR in englischer Sprache.“ |
😉 Hinweis: Detaillierte Informationen und Verwendungsanweisungen für jedes Tool finden Sie in der /src/imagesorcery_mcp/tools/README.md
des Tools.
🚀 Erste Schritte
Anforderungen
Python 3.10
oder höherClaude.app
,Cline
oder ein anderer MCP-Client
Installation
- Erstellen und aktivieren Sie eine virtuelle Umgebung (dringend empfohlen): Für eine zuverlässige Installation aller Komponenten, insbesondere des
clip
Pakets (installiert über das Post-Install-Skript), wird dringend empfohlen, das in Python integriertevenv
Modul anstelle vonuv venv
zu verwenden . - Installieren Sie das Paket in der aktivierten virtuellen Umgebung: Sie können
pip
oderuv pip
verwenden. - Führen Sie das Post-Installationsskript aus: Dieser Schritt ist entscheidend. Es lädt die erforderlichen Modelle herunter und versucht, das
clip
Python-Paket von GitHub in der aktiven virtuellen Umgebung zu installieren.
- Erstellt ein
models
(normalerweise im Site-Packages-Verzeichnis Ihrer virtuellen Umgebung oder an einem benutzerspezifischen Speicherort bei globaler Installation), um vortrainierte Modelle zu speichern. - Generiert dort eine erste Datei
models/model_descriptions.json
. - Lädt die vom
detect
benötigten Standard-YOLO-Modelle (yoloe-11l-seg-pf.pt
,yoloe-11s-seg-pf.pt
,yoloe-11l-seg.pt
,yoloe-11s-seg.pt
) in diesesmodels
herunter. - Versucht, das Python-Paket „
clip
“ aus dem GitHub-Repository von Ultralytics direkt in die aktive Python-Umgebung zu installieren . Dies ist für die Texteingabefunktion imfind
erforderlich. - Lädt die vom
find
benötigte CLIP-Modelldatei in dasmodels
herunter.
Sie können diesen Vorgang jederzeit ausführen, um die Standardmodelle wiederherzustellen und clip
Installation zu versuchen.
- Verwenden von
uv venv
zum Erstellen virtueller Umgebungen: Tests haben gezeigt, dass mituv venv
erstellte virtuelle Umgebungenpip
möglicherweise nicht so enthalten, dass das Skriptimagesorcery-mcp --post-install
dasclip
Paket von GitHub automatisch installieren kann (während derclip
-Installation kann die Fehlermeldung „Kein Modul mit dem Namen pip“ auftreten). Wenn Sieuv venv
verwenden:- Erstellen und aktivieren Sie Ihr
uv venv
. - Installieren Sie
imagesorcery-mcp
:uv pip install imagesorcery-mcp
. - Installieren Sie das
clip
-Paket manuell in Ihrem aktivenuv venv
: - Führen Sie
imagesorcery-mcp --post-install
aus. Dadurch werden Modelle heruntergeladen, die Installation des Python-Pakets für denclip
schlägt jedoch möglicherweise fehl. Für eine reibungslosere automatisierteclip
-Installation über das Post-Install-Skript empfiehlt sich die Verwendungpython -m venv
(wie in Schritt 1 oben beschrieben) zum Erstellen der virtuellen Umgebung.
- Erstellen und aktivieren Sie Ihr
- Verwenden von
uvx imagesorcery-mcp --post-install
: Wenn Sie das Post-Installationsskript direkt mituvx
ausführen (z. B.uvx imagesorcery-mcp --post-install
), schlägt die Installation des Python-Paketsclip
wahrscheinlich fehl. Dies liegt daran, dass die vonuvx
erstellte temporäre Umgebung normalerweise keinpip
in einer vom Skript nutzbaren Weise zur Verfügung stellt. Modelle werden heruntergeladen, aber dasclip
Paket wird durch diesen Befehl nicht installiert. Wenn Sieuvx
zum Ausführen des Hauptservers vonimagesorcery-mcp
verwenden möchten undclip
-Funktionalität benötigen, müssen Sie sicherstellen, dass dasclip
Paket in einer zugänglichen Python-Umgebung installiert ist, dieuvx
finden kann, oder erwägen Sie die Installationimagesorcery-mcp
in einer persistenten Umgebung, die mitpython -m venv
erstellt wurde.
⚙️ Konfiguration MCP-Client
Fügen Sie Ihrem MCP-Client diese Einstellungen hinzu. Wenn imagesorcery-mcp
nach der Installation im Pfad Ihres Systems enthalten ist, können Sie imagesorcery-mcp
direkt als Befehl verwenden. Andernfalls müssen Sie den vollständigen Pfad zur ausführbaren Datei angeben.
📦 Zusätzliche Modelle
Für einige Tools müssen bestimmte Modelle im models
verfügbar sein:
Beim Herunterladen von Modellen aktualisiert das Skript automatisch die Datei models/model_descriptions.json
:
- Für Ultralytics-Modelle: Beschreibungen sind in
src/imagesorcery_mcp/scripts/create_model_descriptions.py
vordefiniert und enthalten detaillierte Informationen zu Zweck, Größe und Eigenschaften jedes Modells. - Für Hugging Face-Modelle: Beschreibungen werden automatisch aus der Modellkarte im Hugging Face Hub extrahiert. Das Skript versucht, den Modellnamen aus dem Modellindex oder der ersten Zeile der Beschreibung zu verwenden.
Nach dem Herunterladen der Modelle wird empfohlen, die Beschreibungen in models/model_descriptions.json
zu überprüfen und sie bei Bedarf anzupassen, um genauere oder detailliertere Informationen zu den Funktionen und Anwendungsfällen der Modelle bereitzustellen.
🤝 Beitragen
Verzeichnisstruktur
Dieses Repository ist wie folgt organisiert:
Entwicklungs-Setup
- Klonen Sie das Repository:
- (Empfohlen) Erstellen und aktivieren Sie eine virtuelle Umgebung:
- Installieren Sie das Paket im bearbeitbaren Modus zusammen mit den Entwicklungsabhängigkeiten:
Dadurch werden imagesorcery-mcp
und alle Abhängigkeiten von [project.dependencies]
und [project.optional-dependencies].dev
(einschließlich build
und twine
) installiert.
Regeln
Diese Regeln gelten für alle Mitwirkenden: Menschen und KI.
- Lesen Sie alle
README.md
-Dateien im Projekt. Machen Sie sich mit der Projektstruktur und dem Zweck vertraut. Machen Sie sich mit den Richtlinien für Beiträge vertraut. Überlegen Sie, wie sich dies auf Ihre Aufgabe bezieht und wie Sie entsprechende Änderungen vornehmen können. - Lesen Sie
pyproject.toml
. Beachten Sie die Abschnitte:[tool.ruff]
,[tool.ruff.lint]
,[project.optional-dependencies]
und[project]dependencies
. Halten Sie sich strikt an den inpyproject.toml
definierten Codestil. Halten Sie sich an den inpyproject.toml
definierten Stack der Abhängigkeiten und fügen Sie ohne triftigen Grund keine neuen Abhängigkeiten hinzu. - Schreiben Sie Ihren Code in neue und bestehende Dateien. Falls neue Abhängigkeiten benötigt werden, aktualisieren Sie
pyproject.toml
und installieren Sie diese überpip install -e .
oderpip install -e ".[dev]"
. Installieren Sie sie nicht direkt überpip install
. Beispiele finden Sie in vorhandenen Quellcodes (z. B.src/imagesorcery_mcp/server.py
,src/imagesorcery_mcp/tools/crop.py
). Halten Sie sich an den Codestil, die Namenskonventionen, die Ein- und Ausgabedatenformate, die Codecode-Struktur, die Architektur usw. des bestehenden Codes. - Aktualisieren Sie die zugehörigen
README.md
Dateien mit Ihren Änderungen. Behalten Sie das Format und die Struktur der vorhandenenREADME.md
Dateien bei. - Schreiben Sie Tests für Ihren Code. Sehen Sie sich vorhandene Tests als Beispiele an (z. B.
tests/test_server.py
,tests/tools/test_crop.py
). Halten Sie sich an den Codestil, die Namenskonventionen, die Ein- und Ausgabedatenformate, die Codecode-Struktur, die Architektur usw. der vorhandenen Tests. - Führen Sie Tests und Linter durch, um sicherzustellen, dass alles funktioniert:
Bei Fehlern korrigieren Sie den Code und die Tests. Es ist unbedingt erforderlich , dass der gesamte neue Code den Linter-Regeln entspricht und alle Tests besteht.
Codierungshinweise
- Verwenden Sie gegebenenfalls Typhinweise
- Verwenden Sie pydantic zur Datenvalidierung und -serialisierung
📝 Fragen?
Wenn Sie Fragen, Probleme oder Vorschläge zu diesem Projekt haben, können Sie sich gerne an folgende Adresse wenden:
Sie können im Repository auch ein Problem für Fehlerberichte oder Funktionsanfragen öffnen.
📜 Lizenz
Dieses Projekt steht unter der MIT-Lizenz. Das bedeutet, dass Sie die Software unter den Bedingungen der MIT-Lizenz frei verwenden, ändern und verbreiten dürfen.
Related MCP Servers
- Rust
- GoMIT License
- TypeScript
- -securityAlicense-qualitymcp-victoriametricsLast updated -25GoApache 2.0