DINO-X

공식

Dino-X 기반의 고급 컴퓨터 비전 및 객체 탐지 MCP 서버로, AI 에이전트가 이미지를 분석하고 객체를 탐지하며 키포인트를 식별하고 시각적 이해 작업을 수행할 수 있도록 지원합니다.

DINO X MCP(으)로 무엇을 할 수 있나요?

  • 장면 내 모든 객체 감지 — 어시스턴트에게 이미지의 모든 객체를 카테고리와 경계 상자로 식별하도록 요청합니다. (detect-all-objects 사용)
  • 텍스트 프롬프트로 객체 찾기detect-objects-by-text를 통해 이미지에서 특정 항목(예: "person.car")의 감지를 요청합니다.
  • 인체 포즈 키포인트 추정detect-human-pose-keypoints를 사용하여 이미지 내 사람들의 17개 신체 키포인트와 경계 상자를 얻습니다.
  • 주석이 포함된 시각화 생성visualize-detection-result를 사용하여 감지 결과가 그려진 이미지를 생성합니다(STDIO 모드 전용).

문서

DINO-X MCP 서버

License npm version npm downloads PRs Welcome MCP Badge GitHub stars

English | 中文

DINO-X 공식 MCP 서버 — DINO-X 및 Grounding DINO 모델을 기반으로 하여, 멀티모달 애플리케이션에 세밀한 객체 탐지 및 이미지 이해 기능을 제공합니다.

사용 중인 브라우저가 video 태그를 지원하지 않습니다.

DINO-X MCP를 선택해야 하는 이유

DINO-X MCP를 통해 다음을 수행할 수 있습니다:

  • 세밀한 이해: 전체 이미지 탐지, 객체 탐지 및 영역 수준 설명.

  • 구조화된 출력: VQA 및 다단계 추론 작업을 위한 객체 카테고리, 개수, 위치, 속성 획득.

  • 조합 가능: 다른 MCP 서버와 원활하게 연동하여 엔드투엔드 비주얼 에이전트 또는 자동화 파이프라인 구축.

전송 모드

DINO-X MCP는 두 가지 전송 모드를 지원합니다:

기능STDIO (기본값)스트리밍 HTTP
런타임로컬로컬 또는 클라우드
전송표준 I/OHTTP (스트리밍 응답)
입력 소스file://https://https:// 전용
시각화지원 (주석이 추가된 이미지를 로컬에 저장)지원 안 함 (현재)

빠른 시작

1. MCP 클라이언트 준비

MCP 호환 클라이언트라면 무엇이든 사용 가능합니다. 예:

2. API 키 발급

DINO-X 플랫폼에서 신청하세요: API 키 요청 (신규 사용자에게는 무료 할당량이 제공됩니다).

3. MCP 구성

옵션 A: 공식 호스팅 스트리밍 HTTP (권장)

MCP 클라이언트 구성에 추가하고 API 키로 교체하세요:

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

옵션 B: 로컬에서 NPM 패키지 사용 (STDIO)

먼저 Node.js를 설치하세요

  • nodejs.org에서 설치 프로그램 다운로드

  • 또는 명령어 사용:

# 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

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

참고: your-api-key-here을 실제 키로 교체하세요.

옵션 C: 로컬에서 소스 코드로 실행

Node.js가 설치되어 있는지 확인한 후 (옵션 B 참조), 다음을 실행하세요:

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

# install deps
npm install

# build
npm run build

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

CLI 플래그 및 환경 변수

  • 공통 플래그

    • --http: 스트리밍 HTTP 모드로 시작 (기본값은 STDIO)
    • --stdio: STDIO 모드 강제
    • --dinox-api-key=...: API 키 설정
    • --enable-client-key: URL ?key=을 통한 API 키 허용 (스트리밍 HTTP 전용)
    • --port=8080: HTTP 포트 (기본값 3020)
  • 환경 변수

    • DINOX_API_KEY (필수/조건부 필수): DINO-X 플랫폼 API 키
    • IMAGE_STORAGE_DIRECTORY (선택 사항, STDIO): 주석이 추가된 이미지를 저장할 디렉터리
    • AUTH_TOKEN (선택 사항, HTTP): 설정된 경우 클라이언트는 Authorization: Bearer <token>을 전송해야 함

    예시:

# 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

?key= 사용 시 클라이언트 구성:

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

Authorization: Bearer <token>을 주입하는 게이트웨이와 함께 AUTH_TOKEN 사용:

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

supergateway 사용 클라이언트 예시:

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

도구

기능도구 ID전송입력출력
전체 장면 객체 탐지detect-all-objectsSTDIO / HTTP이미지 URL카테고리 + bbox + (선택 사항) 캡션
텍스트 프롬프트 기반 객체 탐지detect-objects-by-textSTDIO / HTTP이미지 URL + 영어 명사 (여러 개일 경우 점으로 구분, 예: person.car)대상 객체 bbox + (선택 사항) 캡션
사람 자세 추정detect-human-pose-keypointsSTDIO / HTTP이미지 URL17개 키포인트 + bbox + (선택 사항) 캡션
시각화visualize-detection-resultSTDIO 전용이미지 URL + 탐지 결과 배열주석이 추가된 이미지의 로컬 경로

🎬 활용 사례

🎯 시나리오📝 입력✨ 출력
탐지 및 위치 파악💬 프롬프트:
Detect and visualize the
fire areas in the forest

🖼️ 입력 이미지:
1-1
1-2
객체 개수 세기💬 프롬프트:
Please analyze this
warehouse image, detect
all the cardboard boxes,
count the total number

🖼️ 입력 이미지:
2-1
2-2
특징 탐지💬 프롬프트:
Find all red cars
in the image

🖼️ 입력 이미지:
4-1
4-2
속성 추론💬 프롬프트:
Find the tallest person
in the image, describe
their clothing

🖼️ 입력 이미지:
5-1
5-2
전체 장면 탐지💬 프롬프트:
Find the fruit with
the highest vitamin C
content in the image

🖼️ 입력 이미지:
6-1
6-3

답변: 키위 (93mg/100g)
자세 분석💬 프롬프트:
Please analyze what
yoga pose this is

🖼️ 입력 이미지:
3-1
3-3

FAQ

  • 지원되는 이미지 소스는?
    • STDIO: file://https://
    • 스트리밍 HTTP: https:// 전용
  • 지원되는 이미지 형식은?
    • jpg, jpeg, webp, png

개발 및 디버깅

개발 중 자동 재빌드를 위해 감시 모드를 사용하세요:

npm run watch

디버깅을 위해 MCP 인스펙터를 사용하세요:

npm run inspector

라이선스

Apache License 2.0