Labsco
IDEA-Research logo

DINO-X

β˜… 109

from IDEA-Research

Advanced computer vision and object detection MCP server powered by Dino-X, enabling AI agents to analyze images, detect objects, identify keypoints, and perform visual understanding tasks.

πŸ”₯πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedAccount requiredNeeds API keys

DINO-X MCP Server

npm downloads MCP Badge

English | δΈ­ζ–‡

DINO-X Official MCP Server β€” powered by the DINO-X and Grounding DINO models β€” brings fine-grained object detection and image understanding to your multimodal applications.

Your browser does not support the video tag.

Why DINO-X MCP?

With DINO-X MCP, you can:

  • Fine-Grained Understanding: Full image detection, object detection, and region-level descriptions.

  • Structured Outputs: Get object categories, counts, locations, and attributes for VQA and multi-step reasoning tasks.

  • Composable: Works seamlessly with other MCP servers to build end-to-end visual agents or automation pipelines.

Transport Modes

DINO-X MCP supports two transport modes:

FeatureSTDIO (default)Streamable HTTP
RuntimeLocalLocal or Cloud
TransportStandard I/OHTTP (streaming responses)
Input sourcefile:// and https://https:// only
VisualizationSupported (saves annotated images locally)Not supported (for now)

CLI Flags & Environment Variables

  • Common flags

    • --http: start in Streamable HTTP mode (otherwise STDIO by default)
    • --stdio: force STDIO mode
    • --dinox-api-key=...: set API key
    • --enable-client-key: allow API key via URL ?key= (Streamable HTTP only)
    • --port=8080: HTTP port (default 3020)
  • Environment variables

    • DINOX_API_KEY (required/conditionally required): DINO-X platform API key
    • IMAGE_STORAGE_DIRECTORY (optional, STDIO): directory to save annotated images
    • AUTH_TOKEN (optional, HTTP): if set, client must send Authorization: Bearer <token>

    Examples:

# 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 config when using ?key=:

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

Using AUTH_TOKEN with a gateway that injects Authorization: Bearer <token>:

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

Client example with supergateway:

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

Tools

CapabilityTool IDTransportInputOutput
Full-scene object detectiondetect-all-objectsSTDIO / HTTPImage URLCategory + bbox + (optional) captions
Text-prompted object detectiondetect-objects-by-textSTDIO / HTTPImage URL + English nouns (dot-separated for multiple, e.g., person.car)Target object bbox + (optional) captions
Human pose estimationdetect-human-pose-keypointsSTDIO / HTTPImage URL17 keypoints + bbox + (optional) captions
Visualizationvisualize-detection-resultSTDIO onlyImage URL + detection results arrayLocal path to annotated image

🎬 Use Cases

🎯 ScenarioπŸ“ Input✨ Output
Detection & LocalizationπŸ’¬ Prompt:
Detect and visualize the
fire areas in the forest

πŸ–ΌοΈ Input Image:
1-1
1-2
Object CountingπŸ’¬ Prompt:
Please analyze this
warehouse image, detect
all the cardboard boxes,
count the total number

πŸ–ΌοΈ Input Image:
2-1
2-2
Feature DetectionπŸ’¬ Prompt:
Find all red cars
in the image

πŸ–ΌοΈ Input Image:
4-1
4-2
Attribute ReasoningπŸ’¬ Prompt:
Find the tallest person
in the image, describe
their clothing

πŸ–ΌοΈ Input Image:
5-1
5-2
Full Scene DetectionπŸ’¬ Prompt:
Find the fruit with
the highest vitamin C
content in the image

πŸ–ΌοΈ Input Image:
6-1
6-3

Answer: Kiwi fruit (93mg/100g)
Pose AnalysisπŸ’¬ Prompt:
Please analyze what
yoga pose this is

πŸ–ΌοΈ Input Image:
3-1
3-3

Development & Debugging

Use watch mode to auto-rebuild during development:

npm run watch

Use MCP Inspector for debugging:

npm run inspector