visionMCP
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., "@visionMCPdescribe this image"
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.
visionMCP 👁️
The eyes of a bigger reasoning LLM.
visionMCP is a Model Context Protocol server that
gives any MCP-capable agent real vision. A text-only reasoning model can delegate
anything it cannot see to this server: describe a screenshot, answer a question about a
photo, OCR a document, or compare two images — the server does the seeing and hands back
text.
It works with all three major vision backends, chosen at runtime from a single
config.json:
Provider | API | Example models |
Ollama | OpenAI-compatible ( |
|
OpenAI | Chat Completions vision API |
|
Anthropic | Claude Messages vision API |
|
Features
🔍 Four vision tools for a reasoning LLM to call:
describe_image— full natural-language descriptionask_about_image— targeted Q&A about any imageextract_text— OCR / transcriptioncompare_images— side-by-side comparison
🖼️ Every source accepted: local file paths,
http(s)URLs, and base64data:URIs.📦 Zero image prep: oversized images are auto-downscaled and re-encoded as JPEG to fit provider payload limits.
🔌 Three transports:
stdio(default, for local MCP clients),http(Streamable HTTP for remote hosting), orsse(legacy Server-Sent Events).⚙️ One
config.jsoncontrols provider, API key, API URL, and model. Environment variables and CLI flags can override anything.🚀
uv-managed, installable, runnable, and hostable.
Related MCP server: depu-img-mcp
Quick start
1. Install
Requires uv and Python ≥ 3.10.
cd visionMCP
uv sync2. Configure
The shipped config.json already works with a local Ollama. Switch providers by
editing the file:
// config.json
{
"provider": "openai", // "ollama" | "openai" | "anthropic"
"api_key": "sk-...", // or leave "" and export OPENAI_API_KEY
"api_url": "", // "" = provider default
"model": "" // "" = provider default
}See docs/configuration.md for every option, and docs/providers.md for per-provider setup.
Security: keep real API keys out of git — copy
config.jsontoconfig.local.json(auto-ignored) or use environment variables. The server never logs your key.
3. Run
uv run vision-mcp # stdio transport (default)
uv run vision-mcp --transport http --host 0.0.0.0 --port 8100 # host remotely
uv run vision-mcp --show-config # print resolved config (key masked)Wiring into an MCP client
opencode (opencode.json)
{
"mcpServers": {
"visionMCP": {
"type": "stdio",
"command": "uv",
"args": ["run", "--directory", "/absolute/path/to/visionMCP", "vision-mcp"]
}
}
}Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"visionMCP": {
"command": "uv",
"args": ["run", "--directory", "/absolute/path/to/visionMCP", "vision-mcp"]
}
}
}Generic MCP client (stdio)
{
"mcpServers": {
"visionMCP": {
"command": "/path/to/visionMCP/.venv/bin/vision-mcp",
"args": ["--config", "/path/to/visionMCP/config.json"]
}
}
}The server never sends image content to the vision API beyond what the tool call provides. Image bytes are kept in memory and never written to disk.
Tools reference
Tool | Arguments | Returns |
|
| Full description in plain text |
|
| Focused answer |
|
| Transcribed / OCR'd text |
|
| Comparison in plain text |
| — | Provider, model, transport |
An image argument accepts any of:
/path/to/photo.png # local file
https://example.com/x.jpg # URL (downloaded at call time)
data:image/png;base64,iVBORw0KGgo... # base64 data URIHow it works
Everything funnels through one function in src/vision_mcp/pipeline.py:
image (path / URL / data URI) → base64 + mime → vision model → text
_read() _encode() API[provider] look()The server tools are thin wrappers: pipeline.look(cfg, [image], prompt).
Documentation
Configuration reference — every config option, env var, and precedence rules
Provider setup — Ollama, OpenAI, and Anthropic, step by step
Deployment — hosting over HTTP/SSE, Docker, hardening
Development
uv sync --group dev
uv run ruff check .
uv run pytestLicense
MIT
Maintenance
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
- AlicenseAqualityCmaintenanceGive MCP-compatible AI agents image analysis, metadata inspection, cropping, OCR, and image comparison through any OpenAI-compatible vision model.6MIT
- AlicenseAqualityBmaintenanceEnables text-only language models to understand images by forwarding image and prompt requests to vision model backends via MCP, returning descriptive text. Supports multiple OpenAI-compatible providers with task routing and safety checks.1MIT
- AlicenseAqualityBmaintenanceEnables non-multimodal models to see images by providing MCP tools for image understanding and OCR, backed by any OpenAI-compatible vision model.2MIT
- AlicenseAqualityBmaintenanceEnables any MCP client to perform image understanding and OCR via any OpenAI-compatible vision-language model. Supports local, private inference without images leaving the machine.256MIT
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Generate on-brand images from your AI agent: design, edit, and render templates over MCP.
Social media analytics, video analysis, and competitor intel for any MCP-compatible AI agent.
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/ThisUserIsRandom/visionMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server