DINO-X

offiziell

Fortschrittlicher MCP-Server für Computer Vision und Objekterkennung, betrieben von Dino-X, der KI-Agenten ermöglicht, Bilder zu analysieren, Objekte zu erkennen, Schlüsselpunkte zu identifizieren und visuelle Verständnisaufgaben durchzuführen.

Was kann man mit DINO X MCP machen?

  • Alle Objekte in einer Szene erkennen — Bitten Sie den Assistenten, jedes Objekt in einem Bild mit Kategorien und Begrenzungsrahmen zu identifizieren, indem Sie detect-all-objects verwenden.
  • Objekte per Textabfrage finden — Fordern Sie die Erkennung bestimmter Elemente (z. B. „Person, Auto“) in einem Bild über detect-objects-by-text an.
  • Menschliche Posen-Schlüsselpunkte schätzen — Erhalten Sie 17 Körper-Schlüsselpunkte und Begrenzungsrahmen für Personen in einem Bild mit detect-human-pose-keypoints.
  • Kommentierte Visualisierungen erstellen — Erzeugen Sie ein Bild mit eingezeichneten Erkennungsergebnissen mithilfe von visualize-detection-result (nur STDIO-Modus).

Dokumentation

DINO-X MCP-Server

License npm version npm downloads PRs Welcome MCP Badge GitHub stars

English | 中文

Der offizielle DINO-X MCP-Server – unterstützt durch die Modelle DINO-X und Grounding DINO – bringt feinkörnige Objekterkennung und Bildverständnis in Ihre multimodalen Anwendungen.

Ihr Browser unterstützt das Video-Tag nicht.

Warum DINO-X MCP?

Mit DINO-X MCP können Sie:

  • Feinkörniges Verständnis: Vollständige Bilderkennung, Objekterkennung und Beschreibungen auf Regionsebene.

  • Strukturierte Ausgaben: Erhalten Sie Objektkategorien, -anzahlen, -positionen und -attribute für VQA und mehrstufige Schlussfolgerungsaufgaben.

  • Kombinierbar: Funktioniert nahtlos mit anderen MCP-Servern, um durchgängige visuelle Agenten oder Automatisierungspipelines zu erstellen.

Transportmodi

DINO-X MCP unterstützt zwei Transportmodi:

FunktionSTDIO (Standard)Streamable HTTP
LaufzeitumgebungLokalLokal oder Cloud
TransportStandard-I/OHTTP (Streaming-Antworten)
Eingabequellefile:// und https://Nur https://
VisualisierungUnterstützt (speichert annotierte Bilder lokal)Nicht unterstützt (vorerst)

Schnellstart

1. Bereiten Sie einen MCP-Client vor

Jeder MCP-kompatible Client funktioniert, z. B.:

2. Besorgen Sie sich Ihren API-Schlüssel

Beantragen Sie ihn auf der DINO-X-Plattform: API-Schlüssel anfordern (neue Benutzer erhalten ein kostenloses Kontingent).

3. MCP konfigurieren

Option A: Offiziell gehostetes Streamable HTTP (Empfohlen)

Fügen Sie dies zur Konfiguration Ihres MCP-Clients hinzu und ersetzen Sie es durch Ihren API-Schlüssel:

{
  "mcpServers": {
    "dinox-mcp": {
      "url": "https://mcp.deepdataspace.com/mcp?key=your-api-key"
    }
  }
}

Option B: Das NPM-Paket lokal verwenden (STDIO)

Installieren Sie zuerst Node.js

  • Laden Sie das Installationsprogramm von nodejs.org herunter

  • Oder verwenden Sie den Befehl:

# macOS / Linux
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
# or
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

# load nvm into current shell (choose the one you use)
source ~/.bashrc || true
source ~/.zshrc  || true

# install and use LTS Node.js
nvm install --lts
nvm use --lts

# Windows (one of the following)
winget install OpenJS.NodeJS.LTS
# or with Chocolatey (in admin PowerShell)
iwr -useb https://raw.githubusercontent.com/chocolatey/chocolatey/master/chocolateyInstall/InstallChocolatey.ps1 | iex
choco install nodejs-lts -y

Konfigurieren Sie Ihren MCP-Client:

{
  "mcpServers": {
    "dinox-mcp": {
      "command": "npx",
      "args": ["-y", "@deepdataspace/dinox-mcp"],
      "env": {
        "DINOX_API_KEY": "your-api-key-here",
        "IMAGE_STORAGE_DIRECTORY": "/path/to/your/image/directory"
      }
    }
  }
}

Hinweis: Ersetzen Sie your-api-key-here durch Ihren echten Schlüssel.

Option C: Aus dem Quellcode lokal ausführen

Stellen Sie sicher, dass Node.js installiert ist (siehe Option B), dann:

# clone
git clone https://github.com/IDEA-Research/DINO-X-MCP.git
cd DINO-X-MCP

# install deps
npm install

# build
npm run build

Konfigurieren Sie Ihren MCP-Client:

{
  "mcpServers": {
    "dinox-mcp": {
      "command": "node",
      "args": ["/path/to/DINO-X-MCP/build/index.js"],
      "env": {
        "DINOX_API_KEY": "your-api-key-here",
        "IMAGE_STORAGE_DIRECTORY": "/path/to/your/image/directory"
      }
    }
  }
}

CLI-Flags & Umgebungsvariablen

  • Allgemeine Flags

    • --http: Im Streamable-HTTP-Modus starten (andernfalls standardmäßig STDIO)
    • --stdio: STDIO-Modus erzwingen
    • --dinox-api-key=...: API-Schlüssel setzen
    • --enable-client-key: API-Schlüssel über URL ?key= erlauben (nur Streamable HTTP)
    • --port=8080: HTTP-Port (Standard 3020)
  • Umgebungsvariablen

    • DINOX_API_KEY (erforderlich/bedingt erforderlich): API-Schlüssel der DINO-X-Plattform
    • IMAGE_STORAGE_DIRECTORY (optional, STDIO): Verzeichnis zum Speichern annotierter Bilder
    • AUTH_TOKEN (optional, HTTP): Falls gesetzt, muss der Client Authorization: Bearer <token> senden

    Beispiele:

# STDIO (local)
node build/index.js --dinox-api-key=your-api-key

# Streamable HTTP (server provides a shared API key)
node build/index.js --http --dinox-api-key=your-api-key

# Streamable HTTP (custom port)
node build/index.js --http --dinox-api-key=your-api-key --port=8080

# Streamable HTTP (require client-provided API key via URL)
node build/index.js --http --enable-client-key

Client-Konfiguration bei Verwendung von ?key=:

{
  "mcpServers": {
    "dinox-mcp": {
      "url": "http://localhost:3020/mcp?key=your-api-key"
    }
  }
}

Verwendung von AUTH_TOKEN mit einem Gateway, das Authorization: Bearer <token> einschleust:

AUTH_TOKEN=my-token node build/index.js --http --enable-client-key

Client-Beispiel mit supergateway:

{
  "mcpServers": {
    "dinox-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "supergateway",
        "--streamableHttp",
        "http://localhost:3020/mcp?key=your-api-key",
        "--oauth2Bearer",
        "my-token"
      ]
    }
  }
}

Werkzeuge

FähigkeitWerkzeug-IDTransportEingabeAusgabe
Vollständige Szenen-Objekterkennungdetect-all-objectsSTDIO / HTTPBild-URLKategorie + Bbox + (optionale) Beschriftungen
Textgesteuerte Objekterkennungdetect-objects-by-textSTDIO / HTTPBild-URL + englische Nomen (punktgetrennt für mehrere, z. B. person.car)Zielobjekt-Bbox + (optionale) Beschriftungen
Menschliche Posenschätzungdetect-human-pose-keypointsSTDIO / HTTPBild-URL17 Schlüsselpunkte + Bbox + (optionale) Beschriftungen
Visualisierungvisualize-detection-resultNur STDIOBild-URL + Erkennungsergebnis-ArrayLokaler Pfad zum annotierten Bild

🎬 Anwendungsfälle

🎯 Szenario📝 Eingabe✨ Ausgabe
Erkennung & Lokalisierung💬 Prompt:
Detect and visualize the
fire areas in the forest

🖼️ Eingabebild:
1-1
1-2
Objekte zählen💬 Prompt:
Please analyze this
warehouse image, detect
all the cardboard boxes,
count the total number

🖼️ Eingabebild:
2-1
2-2
Merkmalserkennung💬 Prompt:
Find all red cars
in the image

🖼️ Eingabebild:
4-1
4-2
Attribut-Schlussfolgerung💬 Prompt:
Find the tallest person
in the image, describe
their clothing

🖼️ Eingabebild:
5-1
5-2
Vollständige Szenenerkennung💬 Prompt:
Find the fruit with
the highest vitamin C
content in the image

🖼️ Eingabebild:
6-1
6-3

Antwort: Kiwi (93mg/100g)
Positionsanalyse💬 Prompt:
Please analyze what
yoga pose this is

🖼️ Eingabebild:
3-1
3-3

FAQ

  • Unterstützte Bildquellen?
    • STDIO: file:// und https://
    • Streamable HTTP: Nur https://
  • Unterstützte Bildformate?
    • jpg, jpeg, webp, png

Entwicklung & Fehlerbehebung

Verwenden Sie den Watch-Modus, um während der Entwicklung automatisch neu zu erstellen:

npm run watch

Verwenden Sie MCP Inspector zur Fehlerbehebung:

npm run inspector

Lizenz

Apache License 2.0