Skip to main content
Glama

opencode-eyes-nvidia 👁️

MCP server that provides image description capability using NVIDIA NIM hosted API (https://integrate.api.nvidia.com/v1) with the MiniMax-M3 multimodal model.

Provides "eyes" for models that lack multimodal capabilities. Feed in an image and get a detailed textual description of it.

Features

Tool

Description

describe_image

Describes the content of an image, using the MiniMax-M3 multimodal model by default

list_vision_models

Lists the multimodal (vision) models available on the NVIDIA NIM API

Related MCP server: vision-mcp

Multimodal Models

The default model is minimaxai/minimax-m3 (text/image/video input → text output, 1M context, supports reasoning). It can be switched via NVIDIA_MODEL or the model parameter of describe_image:

Model ID

Description

minimaxai/minimax-m3

MiniMax-M3 multimodal MoE VLM (default, supports image/video)

meta/llama-3.2-11b-vision-instruct

Meta Llama 3.2 11B Vision

meta/llama-3.2-90b-vision-instruct

Meta Llama 3.2 90B Vision

nvidia/llama-3.1-nemotron-nano-vl-8b-v1

NVIDIA Nemotron Nano VL 8B

google/gemma-3-27b-it

Google Gemma 3 27B IT

nvidia/nemotron-nano-12b-v2-vl

NVIDIA Nemotron Nano 12B v2 VL

qwen/qwen3.5-397b-a17b

Qwen 3.5 397B A17B VLM

Environment Variables

Variable

Required

Default

Description

NVIDIA_API_KEY

No*

Single NVIDIA API Key (obtain at https://build.nvidia.com, nvapi-...)

NVIDIA_API_KEYS

No*

Multiple keys, separated by commas / semicolons / spaces / newlines

NVIDIA_API_KEY_1NVIDIA_API_KEY_N

No*

Numbered keys, read sequentially starting from NVIDIA_API_KEY_1

NVIDIA_BASE_URL

No

https://integrate.api.nvidia.com/v1

API base URL

NVIDIA_MODEL

No

minimaxai/minimax-m3

Default multimodal model to use

NVIDIA_TIMEOUT

No

120

API request timeout (seconds)

NVIDIA_MAX_DIMENSION

No

2048

Scales the longest edge of the image to this many pixels before sending; 0 means no scaling

NVIDIA_JPEG_QUALITY

No

85

JPEG compression quality before sending (0-100)

NVIDIA_THINKING_MODE

No

(empty)

MiniMax-M3 reasoning mode: enabled / disabled / adaptive

NVIDIA_ROTATION_MAX_RETRIES

No

Number of keys

Total polling attempts (across all keys)

NVIDIA_ROTATION_BACKOFF

No

2

Seconds to wait after each failure (waiting for quota refresh)

* At least one key is required: any of NVIDIA_API_KEY, NVIDIA_API_KEYS, or NVIDIA_API_KEY_1..N will do; they can be configured together (deduplicated and merged).

Key Rotation (Automatic Multi-Key Switching)

Supports configuring multiple API keys: requests use them in order, and automatically switch to the next key on error. The original key is not removed — it is simply moved to the end of the queue and reused once its quota refreshes. Retries are fully automatic, no manual intervention needed.

How it works:

  1. On startup, all keys are merged into a single queue (deduplicated, in the order NVIDIA_API_KEYNVIDIA_API_KEYSNVIDIA_API_KEY_1..N).

  2. Requests use the key at the front of the queue by default.

  3. On a retryable error (HTTP 401 / 403 / 404 / 408 / 429 / 5xx, or a connection timeout): the front key is moved to the back of the queue, and after waiting NVIDIA_ROTATION_BACKOFF seconds, the next key is used to retry.

  4. If all keys have been rotated through (a total of NVIDIA_ROTATION_MAX_RETRIES attempts) without success, only then is the last error thrown.

  5. Queue state is preserved across calls — rate-limited keys stay at the back, and by the time they come around again, their quota has usually refreshed.

Example:

# 方式一:逗号分隔多个 Key
set NVIDIA_API_KEYS=nvapi-key-1,nvapi-key-2,nvapi-key-3

# 方式二:编号 Key
set NVIDIA_API_KEY_1=nvapi-key-1
set NVIDIA_API_KEY_2=nvapi-key-2

# 方式三:单个 Key(向后兼容)
set NVIDIA_API_KEY=nvapi-key-1

Pass the environment variables to the MCP service in the OpenCode configuration:

{
  "mcp": {
    "opencode-eyes-nvidia": {
      "type": "local",
      "command": ["python", "-m", "opencode_eyes_nvidia"],
      "enabled": true,
      "timeout": 120000,
      "environment": {
        "NVIDIA_API_KEYS": "{env:NVIDIA_API_KEYS}"
      }
    }
  }
}

Installation

pip install -r requirements.txt

Or install as a package:

pip install .

Running

# 设置环境变量(Windows,至少一种)
set NVIDIA_API_KEY=nvapi-你的key
# 或 set NVIDIA_API_KEYS=nvapi-key-1,nvapi-key-2

# 启动服务
python -m opencode_eyes_nvidia

Configuring in OpenCode

{
  "mcp": {
    "opencode-eyes-nvidia": {
      "type": "local",
      "command": ["python", "-m", "opencode_eyes_nvidia"],
      "enabled": true,
      "timeout": 120000,
      "environment": {
        "NVIDIA_API_KEYS": "{env:NVIDIA_API_KEYS}",
        "NVIDIA_API_KEY": "{env:NVIDIA_API_KEY}"
      }
    }
  }
}

Manual Testing

Verify via stdio without starting opencode:

$env:NVIDIA_API_KEY = "nvapi-xxx"
python -m opencode_eyes_nvidia

Then send an MCP JSON-RPC message from another terminal, for example:

{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"0.0.0"}}}
{"jsonrpc":"2.0","id":2,"method":"tools/list"}
{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"describe_image","arguments":{"image_path":"C:/path/to/photo.jpg"}}}

Differences from opencode-eyes

  • API changed from StepFun to NVIDIA NIM (https://integrate.api.nvidia.com/v1)

  • Default model changed from step-3.7-flash to MiniMax-M3 (minimaxai/minimax-m3)

  • Added the list_vision_models tool and multi-model switching capability

  • Added support for MiniMax-M3's thinking_mode reasoning control

  • Added multi-API-key rotation: automatically switches to the next key on error, with the original key moved to the back of the queue to wait for quota refresh

License

MIT

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for analyzing images using multiple vision LLM providers (OpenCode, OpenAI, Anthropic, Google, and custom OpenAI-compatible endpoints). Provides tools to analyze single or multiple images, list providers, and test vision capabilities.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP server that gives text-only AI agents the ability to understand images via vision tools, including multi-image analysis, OCR, comparison, and structured extraction. It uses providers like OpenAI, Anthropic, Gemini, and OpenRouter to return plain text descriptions.
    4
    10
    121
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server for MiniMax H3 multimodal video generation

  • MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.

  • MCP server for Google Veo AI video generation

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bauerelizabeth07139/opencode-eyes-nvidia'

If you have feedback or need assistance with the MCP directory API, please join our Discord server