opencode-eyes-nvidia
opencode-eyes-nvidia
Eyes for models that cannot see — on NVIDIA NIM. Any of seven hosted vision models (MiniMax-M3 by default), with multi-key rotation when one key is rate-limited.
给不具备多模态能力的模型一双眼睛:走 NVIDIA NIM,默认 MiniMax-M3,支持多 Key 轮换。
As a DeepSeek Harness plugin: the MCP server ships inside the bundle, so
installing one plugin is the whole setup — no mcpServers file to hand-edit.
Install
DeepSeek Harness Desktop — open Plugins in the sidebar, choose Add plugin, and enter:
https://github.com/bauerelizabeth07139/opencode-eyes-nvidiaThen switch the new dsh-opencode-eyes-nvidia bundle on. The Desktop app boots the
reserved desktop profile, so that is where it has to be enabled.
dsh CLI — install it into the profile you actually boot:
dsh plugin --profile web add bauerelizabeth07139/opencode-eyes-nvidiaNo git on the machine? pnpm resolves a git shorthand with git ls-remote,
which fails with 'git' is not recognized when git is missing. Use the tarball
instead — that path is plain HTTPS:
dsh plugin --profile web add https://codeload.github.com/bauerelizabeth07139/opencode-eyes-nvidia/tar.gz/mainThe same address works in the Desktop Add plugin dialog. Replace main
with a commit SHA to pin an exact revision (/tar.gz/<sha>).
Uninstall with dsh plugin --profile web remove dsh-opencode-eyes-nvidia.
Related MCP server: vision-mcp
Requirements
Python ≥ 3.8 on
PATH, or pointed at withpython.Pillow in that interpreter — the server's only third-party import (
pip install Pillow).At least one NVIDIA API key. The server accepts
NVIDIA_API_KEY,NVIDIA_API_KEYS(several, separated by spaces/commas/semicolons) orNVIDIA_API_KEY_1..N, and rotates through them on failure.describe_imageneeds one;list_vision_modelsworks without.
Tools
The server registers 2 tool(s). DSH namespaces them automatically,
so the model calls them as mcp__opencode_eyes_nvidia__<tool>:
Tool | What it does |
| Sends an image to the chosen NVIDIA-hosted vision model. Parameters: |
| Returns the model list, consulting the live |
Configuration
Key | Environment variable | Default | Meaning |
| — | discovered | interpreter that runs the server |
|
| (empty) | the first key of the rotation ring |
|
|
| default model id |
|
|
| NIM endpoint |
|
|
| the server's own HTTP timeout |
|
|
| images are downscaled to this edge length |
|
|
| JPEG quality of the re-encoded image |
|
| (unset) |
|
| — |
| DSH's per-call budget; key rotation sleeps between attempts |
| — |
| raw passthrough — use this for |
Every field is optional and lives in the loader row. For example, in
cordis.patch.yml:
- id: dsh-opencode-eyes-nvidia
name: 'dsh-opencode-eyes-nvidia'
config:
apiKey: 'nvapi-...'
model: 'minimaxai/minimax-m3'
env:
NVIDIA_API_KEYS: 'nvapi-first,nvapi-second'Notes
Rotating several keys.
config.apiKeysetsNVIDIA_API_KEY; to use the rotation ring, pass the extra variables throughconfig.env:config: env: NVIDIA_API_KEYS: 'nvapi-first,nvapi-second' NVIDIA_ROTATION_BACKOFF: '2'Timeouts. A call may try several keys with a 2 s backoff between attempts, on top of the server's own 120 s HTTP timeout — the plugin mounts with a 300 s budget.
thinkingModeis silently ignored unless the model id containsminimax, which is the server's own rule.
How it is mounted
index.js resolves a Python interpreter (the configured python, then
python3/python on PATH), hands the server its argv and working directory,
and mounts it as a stdio MCP server through @deepseek-ai/dsh-mcp-client with
failOnStartupError: true, so a server that cannot start is a visible error
rather than a silently missing tool.
Credentials are forwarded explicitly. The harness scrubs credential-shaped
variables (KEY, TOKEN, SECRET, PASSWORD) out of the environment a child
process inherits, so config.apiKey — falling back to the variable the server
documents — is written into the child's environment by the plugin itself. That
means both of these work:
config:
apiKey: '<your key>'export NVIDIA_API_KEY='<your key>' # picked up at load timeDevelopment
No build step and no runtime dependencies — @deepseek-ai/cordis and
@deepseek-ai/dsh-mcp-client are peers supplied by the Harness.
npm test # node >= 22: manifest checks + the stdio mount, both Harness-freeThe mount test loads index.js with @deepseek-ai/dsh-mcp-client stubbed and
asserts the exact stdio configuration the plugin produces, including the
credential forwarding above.
Repository layout
Path | Purpose |
| the DSH plugin: resolves the interpreter and mounts the server |
| the loader row that activates the plugin |
| card title and description for the plugin lists |
| card artwork |
|
|
| the MCP server, unchanged |
| the Python package metadata, unchanged |
Other hosts (unchanged)
The server is a plain stdio MCP server and still works anywhere else. The
repository's original README is kept verbatim as
README.opencode.md, and the launch stanza from it keeps
working:
{
"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}"
}
}
}
}On another host, run the server from the repository's src directory (or put
src on PYTHONPATH).
License
MIT — the repository declared MIT in pyproject.toml but shipped no licence file; this plugin's release adds one.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for OpenAI API (chat completions, image generation, embeddings) via AceDataCloud
Focused MCP server for OpenAI image/audio generation (v2.0.0). Wraps endpoints via HAPI CLI.
MCP server for Qwen Image 3 AI image generation
MCP server for MiniMax H3 multimodal video generation
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA versatile MCP server that adds vision capabilities (image analysis, OCR, image/video generation) to AI models lacking native vision, with support for multiple providers and automatic task routing.1-
- AlicenseNot gradedqualityCmaintenanceMCP 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
- AlicenseAqualityAmaintenanceMCP 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.107 npmMIT
- AlicenseAqualityCmaintenanceMCP server that provides visual question answering, image description, object detection, OCR, and image manipulation tools using OpenAI-compatible vision models.12118 npmGPL 2.0