Official DINO-X Model Context Protocol (MCP) server that empowers LLMs with real-world visual perception through image object detection, localization, and captioning APIs.
# Add to your Claude Code skills
git clone https://github.com/IDEA-Research/DINO-X-MCPGuides for using mcp servers skills like DINO-X-MCP.
Last scanned: 5/30/2026
{
"issues": [
{
"type": "npm-audit",
"message": "@modelcontextprotocol/sdk: Anthropic's MCP TypeScript SDK has a ReDoS vulnerability",
"severity": "high"
}
],
"status": "WARNING",
"scannedAt": "2026-05-30T16:34:33.534Z",
"npmAuditRan": true,
"pipAuditRan": true
}DINO-X-MCP is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by IDEA-Research. Official DINO-X Model Context Protocol (MCP) server that empowers LLMs with real-world visual perception through image object detection, localization, and captioning APIs. It has 110 GitHub stars.
DINO-X-MCP returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.
Clone the repository with "git clone https://github.com/IDEA-Research/DINO-X-MCP" and add it to your Claude Code skills directory (see the Installation section above).
DINO-X-MCP is primarily written in TypeScript. It is open-source under IDEA-Research on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh DINO-X-MCP against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
Requires a passing catalog security scan. Resolve the flagged issues and resubmit to enable featuring.
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.
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.
DINO-X MCP supports two transport modes:
| Feature | STDIO (default) | Streamable HTTP |
|---|---|---|
| Runtime | Local | Local or Cloud |
| Transport | Standard I/O | HTTP (streaming responses) |
| Input source | file:// and https:// |
https:// only |
| Visualization | Supported (saves annotated images locally) | Not supported (for now) |
Any MCP-compatible client works, e.g.:
Apply on the DINO-X platform: Request API Key (new users get free quota).
Add to your MCP client config and replace with your API key:
{
"mcpServers": {
"dinox-mcp": {
"url": "https://mcp.deepdataspace.com/mcp?key=your-api-key"
}
}
}
Install Node.js first
Download the installer from nodejs.org
Or use command:
# 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
Configure your 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"
}
}
}
}
Note: Replace your-api-key-here with your real key.
Make sure Node.js is installed (see Option B), then:
# clone
git clone https://github.com/IDEA-Research/DINO-X-MCP.git
cd DINO-X-MCP
# install deps
npm install
# build
npm run build
Configure your 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"
}
}
}
}
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 keyIMAGE_STORAGE_DIRECTORY (optional, STDIO): directory to save annotated imagesAUTH_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"
]
}
}
}
| Capability | Tool ID | Transport | Input | Output |
|---|---|---|---|---|
| Full-scene object detection | detect-all-objects |
STDIO / HTTP | Image URL | Category + bbox + (optional) captions |
| Text-prompted object detection | detect-objects-by-text |
STDIO / HTTP | Image URL + English nouns (dot-separated for multiple, e.g., person.car) |
Target object bbox + (optional) captions |
| Human pose estimation | detect-human-pose-keypoints |
STDIO / HTTP | Image URL | 17 keypoints + bbox + (optional) captions |
| Visualization | visualize-detection-result |
STDIO only | Image URL + detection results array | Local path to annotated image |
| 🎯 Scenario | 📝 Input | ✨ Output |
|---|---|---|
| Detection & Localization | 💬 Prompt:Detect and visualize the fire areas in the forest 🖼️ Input Image: |
|
| Object Counting | 💬 Prompt:Please analyze thiswarehouse image, detectall the cardboard boxes,count the total number🖼️ Input Image: |
|
| Feature Detection | 💬 Prompt:Find all red carsin the image🖼️ Input Image: |
|
| Attribute Reasoning | 💬 Prompt:Find the tallest personin the image, describetheir clothing🖼️ Input Image: |
|
| Full Scene Detection | 💬 Prompt:Find the fruit withthe highest vitamin Ccontent in the image🖼️ Input Image: |
|
| Pose Analysis | 💬 Prompt:Please analyze whatyoga pose this is🖼️ Input Image: |
file:// and https://https:// onlyUse watch mode to auto-rebuild during development:
npm run watch
Use MCP Inspector for debugging:
npm run inspector
Apache License 2.0