Skip to main content
Glama

visionMCP 👁️

Die Augen eines größeren Reasoning-LLMs.

visionMCP ist ein Model Context Protocol-Server, der jedem MCP-fähigen Agenten echtes Sehen ermöglicht. Ein reines Text-Reasoning-Modell kann alles, was es nicht sehen kann, an diesen Server delegieren: einen Screenshot beschreiben, eine Frage zu einem Foto beantworten, ein Dokument per OCR erfassen oder zwei Bilder vergleichen – der Server übernimmt das Sehen und gibt Text zurück.

Es funktioniert mit allen drei großen Vision-Backends, die zur Laufzeit aus einer einzigen config.json ausgewählt werden:

Anbieter

API

Beispielmodelle

Ollama

OpenAI-kompatibel (http://localhost:11434/v1)

llama3.2-vision, qwen2.5vl, llava

OpenAI

Chat Completions Vision API

gpt-4o, gpt-4o-mini

Anthropic

Claude Messages Vision API

claude-3-5-sonnet-latest, claude-3-7-sonnet-latest


Funktionen

  • 🔍 Vier Vision-Tools für ein Reasoning-LLM zum Aufrufen:

    • describe_image — vollständige Beschreibung in natürlicher Sprache

    • ask_about_image — gezielte Fragen & Antworten zu jedem Bild

    • extract_text — OCR / Transkription

    • compare_images — Seitenweise-Vergleich

  • 🖼️ Jede Quelle wird akzeptiert: lokale Dateipfade, http(s)-URLs und base64 data:-URIs.

  • 📦 Keine Bildvorbereitung: überdimensionierte Bilder werden automatisch verkleinert und als JPEG neu kodiert, um die Payload-Limits des Anbieters einzuhalten.

  • 🔌 Drei Transporte: stdio (Standard, für lokale MCP-Clients), http (Streamable HTTP für Remote-Hosting) oder sse (Legacy Server-Sent Events).

  • ⚙️ Eine config.json steuert Anbieter, API-Schlüssel, API-URL und Modell. Umgebungsvariablen und CLI-Flags können alles überschreiben.

  • 🚀 uv-verwaltet, installierbar, ausführbar und hostbar.


Related MCP server: depu-img-mcp

Schnellstart

1. Installieren

Erfordert uv und Python ≥ 3.10.

cd visionMCP
uv sync

2. Konfigurieren

Die mitgelieferte config.json funktioniert bereits mit einem lokalen Ollama. Wechseln Sie den Anbieter, indem Sie die Datei bearbeiten:

// config.json
{
  "provider": "openai",                  // "ollama" | "openai" | "anthropic"
  "api_key": "sk-...",                   // or leave "" and export OPENAI_API_KEY
  "api_url": "",                         // "" = provider default
  "model": ""                            // "" = provider default
}

Siehe docs/configuration.md für alle Optionen und docs/providers.md für die Einrichtung pro Anbieter.

Sicherheit: echte API-Schlüssel nicht in Git ablegen – kopieren Sie config.json nach config.local.json (automatisch ignoriert) oder verwenden Sie Umgebungsvariablen. Der Server protokolliert Ihren Schlüssel nie.

3. Ausführen

uv run vision-mcp                        # stdio transport (default)
uv run vision-mcp --transport http --host 0.0.0.0 --port 8100   # host remotely
uv run vision-mcp --show-config          # print resolved config (key masked)

Einbinden in einen MCP-Client

opencode (opencode.json)

{
  "mcpServers": {
    "visionMCP": {
      "type": "stdio",
      "command": "uv",
      "args": ["run", "--directory", "/absolute/path/to/visionMCP", "vision-mcp"]
    }
  }
}

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "visionMCP": {
      "command": "uv",
      "args": ["run", "--directory", "/absolute/path/to/visionMCP", "vision-mcp"]
    }
  }
}

Generischer MCP-Client (stdio)

{
  "mcpServers": {
    "visionMCP": {
      "command": "/path/to/visionMCP/.venv/bin/vision-mcp",
      "args": ["--config", "/path/to/visionMCP/config.json"]
    }
  }
}

Der Server sendet niemals Bildinhalte an die Vision-API, die über den Tool-Aufruf hinausgehen. Bildbytes werden im Speicher gehalten und nie auf die Festplatte geschrieben.


Tools-Referenz

Tool

Argumente

Rückgabe

describe_image

image (Pfad/URL/data-URI)

Vollständige Beschreibung in Klartext

ask_about_image

image, question

Gezielte Antwort

extract_text

image

Transkribierter / OCR-Text

compare_images

image_a, image_b, optional question

Vergleich in Klartext

server_status

Anbieter, Modell, Transport

Ein image-Argument akzeptiert jede der folgenden:

/path/to/photo.png          # local file
https://example.com/x.jpg   # URL (downloaded at call time)
data:image/png;base64,iVBORw0KGgo...   # base64 data URI

So funktioniert es

Alles läuft durch eine Funktion in src/vision_mcp/pipeline.py:

image (path / URL / data URI)  →  base64 + mime  →  vision model  →  text
        _read()                     _encode()         API[provider]    look()

Die Server-Tools sind dünne Wrapper: pipeline.look(cfg, [image], prompt).


Dokumentation

Entwicklung

uv sync --group dev
uv run ruff check .
uv run pytest

Lizenz

MIT

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

Related MCP Connectors

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

  • Generate on-brand images from your AI agent: design, edit, and render templates over MCP.

  • Social media analytics, video analysis, and competitor intel for any MCP-compatible AI agent.

View all MCP Connectors

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/ThisUserIsRandom/visionMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server