DINO-X

officiel

Serveur MCP avancé de vision par ordinateur et de détection d'objets propulsé par Dino-X, permettant aux agents IA d'analyser des images, de détecter des objets, d'identifier des points clés et d'effectuer des tâches de compréhension visuelle.

Que pouvez-vous faire avec DINO X MCP ?

  • Détecter tous les objets dans une scène — Demandez à l'assistant d'identifier chaque objet dans une image avec des catégories et des boîtes englobantes à l'aide de detect-all-objects.
  • Trouver des objets par invite textuelle — Demandez la détection d'éléments spécifiques (par exemple, « personne.voiture ») dans une image via detect-objects-by-text.
  • Estimer les points clés de la pose humaine — Obtenez 17 points clés du corps et des boîtes englobantes pour les personnes dans une image avec detect-human-pose-keypoints.
  • Générer des visualisations annotées — Produisez une image avec les résultats de détection dessinés dessus à l'aide de visualize-detection-result (mode STDIO uniquement).

Documentation

Serveur MCP DINO-X

License npm version npm downloads PRs Welcome MCP Badge GitHub stars

English | 中文

Le serveur MCP officiel DINO-X — propulsé par les modèles DINO-X et Grounding DINO — apporte une détection d'objets fine et une compréhension d'image à vos applications multimodales.

Votre navigateur ne prend pas en charge la balise vidéo.

Pourquoi DINO-X MCP ?

Avec DINO-X MCP, vous pouvez :

  • Compréhension fine : Détection complète d'image, détection d'objets et descriptions au niveau des régions.

  • Sorties structurées : Obtenez les catégories d'objets, le nombre, les emplacements et les attributs pour les tâches de VQA et de raisonnement en plusieurs étapes.

  • Composable : Fonctionne de manière transparente avec d'autres serveurs MCP pour construire des agents visuels de bout en bout ou des pipelines d'automatisation.

Modes de transport

DINO-X MCP prend en charge deux modes de transport :

FonctionnalitéSTDIO (par défaut)HTTP streamable
ExécutionLocalLocal ou Cloud
TransportEntrée/Sortie standardHTTP (réponses en streaming)
Source d'entréefile:// et https://https:// uniquement
VisualisationPrise en charge (enregistre les images annotées localement)Non prise en charge (pour l'instant)

Démarrage rapide

1. Préparez un client MCP

Tout client compatible MCP fonctionne, par exemple :

2. Obtenez votre clé API

Faites une demande sur la plateforme DINO-X : Demander une clé API (les nouveaux utilisateurs bénéficient d'un quota gratuit).

3. Configurer MCP

Option A : HTTP streamable hébergé officiel (Recommandé)

Ajoutez à la configuration de votre client MCP et remplacez par votre clé API :

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

Option B : Utiliser le package NPM localement (STDIO)

Installez Node.js d'abord

  • Téléchargez l'installateur depuis nodejs.org

  • Ou utilisez la commande :

# 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

Configurez votre client MCP :

{
  "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"
      }
    }
  }
}

Remarque : Remplacez your-api-key-here par votre vraie clé.

Option C : Exécuter à partir des sources localement

Assurez-vous que Node.js est installé (voir Option B), puis :

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

# install deps
npm install

# build
npm run build

Configurez votre client MCP :

{
  "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"
      }
    }
  }
}

Options CLI et variables d'environnement

  • Options communes

    • --http : démarrer en mode HTTP streamable (sinon STDIO par défaut)
    • --stdio : forcer le mode STDIO
    • --dinox-api-key=... : définir la clé API
    • --enable-client-key : autoriser la clé API via l'URL ?key= (HTTP streamable uniquement)
    • --port=8080 : port HTTP (par défaut 3020)
  • Variables d'environnement

    • DINOX_API_KEY (obligatoire/conditionnellement obligatoire) : clé API de la plateforme DINO-X
    • IMAGE_STORAGE_DIRECTORY (optionnel, STDIO) : répertoire pour enregistrer les images annotées
    • AUTH_TOKEN (optionnel, HTTP) : si défini, le client doit envoyer Authorization: Bearer <token>

    Exemples :

# 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

Configuration client lors de l'utilisation de ?key= :

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

Utilisation de AUTH_TOKEN avec une passerelle qui injecte Authorization: Bearer <token> :

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

Exemple client avec supergateway :

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

Outils

CapacitéID de l'outilTransportEntréeSortie
Détection d'objets en scène complètedetect-all-objectsSTDIO / HTTPURL de l'imageCatégorie + bbox + (optionnel) légendes
Détection d'objets par invite textuelledetect-objects-by-textSTDIO / HTTPURL de l'image + noms anglais (séparés par des points pour plusieurs, par ex., person.car)bbox de l'objet cible + (optionnel) légendes
Estimation de pose humainedetect-human-pose-keypointsSTDIO / HTTPURL de l'image17 points clés + bbox + (optionnel) légendes
Visualisationvisualize-detection-resultSTDIO uniquementURL de l'image + tableau de résultats de détectionChemin local vers l'image annotée

🎬 Cas d'utilisation

🎯 Scénario📝 Entrée✨ Sortie
Détection et localisation💬 Invite :
Detect and visualize the
fire areas in the forest

🖼️ Image d'entrée :
1-1
1-2
Comptage d'objets💬 Invite :
Please analyze this
warehouse image, detect
all the cardboard boxes,
count the total number

🖼️ Image d'entrée :
2-1
2-2
Détection de caractéristiques💬 Invite :
Find all red cars
in the image

🖼️ Image d'entrée :
4-1
4-2
Raisonnement sur les attributs💬 Invite :
Find the tallest person
in the image, describe
their clothing

🖼️ Image d'entrée :
5-1
5-2
Détection de scène complète💬 Invite :
Find the fruit with
the highest vitamin C
content in the image

🖼️ Image d'entrée :
6-1
6-3

Réponse : Kiwi (93mg/100g)
Analyse de pose💬 Invite :
Please analyze what
yoga pose this is

🖼️ Image d'entrée :
3-1
3-3

FAQ

  • Sources d'image prises en charge ?
    • STDIO : file:// et https://
    • HTTP streamable : https:// uniquement
  • Formats d'image pris en charge ?
    • jpg, jpeg, webp, png

Développement et débogage

Utilisez le mode surveillance pour reconstruire automatiquement pendant le développement :

npm run watch

Utilisez MCP Inspector pour le débogage :

npm run inspector

Licence

Licence Apache 2.0