deepseek-vision-mcp
Adds image understanding to text-only coding agents via two tools: describe_image for detailed descriptions and describe_ui for structured UI reports.
README
deepseek-vision-mcp
Gives text-only coding agents — DeepSeek in Reasonix, Claude Code, Cursor, Claude Desktop, or any MCP client — the ability to look at images. It adds two tools:
describe_image(path, question)— sends the file to Gemini Flash and returns a detailed text description: transcribed text, layout, UI elements, error messages.describe_ui(path)— structured UI report for a screenshot of a user interface (app window, web page, game menu): ASCII layout wireframe, element inventory (label | role | approx x%,y% | size | state) with exact visible text, and short visual notes. Prefer this when you need layout, positions and states, not prose.
Install
1. Install uv (skip if you have it — check with uv --version):
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
2. Register the server, globally — Reasonix stores CLI-installed servers in its
user-level config.toml, so this covers every project:
reasonix mcp add vision -- uvx --from git+https://github.com/DIV7NE/deepseek-vision-mcp vision-mcp
Expect added MCP server "vision" — ready with 2 tools. See
Startup warnings if you also get WARN plugin: start auxiliary ….
For a single project instead, cd there first — a new terminal often starts in a system
folder you can't write to:
cd C:\path\to\your\project
uvx --from git+https://github.com/DIV7NE/deepseek-vision-mcp vision-mcp --install
That writes .mcp.json in the current folder, keeping any servers already listed. Pass a
path to target another client's config, creating it if needed:
uvx --from ... vision-mcp --install "$env:APPDATA\Claude\claude_desktop_config.json"
vision-mcp --global runs the Reasonix command for you when the reasonix CLI is on
PATH, and prints the equivalent for other clients when it isn't.
3. Set your API key. Get a free one at https://aistudio.google.com/apikey. The server
reads GEMINI_API_KEY from its environment, and your MCP client passes its environment
down to the servers it launches:
# Windows
setx GEMINI_API_KEY your-key-here
# macOS / Linux — add to ~/.zshrc or ~/.bashrc
export GEMINI_API_KEY=your-key-here
setx only affects processes started afterwards, so close the terminal and fully quit
your MCP client, then reopen both. Check it took with echo $env:GEMINI_API_KEY.
To let Reasonix hold the key instead of your user profile, re-add the server with it attached — Reasonix treats these values as credentials and keeps them out of the server's identity fingerprint:
reasonix mcp add vision --env GEMINI_API_KEY=your-key-here -- uvx --from git+https://github.com/DIV7NE/deepseek-vision-mcp vision-mcp
Usage
Ask your agent:
use describe_image on C:\path\to\screenshot.png and tell me what the error says
Pass a question to ask something specific rather than getting a general description.
For screenshots of an interface — app windows, web pages, game menus — ask for the structured report instead:
use describe_ui on C:\path\to\screenshot.png and tell me where the PLAY button is
describe_ui returns the layout wireframe, every element with its approximate
position and state (selected/hover/active), and exact visible text.
Agent skill
skills/describe-ui/SKILL.md is a drop-in agent skill for clients that support
them (Reasonix, Claude Code, Cursor). It tells the agent to prefer describe_ui
for screenshots of interfaces and falls back to the structured prompt through
describe_image when the running server is stale. Copy it into your client's
skill directory, or install it globally with the client's own skill installer
(Reasonix: install_skill with scope: global).
Uninstall
Remove the global install:
reasonix mcp remove vision
Remove it from one project — run in that folder, or pass a config path:
uvx --from git+https://github.com/DIV7NE/deepseek-vision-mcp vision-mcp --uninstall
Both leave every other server in place, and vision-mcp --uninstall --global runs the
Reasonix command for you. Global and project entries are separate, so remove both if you
installed both. Restart your client afterwards.
The downloaded package stays in uv's cache; uv cache clean clears it. The API key stays
in your environment until you remove it (setx GEMINI_API_KEY "" on Windows).
Troubleshooting
Startup warnings. WARN plugin: start auxiliary prompt client failed … context canceled and the matching resource line are harmless. Reasonix starts separate optional
clients to fetch a server's prompts and resources; this server offers neither, and the
short-lived CLI process cancels their context as it exits. The line that matters is
ready with 2 tools — a real failure would report zero.
PermissionError writing .mcp.json. You ran --install from a folder you can't
write to, usually C:\Windows\System32 where PowerShell starts. cd to your project
first, or pass a config path.
uvx not found on PATH. The MCP client (Reasonix, Claude Desktop) spawns
stdio servers with a fixed PATH that usually does not include uv's bin directory
(~/.local/bin after the astral installer), so command = "uvx" fails to launch
even though uvx works in your terminal. Fix: set command to the absolute path
(C:\Users\<you>\.local\bin\uvx.exe on Windows) or add that directory to the
server's PATH env in the client config. --install and the PowerShell installer
write the resolved absolute path automatically when uvx is on your shell PATH.
A global install seems ignored. Project config wins: a vision entry in a project's
.mcp.json or reasonix.toml overrides the global one. Delete the project entry.
Changes don't appear. Reasonix applies CLI config changes on the next session, so
restart it. Inside a running chat, /mcp add connects immediately instead.
404 mentioning the model. Set GEMINI_MODEL to a current model ID from
https://ai.google.dev/gemini-api/docs/models.
Manual config
If you prefer editing config yourself, this is the entry --install writes:
{
"mcpServers": {
"vision": {
"command": "uvx",
"args": ["--from", "git+https://github.com/DIV7NE/deepseek-vision-mcp", "vision-mcp"]
}
}
}
uvx needs git available on PATH to fetch the repo; no GitHub account is required.
The command field is the absolute uvx path when the installer could resolve one
(see uvx not found on PATH); edit it back to a bare
uvx only if your client's launch PATH includes uv's bin directory.
Notes
- The key is read from
GEMINI_API_KEYand never written into a config file. - The model defaults to
gemini-3.6-flash, current per Google's model docs; override with aGEMINI_MODELenv var. - The MCP SDK is pinned to
2.0.0, which renamedFastMCPtoMCPServer. An unpinned upgrade breaks the server. - Gemini's free tier is generous (about 10 requests a minute) but may use submitted data for training, so don't send screenshots containing secrets unless billing is enabled.
- Images must be PNG, JPEG, GIF, WebP or BMP, and under 15MB.
- The agent reasons over Gemini's description, not the pixels: reliable for text, errors, and layout, unreliable for pixel-level visual judgment.
install-vision-mcp.ps1does every step at once on Windows, including installing uv and prompting for the key.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。