visual-hunt-mcp
visual-hunt-mcp
visual-hunt-mcp ist ein lokaler TypeScript-MCP-Server für macOS, der sich über CDP mit Ihrer bestehenden Chrome-Sitzung verbindet und Codex / Claude dabei hilft, visuell starke Bildkandidaten für Poster, Hintergrundbilder und Inspirationsboards zu finden.
v0.4.0 · 11 Tools · durchgehend geprüft · 15/15 Verhaltenstests bestanden · 108 Bilder in einem realen Stresstest mit 10 Themen heruntergeladen · wird mit Evaluierungssuite und vollständigem Test-Harness geliefert.
Er ist darauf ausgelegt:
das offizielle
@modelcontextprotocol/sdkmitMcpServerundregisterToolzu verwendensich über
chromium.connectOverCDP(...)mit einer lokalen Chrome-Instanz zu verbindenIhr lokales, angemeldetes Browserprofil wiederzuverwenden, wenn Sie sich für eine manuell unterstützte Überprüfung entscheiden
Paywalls, Login-Wände, CAPTCHAs oder Plattform-Kontrollen nicht zu umgehen
Kandidaten-Metadaten zurückzugeben und optional Bilddateien in einen Projektordner herunterzuladen, der im aktuellen Arbeitsverzeichnis des MCP-Servers erstellt wird
Warum CDP
Dieses Projekt verwendet das Chrome DevTools Protocol, anstatt einen neuen Automatisierungsbrowser zu starten, damit der MCP-Server ein lokales Chrome-Profil wiederverwenden kann, das Sie kontrollieren. Das macht Workflows für Instagram und Xiaohongshu praktischer, da die Browsersitzung bereits angemeldet sein kann, während der MCP-Server weiterhin lokal auf Ihrem Mac bleibt.
Warum Instagram / Xiaohongshu manuell unterstützt werden
Instagram und Xiaohongshu erfordern oft eine Anmeldung, können das Layout häufig ändern und Inhalte hinter Plattform-Kontrollen verbergen. Dieser MCP öffnet diese Seiten bewusst in Ihrem verbundenen lokalen Chrome und extrahiert nur sichtbare öffentliche Bildkandidaten, sofern verfügbar. Er versucht nicht, Anmeldungen, Ratenbegrenzungen oder Zugriffsbeschränkungen zu umgehen.
Download-Umfang
Dieses Projekt kann jetzt Bilddateien für Quellen wie Unsplash, Pexels, Pixabay, Hintergrundbild-Websites und sichtbare Bild-URLs herunterladen, die bei manuellem, unterstütztem Social Browsing auftauchen, wenn Ihre verbundene Chrome-Sitzung Zugriff hat. Einige Leitplanken gelten weiterhin:
Von Google gehostete Vorschauen und Google Maps-Bilder bleiben blockiert
Instagram und Xiaohongshu hängen weiterhin von Ihrem verbundenen Chrome-Anmeldestatus und den tatsächlich sichtbaren Bild-URLs ab, die die Seite preisgibt
Sie sind weiterhin dafür verantwortlich, die Lizenzierung vor der Wiederverwendung zu prüfen
save_candidates_jsonbleibt rein metadatenbasiert, währenddownload_candidate_imagesBilddateien sowie ein Download-Manifest schreibt
Funktionen
MCP-Tools (11)
Tool | Zuverlässigkeit | Hinweise |
| ★★★★★ | Flaggschiff. Kuratiertes Set aus 6 Quellen (Unsplash, Pexels, Pixabay, Wikimedia, Wallhaven, Alpha Coders). 100% Themenabdeckung in Stresstests. |
| ★★★★★ | Flaggschiff für Reise-/Designthemen. 100% Themenabdeckung. |
| ★★★ | Manuell unterstützt. Die meisten Bilder sind aus Designgründen korrekt vom Download blockiert – zur visuellen Inspiration verwenden. |
| ★★ | Manuell unterstützt. Pinterest zeigt bei den meisten Suchen ein Login-Modal; melden Sie sich über Chrome an und rufen Sie dann |
| ★★ | Manuell unterstützt. Gleiches Login-Wand-Muster wie bei Pinterest. |
| ★★ | Inkonsistent aufgrund von Googles lazy-geladenem |
| ★★★★ | Generischer Extraktor. Funktioniert auf Wikipedia, Blogs, Markenseiten. |
| ★★★★★ | Erneute Extraktion nach manuellem Scrollen/Login auf einer gehaltenen Seite. |
| ★★★★★ | Bereinigung. Idempotent. |
| ★★★★★ | Nur-Metadaten-Persistenz. |
| ★★★★★ | Download mit Referer + User-Agent aus dem verbundenen Chrome. Von Google gehostete Vorschauen sind aus Designgründen blockiert. |
Standard-Quellenset (v0.4.0 kuratiert)
Die Standard-Quellenliste für search_wallpaper_sites wurde in v0.4.0 von 13 auf die 6 Quellen reduziert, die bei >80% der Themen in realen Stresstests herunterladbare Kandidaten lieferten:
Unsplash — moderne redaktionelle Fotografie
Pexels — moderne redaktionelle Fotografie
Pixabay — moderne redaktionelle Fotografie
Wikimedia Commons — Sehenswürdigkeiten, Architektur, Public Domain
Wallhaven — Top kostenlose 4K/8K-Hintergrundbilder
Alpha Coders / Wallpaper Abyss — Top kostenlose 4K/8K-Hintergrundbilder
Adapter für die entfernten Quellen werden weiterhin mitgeliefert – übergeben Sie diese explizit, wenn Sie sie benötigen: sites: ["openverse.org", "loc.gov", "images.nasa.gov", "rawpixel.com", "publicdomainpictures.net", "wallpaperscraft.com", "hdqwalls.com"].
Kandidaten-Bewertung
Jeder Kandidat erhält einen leichten scoreHint basierend auf:
Bildgröße
Nähe des Seitenverhältnisses zu gängigen Poster-/Hintergrundbild-Verhältnissen
Titel- oder Alt-Text-Schlüsselwörter wie
poster,cinematic,wallpaper,4k,8k,travel,filmundlandscape
Installation
cd /Users/lanston/Desktop/Codex/visual-hunt-mcp
npm installChrome für MCP starten
npm run chrome:debugDieser Helfer bindet das Chrome-Remote-Debugging nur an 127.0.0.1. Er legt den CDP-Port nicht öffentlich offen.
Wenn Sie das Rohskript bevorzugen:
chmod +x scripts/start-chrome-mcp.sh
./scripts/start-chrome-mcp.shValidierungs-Workflow
Führen Sie den deterministischen MCP-Rauchtest aus, nachdem Chrome gestartet wurde:
npm run smokeFür einen umfassenden Verhaltens-Sweep, der alle 11 Tools abdeckt (Schema-Zwang, Abfrageoptimierung, Lebenszyklus der manuellen Seite, Unterdrückung der Login-Wand, Filter für falsch-positive Ergebnisse, Sicherheitswächter):
node scripts/full-test.mjs # 15 cases including live Chrome paths
node scripts/full-test.mjs --skip-live # 10 cases, fast, no browser depsWas npm run smoke validiert:
der lokale MCP-Server startet über stdio aus der aktuellen
dist/-Ausgabetools/listlegt das erwartete Tool-Set offenopen_url_and_extract_imageskann sichtbare Kandidaten aus einer lokalen Fixture-Seite extrahierenextract_manual_page_candidatesundclose_manual_pagewerden für manuell unterstützte Follow-up-Flows offengelegtsave_candidates_jsonschreibt Kandidaten-Metadaten in ein temporäres Ausgabe-Rootdownload_candidate_imageslädt ein erlaubtes lokales Bild herunter und überspringt einen blockierten, von Google gehosteten Kandidaten mit einem klaren Grund
Der Rauchtest verwendet ein temporäres VISUAL_HUNT_OUTPUT_ROOT und bereinigt es bei Erfolg. Um die Artefakte zur Überprüfung zu behalten:
npm run smoke -- --keep-outputFür einen Durchlauf mit höherer Konfidenz, der auch Live-Google-Bilder und Hintergrundbild-Suchabläufe über Ihre verbundene Chrome-Sitzung abdeckt:
npm run smoke:liveVerwenden Sie npm run validate als stabilen Standard-Validierungsbefehl. Er führt jetzt zuerst npm run build und dann den deterministischen Rauchtest aus.
MCP lokal ausführen
npm run devFür den produktionsnahen Einsatz:
npm run build
node dist/index.jsClaude Desktop-Konfiguration
{
"mcpServers": {
"visual-hunt": {
"command": "node",
"args": [
"/Users/lanston/Desktop/Codex/visual-hunt-mcp/dist/index.js"
],
"env": {
"CHROME_CDP_ENDPOINT": "http://127.0.0.1:9222"
}
}
}
}Beispiel-Prompts
Use visual-hunt to search_google_images for "cinematic Oahu Hawaii sunset travel poster 8k", limit 10.Use visual-hunt to search_wallpaper_sites for "dark luxury black gold abstract 8k wallpaper", limit 15.Use visual-hunt to open_xiaohongshu_visual_search for "夏威夷 绝美 海报 壁纸 旅行 摄影", limit 10.Use visual-hunt to download_candidate_images for project "oahu-poster-board" using the candidates from the last search, limit 5.Use visual-hunt to extract_manual_page_candidates for the manualPageId from the Xiaohongshu search after I log in or scroll more.Hinweise
Protokolle werden nur in
stderrgeschrieben, damit MCP JSON-RPC aufstdoutsauber bleibt.Chrome muss bereits mit aktiviertem Remote-Debugging laufen.
Ausgabeordner werden standardmäßig unter dem aktuellen Arbeitsverzeichnis des MCP-Servers erstellt. Beispiel:
/path/to/visual-hunt-mcp/<project>/images.Überschreiben Sie das Ausgabe-Root mit
VISUAL_HUNT_OUTPUT_ROOT, wenn Sie Downloads woanders speichern möchten.save_candidates_jsonschreibt Metadaten nach<output-root>/<project>/candidates.json.download_candidate_imagesschreibt Bilddateien nach<output-root>/<project>/imagesund ein Manifest nach<output-root>/<project>/downloads.json.scripts/smoke-test.mjsist der schnellste Weg, den MCP-Vertrag von Ende zu Ende gegen einen lokalen Serverprozess zu validieren.scripts/smoke-test.mjsvalidiert den lokalen Server durch die aktuelledist/-Ausgabe und verwendet ein temporäres Ausgabe-Root für Artefakte.Der Server speichert keine Anmeldedaten.
Der Server führt keine beliebigen Shell-Befehle aus.
Umgebungsvariablen
Var | Standard | Effekt |
|
| Chrome Remote-Debugging-Endpunkt |
|
| Stammverzeichnis für heruntergeladene Bilder und Manifeste |
|
| Timeout pro Seitennavigation/-extraktion |
|
| TTL für Einträge in der manuellen Seitenregistrierung; |
|
| Hartes Limit für die Größe der manuellen Seitenregistrierung; älteste werden zuerst entfernt |
| nicht gesetzt | Auf |
Manuelle Überprüfungen über den Rauchtest hinaus
Wenn Sie die Live-/manuell unterstützten Teile des Produkts einer Plausibilitätsprüfung unterziehen möchten, sind dies die wertvollsten Follow-ups nach npm run smoke:
npm run smoke:liveopen_instagram_visual_searchmit demselben Chrome-Profil, das Sie täglich verwenden möchtenopen_xiaohongshu_visual_searchmit demselben Profil, falls eine Anmeldung erforderlich istopen_google_maps_visual_search, um zu bestätigen, dass der Hinweis zur manuellen Überprüfung und das Verhalten ohne Umgehung weiterhin korrekt aussehen
Genaue Mac-Befehle
cd /Users/lanston/Desktop/Codex/visual-hunt-mcp
npm install
npm run chrome:debug
npm run smoke
npm run smoke:liveResources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/CTlanston/visual-hunt-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server