agent-vision-mcp
An MCP server that gives non-vision LLMs the ability to "see" images. Plug in any OpenAI-compatible vision API (Gemini, Qwen-VL, OpenAI, or self-hosted) and your text-only model — like DeepSeek in Claude Code — can analyze screenshots, OCR text, read charts, and more.
Install / Use
claude mcp add kitlau86 -- npx -y github:kitlau86/agent-vision-mcpIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AI & Machine LearningSupported Platforms
Our assessment of agent-vision-mcp
agent-vision-mcp scores 78/100 on our quality scale, 783rd of 944 AI & Machine Learning skills we index.
Its MCP Server is 7.2 KB long, well organised into 34 sections with 10 code examples: a thorough specification that gives an agent plenty to work with.
It has 10 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated about 5 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
- Our last check on 2026-09-25 found the source still online.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 95/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
agent-vision-mcp compared with similar skills
All 4 of these similar skills score higher than agent-vision-mcp; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| agent-vision-mcp (this skill)by kitlau86 | 78 | 10 | 5mo ago | MCP Server |
| claude-memby thedotmack | 100 | 114.4k | today | CLAUDE.md |
| taste-skillby Leonxlnx | 100 | 111.6k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 110.0k | 1d ago | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 91.2k | today | CLAUDE.md |
Frequently asked questions
- How do I install agent-vision-mcp?
- Run
claude mcp add kitlau86 -- npx -y github:kitlau86/agent-vision-mcp. The install tabs above show the steps for each supported agent. - Which AI agents does agent-vision-mcp work with?
- It is written for Claude Code, Claude Desktop and Gemini CLI, as a MCP Server file. Other agents that read the same format can often use it too.
- Is agent-vision-mcp safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is MIT-licensed and scores 95/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is agent-vision-mcp still maintained?
- The repository was last updated about 5 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
Skill content
View source on GitHubagent-vision-mcp
<div align="center">English | 中文
</div>🖼️ An MCP server that gives non-vision AI models the ability to analyze images
What is this?
Many users connect coding assistants like Claude Code to text-only models such as DeepSeek v4 that have no vision capability. As a result, when you send an image in a conversation, the main model can't understand its content.
agent-vision-mcp solves this: it's an MCP (Model Context Protocol) server that lets you configure any OpenAI-compatible vision API (e.g. Gemini Flash, Alibaba Qwen-VL, OpenAI, or your own self-hosted vision model). When the main model encounters an image, it automatically calls this tool to get a text analysis of the image.
In short: give your text model eyes.
How it works
You: Please analyze the error in this screenshot [uploads screenshot.png]
↓
Claude Code (DeepSeek v4) sees an image but can't understand it
↓
Claude Code calls the MCP tool: analyze_image(image="screenshot.png", prompt="Read the error in the screenshot")
↓
agent-vision-mcp sends the image to your configured vision API (e.g. Gemini Flash)
↓
The vision model returns: "The screenshot shows terminal output with a TypeError: Cannot read property 'map' of undefined error at src/app.ts line 42..."
↓
Claude Code receives the text description and replies: "Your code has a TypeError at src/app.ts:42..."
Quick start
1. Install
npm install -g @kitlau/agent-vision-mcp
2. Prepare a vision API
You need an OpenAI-compatible vision API. Here are some common options:
| Provider | Cost | Configuration |
|----------|------|---------------|
| Gemini Flash | Cheap (free tier available) | Get an API key, use the OpenAI-compatible endpoint |
| Alibaba Qwen-VL | Pay-as-you-go | Get an API key from the DashScope platform |
| OpenAI | More expensive | Use https://api.openai.com/v1 directly |
| Self-hosted vLLM/LiteLLM | Depends on hardware | Runs locally, no external cost |
3. Configure the MCP client
Transport: stdio — This MCP server runs as a child process and communicates with the client via standard input/output (stdin/stdout) using JSON-RPC.
Add the following to your Claude Code / Claude Desktop MCP configuration:
{
"mcpServers": {
"agent-vision": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@kitlau/agent-vision-mcp"],
"env": {
"VISION_API_KEY": "your-api-key",
"VISION_BASE_URL": "https://api.openai.com/v1",
"VISION_MODEL_NAME": "gpt-4o"
}
}
}
}
4. Use it
Once configured, just send an image in the conversation. The main model will automatically call the analyze_image tool to analyze it.
Configuration reference
Environment variables
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| VISION_API_KEY | ✅ Yes | - | The vision API key |
| VISION_BASE_URL | No | https://api.openai.com/v1 | OpenAI-compatible API endpoint |
| VISION_MODEL_NAME | No | gpt-4o | Model name |
| VISION_MAX_TOKENS | No | 1024 | Max output tokens |
| VISION_MAX_IMAGE_SIZE | No | 20971520 (20MB) | Max image size in bytes |
| VISION_CACHE_ENABLED | No | false | Enable caching (avoid re-analyzing the same image) |
| VISION_CACHE_DIR | No | System temp dir | Directory for cache files |
Per-provider configuration examples
OpenAI
{
"env": {
"VISION_API_KEY": "sk-proj-...",
"VISION_BASE_URL": "https://api.openai.com/v1",
"VISION_MODEL_NAME": "gpt-4o"
}
}
Gemini (via OpenAI-compatible layer)
{
"env": {
"VISION_API_KEY": "AIza...",
"VISION_BASE_URL": "https://generativelanguage.googleapis.com/v1beta/openai",
"VISION_MODEL_NAME": "gemini-2.0-flash"
}
}
Alibaba Qwen-VL (DashScope)
{
"env": {
"VISION_API_KEY": "sk-...",
"VISION_BASE_URL": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"VISION_MODEL_NAME": "qwen-vl-max"
}
}
Self-hosted vLLM
{
"env": {
"VISION_API_KEY": "not-needed",
"VISION_BASE_URL": "http://localhost:8000/v1",
"VISION_MODEL_NAME": "Qwen2-VL-7B-Instruct"
}
}
Self-hosted LiteLLM (aggregating proxy)
{
"env": {
"VISION_API_KEY": "sk-y…[redacted]",
"VISION_BASE_URL": "http://localhost:4000/v1",
"VISION_MODEL_NAME": "gemini-2.0-flash"
}
}
Tip: LiteLLM is a great option — it converts various vision APIs into the OpenAI-compatible format, so you can use it to aggregate multiple providers.
Tool: analyze_image
Parameters
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| image | string | Yes | The image. Accepts: base64 data URL, HTTP/HTTPS link, local file path. Formats: JPEG, PNG, WebP, GIF, BMP |
| prompt | string | Yes | The analysis instruction. Tells the vision model what information you want |
prompt examples
"Describe everything in this image in detail""Extract all visible text in the image (OCR)""What UI elements and interactive components are in this design mockup?""Analyze the trends and key data points in this chart""Read the error message in this terminal output screenshot""What objects are in this photo, and how are they positioned relative to each other?"
Caching
When caching is enabled, the same image + prompt combination won't be re-sent to the vision API; the previously cached result is returned directly.
{
"env": {
"VISION_CACHE_ENABLED": "true",
"VISION_CACHE_DIR": "/tmp/my-vision-cache"
}
}
- Cache TTL: 1 hour
- Cache key:
SHA256(image data + "::" + prompt) - Storage: one JSON file per cache entry
Development
# Clone the project
git clone https://github.com/kitlau86/agent-vision-mcp.git
cd agent-vision-mcp
# Install dependencies
npm install
# Dev mode (run TypeScript directly with tsx)
npm run dev
# Build
npm run build
# Run the build output
npm start
Tech stack
- TypeScript (strict mode)
@modelcontextprotocol/sdkv1.x (MCP framework)openaiv4.x (OpenAI-compatible API client)zodv3.x (parameter validation)
Troubleshooting
Startup error "VISION_API_KEY 未设置"
Make sure the VISION_API_KEY environment variable is set in your MCP client configuration.
Tool call returns "API 密钥无效(401)"
Check that the API key is correct and has permission to access the specified model. Make sure there are no extra spaces or quotes in the key.
Tool call returns "API 端点或模型不存在(404)"
Check that VISION_BASE_URL and VISION_MODEL_NAME are correct. Note that VISION_BASE_URL usually ends with /v1.
Tool call returns "请求被限流(429)"
Free-tier APIs usually have rate limits. Wait a moment and retry, or consider enabling caching to reduce duplicate requests.
Returns "不支持的图片格式"
Currently JPEG, PNG, WebP, GIF, and BMP are supported. Convert the image to one of these formats and try again.
License
MIT
Related Skills
claude-mem
114.4kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
taste-skill
111.6kAgent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
Agent-Reach
110.0kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Understand-Anything
91.2kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
