llm-vision-mcp
This server acts as a bridge, giving text-only agents vision by routing images to a multimodal model and returning text descriptions. The analyze_image tool accepts images from local files, URLs, base64 data URIs, clipboard, session-recent images, or raw bytes. It supports predefined tasks (describe, ocr, ui, layout, qa) or free-form prompts, with high/low detail control. Long outputs can be saved to a file, receiving a summary. Compatible with any MCP client (Claude Code, Codex, opencode, Kimi, Cursor, etc.) and configurable via environment variables for major vision providers (GPT-4o, Claude, Gemini, Qwen-VL) with secure API key handling. Optional SSRF guard blocks private URLs.
Integrates with Google Gemini vision models to analyze images, providing detailed descriptions, OCR, UI/layout understanding, and Q&A about visual content.
Integrates with OpenAI-compatible vision APIs to analyze images, providing detailed descriptions, OCR, UI/layout understanding, and Q&A about visual content.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@llm-vision-mcpDescribe the UI screenshot in my clipboard."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐๏ธ mcp-vision-bridge
Give your text-only coding agent eyes.
DeepSeek V4 Flash writes great code โ but it can't see the error dialog, the broken UI, or the screenshot you just pasted. This MCP server gives any text-only agent vision by routing images through a multimodal model of your choice.
Works with Claude Code ยท Codex ยท opencode ยท Kimi ยท PI ยท Cursor and any MCP client.
Why you need this
Your agent can't see. You paste a screenshot โ "I can't see images." You transcribe the error by hand. With this, the agent calls one tool and gets a complete text description โ verbatim text, layout, colors, anomalies โ and can debug, fix, and explain.
Not a vision model. It's a bridge: it sends your image to a multimodal model you already pay for (mimo, Claude, Gemini, GPT-4o, Qwen-VLโฆ) and returns a detailed description. No images ever enter your agent's context.
Related MCP server: vision-mcp
๐ Install (pick your agent โ that's the whole setup)
Claude Code (one command)
claude plugin marketplace add KuaaMU/agent-plugins
claude plugin install mcp-vision-bridgeThat's it โ the plugin bundles the MCP server + vision skill + auto-loop hook. Claude Code will prompt you for your vision endpoint, API key, and model once.
Prefer to manage it in cc-switch (see it + sync to Codex/opencode/Gemini)? Use the installer below instead.
Codex / opencode / Kimi / anything else (one command)
git clone https://github.com/KuaaMU/mcp-vision-bridge && cd mcp-vision-bridge
./install.sh # auto-detects your agent./install.sh claude | codex | opencode | kimi if it doesn't auto-detect. You'll be asked for three values: endpoint, key, model.
Manual (no install script)
Add this as a stdio MCP server in your agent:
{
"command": "npx",
"args": ["-y", "mcp-vision-bridge"],
"env": {
"VISION_OPENAI_BASE_URL": "https://your-endpoint/v1",
"VISION_OPENAI_API_KEY": "sk-your-key",
"VISION_MODEL": "your-vision-model"
}
}Requires Node.js โฅ 18.
๐ฏ Use
After install, restart your agent, then:
Paste an image (Ctrl+V in Claude Code / Cowork, or drag a file in)
Say "็็่ฟไธช" (or "analyze this", "what's the error?")
Your agent calls
analyze_imageโ the vision model describes it in detail
Paste 3 images? All 3 are captured (the hook reads your session transcript โ
lossless, multi-image โ no clipboard). The auto-loop hook (Claude Code) makes
"paste + ask" enough. Cowork and Codex save pasted images to files automatically;
image="recent" finds them. For other agents, give a file path.
The one tool
Agent docs โ README_AGENT.md (tool contract, source choice, error handling).
analyze_image(
image = "path | URL | clipboard | recent | session | data:URI",
task = "describe | ocr | ui | layout | qa", // or use prompt:
prompt = "What error is on screen?",
detail = "high" | "low",
save_to = "optional file for long output"
)imageโ local path, http(s) URL,"clipboard","recent"(auto-find the last pasted image across Claude Code / Cowork / Codex),"session", or a base64 data URItaskโ common jobs;ocrextracts text,uispecs a screen, etc.promptโ free-form question (overridestask)
Demo (mimo-v2.5)
analyze_image โ describe/ocr โ detailed text. The same tool works with any vision model.
OCR a screenshot โ every line reproduced verbatim, including the menu bar
ๆไปถ(F) ็ผ่พ(E) ๆ ผๅผ(O) ๆฅ็(V) ๅธฎๅฉ(H) and the whole body, in reading order.
Describe a diagram โ elements, spatial layout, colors, and any anomaly, enumerated.
Architecture
Three parts that close the loop for a text-only agent:
MCP tool (
analyze_image) โ the capability. Sends pixels to your vision model, returns text.Skill (
skills/vision/) โ the guidance. Tells the agent when and how to call it.Hook (
UserPromptSubmit) โ the automation. Captures a pasted image from the session transcript and triggers the call for you.
Install them all with the plugin (Claude Code) or install.sh (any agent).
How it works
Pure text in, pure text out. The server never interprets the image โ it fetches the bytes and lets your vision model do the seeing.
Configuration
All via environment variables (the MCP reads them from your agent's server config).
Variable | When | Example |
| OpenAI-compatible |
|
| OpenAI-compatible |
|
| always |
|
| non-openai |
|
| anthropic |
|
| gemini |
|
| optional |
|
| optional |
|
| optional |
|
Development
npm install
npm run build # tsc โ dist/
npm test # vitest
npm run test:e2e # stdio pipeline against a mock providerLayout: src/ (server), skills/vision/ (skill), hooks/ (auto-loop hook),
install.sh (installer), examples/ (per-agent templates).
Security
Keys live in env/config only โ never in tool arguments.
Optional SSRF guard for URL sources.
Images go only to your configured vision provider.
License
DeepSeek writes the code. mcp-vision-bridge reads the screen.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- AlicenseAqualityBmaintenanceGives vision-less LLMs the ability to recognize clipboard screenshots and images by proxying to an OpenAI-compatible vision model.Last updated1332MIT
- AlicenseAqualityBmaintenanceGives text-only coding agents the ability to 'see' images, videos, and screenshots by routing them to a vision model and returning structured text.Last updated837MIT
- FlicenseAqualityBmaintenanceGives any MCP client (OpenCode, Claude Code, Claude Desktop, Cursor, etc.) the ability to process images by automatically converting them to text descriptions using a vision model, so that text-only LLMs can handle image-based queries.Last updated2
- AlicenseAqualityAmaintenanceEnables text-only coding agents to analyze local images using a dedicated vision provider, returning markdown and structured JSON evidence for screenshots, diagrams, UI mockups, and error captures.Last updated111705MIT
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Generate images, GIFs, and PDFs from HTML, URLs, or templates โ from your AI agent.
Analyze images from multiple angles to extract detailed insights or quick summaries. Describe visuโฆ
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/KuaaMU/llm-vision-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server