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 서버
English | 中文
DINO-X 공식 MCP 서버 — DINO-X 및 Grounding DINO 모델을 기반으로 하여, 멀티모달 애플리케이션에 세밀한 객체 탐지 및 이미지 이해 기능을 제공합니다.
DINO-X MCP를 선택해야 하는 이유
DINO-X MCP를 통해 다음을 수행할 수 있습니다:
-
세밀한 이해: 전체 이미지 탐지, 객체 탐지 및 영역 수준 설명.
-
구조화된 출력: VQA 및 다단계 추론 작업을 위한 객체 카테고리, 개수, 위치, 속성 획득.
-
조합 가능: 다른 MCP 서버와 원활하게 연동하여 엔드투엔드 비주얼 에이전트 또는 자동화 파이프라인 구축.
전송 모드
DINO-X MCP는 두 가지 전송 모드를 지원합니다:
| 기능 | STDIO (기본값) | 스트리밍 HTTP |
|---|---|---|
| 런타임 | 로컬 | 로컬 또는 클라우드 |
| 전송 | 표준 I/O | HTTP (스트리밍 응답) |
| 입력 소스 | 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-objects | STDIO / HTTP | 이미지 URL | 카테고리 + bbox + (선택 사항) 캡션 |
| 텍스트 프롬프트 기반 객체 탐지 | detect-objects-by-text | STDIO / HTTP | 이미지 URL + 영어 명사 (여러 개일 경우 점으로 구분, 예: person.car) | 대상 객체 bbox + (선택 사항) 캡션 |
| 사람 자세 추정 | detect-human-pose-keypoints | STDIO / HTTP | 이미지 URL | 17개 키포인트 + bbox + (선택 사항) 캡션 |
| 시각화 | visualize-detection-result | STDIO 전용 | 이미지 URL + 탐지 결과 배열 | 주석이 추가된 이미지의 로컬 경로 |
🎬 활용 사례
| 🎯 시나리오 | 📝 입력 | ✨ 출력 |
|---|---|---|
| 탐지 및 위치 파악 | 💬 프롬프트:Detect and visualize the fire areas in the forest 🖼️ 입력 이미지: | |
| 객체 개수 세기 | 💬 프롬프트:Please analyze thiswarehouse image, detectall the cardboard boxes,count the total number🖼️ 입력 이미지: | |
| 특징 탐지 | 💬 프롬프트:Find all red carsin the image🖼️ 입력 이미지: | |
| 속성 추론 | 💬 프롬프트:Find the tallest personin the image, describetheir clothing🖼️ 입력 이미지: | |
| 전체 장면 탐지 | 💬 프롬프트:Find the fruit withthe highest vitamin Ccontent in the image🖼️ 입력 이미지: | 답변: 키위 (93mg/100g) |
| 자세 분석 | 💬 프롬프트:Please analyze whatyoga pose this is🖼️ 입력 이미지: |
FAQ
- 지원되는 이미지 소스는?
- STDIO:
file://및https:// - 스트리밍 HTTP:
https://전용
- STDIO:
- 지원되는 이미지 형식은?
- jpg, jpeg, webp, png
개발 및 디버깅
개발 중 자동 재빌드를 위해 감시 모드를 사용하세요:
npm run watch
디버깅을 위해 MCP 인스펙터를 사용하세요:
npm run inspector
라이선스
Apache License 2.0