vision-bridge-mcp
vision-bridge-mcp
Vision-Sidecar-MCP-Server – ermöglicht textbasierten LLMs das Sehen von Bildern. Unterstützt nativ OpenAI- UND Anthropic-API-Formate. Inklusive Modell-Fähigkeits-Routing-Funktion.
Warum?
Die meisten LLMs sind reine Textmodelle – sie können keine Bilder sehen. Dieser MCP-Server schließt diese Lücke, indem er Bilder an ein visionsfähiges Modell weiterleitet und Textergebnisse zurückgibt. Er funktioniert mit jedem OpenAI-kompatiblen oder Anthropic-kompatiblen API-Endpunkt.
In Kombination mit der vision-sidecar-Fähigkeit erfolgt das Routing automatisch basierend auf den Fähigkeiten des Hostmodells:
Hostmodell | Bildpfad |
Rein textbasiert (nicht multimodal) | Ruft die |
Multimodal (gpt-4o / claude vision / gemini / grok, etc.) | Verwendet natives Bildverständnis, ruft dieses MCP nicht auf |
Ausnahme: Wenn die Systemzwischenablage ein Bild enthält und die Konversation keinen Pfad/URL/Anhang hat, können auch multimodale Hostmodelle image="clipboard" übergeben.
Related MCP server: Vision MCP Server
Funktionen
✅ Drei Werkzeuge:
analyze_image,ocr_image,compare_images✅ Duales Protokoll: OpenAI
chat/completionsUND Anthropicmessages-Format✅ Zwischenablage-Unterstützung: Windows (PowerShell) + macOS (Swift)
✅ SHA256-Dateicache mit konfigurierbarer TTL
✅ URL-Download-Wiederholung: Lädt Remote-URLs automatisch als Base64 herunter, wenn die direkte Übergabe fehlschlägt
✅ Reasoning-Modell-Fallback: Extrahiert
reasoning_content, wenncontentnull ist✅ Full-Chain-Timeout: Verbindung + Header + Body-Lesen
✅ Sicherheitsgrenzen: 16MB Antwort / 20MB Bild / 1MB Fehlerdetails
✅ Typisierte Fehler:
VisionInputError/VisionApiError/VisionTimeoutError✅ Umfassende Tests: 30+ Unit-Tests + End-to-End-Smoke-Tests
✅ Keine neuen npm-Abhängigkeiten (verwendet workspace
node_modules)
Schnellstart
Stellen Sie sicher, dass sich
node≥ 18 in Ihrem PATH befindet.Setzen Sie Umgebungsvariablen:
export VISION_API_BASE_URL=https://api.example.com/v1 # OpenAI: ends with /v1; Anthropic: base without /v1
export VISION_API_KEY=sk-... # API key
export VISION_MODEL=gpt-4o # Vision model name
# Optional: export VISION_API_FORMAT=anthropic # openai (default) or anthropicRegistrieren Sie in Ihrer MCP-Client-Konfiguration:
{
"id": "vision-bridge-mcp",
"transport": "stdio",
"command": "node",
"args": ["server.js"],
"cwd": "/path/to/vision-bridge-mcp",
"env": {
"VISION_API_BASE_URL": "https://api.example.com/v1",
"VISION_API_KEY": "your-key",
"VISION_MODEL": "gpt-4o"
},
"enabled": true
}Konfiguration
Variable | Beschreibung | Beispiel |
| Basis-URL der Vision-Modell-API. OpenAI: endet normalerweise mit |
|
| API-Schlüssel |
|
| Name des Vision-Modells |
|
| (Optional) Request-Protokoll: |
|
| (Optional) Maximale Ausgabetoken pro Aufruf, Standard 2048 |
|
| (Optional) Cache-TTL in Sekunden, Standard 3600; |
|
| (Optional) Cache-Verzeichnis, Standard |
|
| (Optional) |
|
Der Start validiert die ersten drei Variablen; fehlende Variablen führen zu einem lesbaren Fehler und Beenden (Code 1).
Werkzeuge
analyze_image
Voraussetzung: Nur aufrufen, wenn das Hostmodell nicht über multimodales Sehen verfügt. Wenn das Hostmodell multimodal ist, verwenden Sie dessen natives Bildverständnis.
image(erforderlich, string): Lokaler Dateipfad / http(s)-URL / base64-dataURL /clipboard.Lokaler Pfad: Leitet MIME aus der Erweiterung ab (png/jpg/jpeg/gif/webp/bmp), konvertiert in base64-dataURL.
http(s)-URL: Wird direkt als
image_urlübergeben.dataURL: Nur
image/*base64-Kodierung akzeptiert.clipboard/clip/pasteboard: Liest aktuelles Systemzwischenablage-Bild (Windows:scripts/clipboard.ps1, macOS:scripts/clipboard.swift), schreibt in temporäres PNG, normalisiert dann. Linux nicht unterstützt.
prompt(optional, string): Benutzerdefinierte Erkennungsanweisung. Standard: "Describe this image in detail."Rückgabe: Erfolg
{ content: [{ type: "text", text }] }; Fehler{ content: [{ type: "text", text: "[vision_error] ..." }], isError: true }.
Interne Anfrage (aufgeteilt nach VISION_API_FORMAT):
OpenAI:
POST {base}/chat/completions, Bild alsimage_url-Teil, AuthAuthorization: Bearer.Anthropic:
POST {base}/v1/messages, Bild alsimage-Block (source: {type: base64, media_type, data}oder{type: url, url}), Authx-api-key+anthropic-version: 2023-06-01(sendet auchAuthorization: Beareraus Kompatibilitätsgründen).
Standard-Timeout: 60s (umfasst Verbindung + Body-Lesen).
Sicherheitsgrenzen: API-Antwort 16MB, Bild-Download 20MB (Vorabprüfung des Content-Length + erneute Größenprüfung).
Verhaltensnotizen (aus Tests mit echten Modellen):
Reasoning-Modelle können
content: nullmit der Antwort inreasoning_contentzurückgeben – automatischer Fallback.Fehlgeschlagene http(s)-URL-Direktübergabe mit Medien-/Download-Fehler → automatischer Download als base64 und einmaliger Wiederholungsversuch.
ocr_image
image(erforderlich, string): Gleiche Normalisierung wie beianalyze_image.languages(optional, string): Sprachhinweise (z. B.zh,en).format(optional, enum):plain(Standard, Klartext unter Beibehaltung des Layouts) /markdown(behält Überschriften/Listen/Tabellen bei) /json(gibtblocks-Array mittext+typezurück).Verwendet intern
image_url.detail = "high"; Prompt wird pro Format eingefügt.
compare_images
images(erforderlich, array, 2–4): Jedes unterstützt lokalen Pfad / http(s)-URL / dataURL / clipboard.prompt(optional, string): Benutzerdefinierte Vergleichsanweisung. Standard: "Compare these images and describe their differences and similarities."Einzelne Benutzernachricht mit Text + mehreren
image_url-Teilen (detail = "auto").Wenn eine URL mit einem Medien-/Download-Fehler fehlschlägt, werden alle URLs als base64 heruntergeladen und einmal wiederholt.
Vision-Sidecar-Fähigkeit
Die vision-sidecar-Fähigkeit bietet ein Modell-Fähigkeits-Routing. Wenn sie in Ihrem MCP-Client aktiviert ist:
Hostmodell hat multimodale Fähigkeiten → verwendet natives Bildverständnis (kein MCP-Aufruf)
Hostmodell ist rein textbasiert → ruft
analyze_imagedieses MCP aufAusnahme: Zwischenablage-Lesen ist für multimodale Hostmodelle verfügbar
Ohne diese Fähigkeit bleibt das Verhalten des Hostmodells völlig unverändert – null Eingriff.
Siehe skill/vision-sidecar.md für die Fähigkeitsdatei.
Caching
Standardmäßig aktiviert. Zwischenspeichert Vision-API-Ergebnisse für identische "Bild + Prompt"-Kombinationen.
Schlüssel:
SHA256(Bildkennung + "::" + Prompt). Lokale Dateien/dataURLs werden nach base64-Inhalt gehasht; http(s)-URLs werden nach URL-String gehasht.Speicherung: Eine JSON-Datei pro Schlüssel (
{ result, cachedAt }), gespeichert im Cache-Verzeichnis.TTL: Standard 1 Stunde. Abgelaufene Einträge werden beim nächsten Zugriff automatisch gelöscht.
Deaktivieren:
VISION_CACHE_TTL=0(oder negativ).Hinweis: Der Schlüssel enthält nicht den Modellnamen. Nach dem Wechsel von
VISION_MODELkönnen innerhalb der TTL-Periode zwischengespeicherte Ergebnisse des alten Modells zurückgegeben werden – leeren Sie das Cache-Verzeichnis beim Wechseln der Modelle.
Testen
cd vision-bridge-mcp
node --testtest/vision.test.js: Unit-Tests der Kernbibliothek (Eingabenormalisierung / Nachrichtenrumpf / API-Aufrufe / Fehlerzuordnung / Timeout / Cache / URL-Wiederholung / OCR / Zwischenablage).test/cache.test.js: Cache-Modultests (Schlüsselstabilität / Treffer / Ablauf / beschädigtes JSON / Abwärtskompatibilität).test/smoke.test.mjs: End-to-End-Smoke-Test – startet echtenserver.jsüber stdio, verwendet lokalen HTTP-Stub zur Simulation des Vision-Modells, validiert tools/list und Werkzeugaufrufe.
Vergleich mit anderen Vision-MCPs
Siehe docs/COMPARISON.md für einen detaillierten Vergleich mit anderen Vision-MCP-Projekten.
Lizenz
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceEnables text-only LLMs to analyze images by routing them to an OpenAI-compatible vision backend, supporting local files, URLs, and data URLs.34MIT
- AlicenseAqualityDmaintenanceEnables AI agents to analyze images, extract text, compare images, and analyze video through any OpenAI-compatible vision model.455019MIT
- Flicense-qualityCmaintenanceEnables text-only language models to 'see' and describe images by calling multimodal APIs (OpenAI, Anthropic) for image analysis.
- Flicense-qualityCmaintenanceEnables text-only LLMs to process images by describing them through a configurable vision model.
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
LLM chat, text summarization and AI image generation
Image/video analysis: NSFW detection, object detection, thumbnails
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Catapult291/vision-bridge-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server