vision-mcp-server
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., "@vision-mcp-serverextract text from 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.
Vision MCP Server
A Model Context Protocol (MCP) server that exposes 7 vision tools — general image analysis, UI→code, OCR, error diagnosis, diagram understanding, data-viz analysis, and UI diff — on top of any Anthropic-Messages-compatible vision model.
It works with Claude Code and any other MCP-compatible client. You point it at your own model API (base URL + API key + model id) and get a set of ready-to-use vision capabilities.
Install it with one prompt
Copy this to your AI agent (Claude, etc.) — replace the values with your own:
Install this MCP https://github.com/spock-wen/vision-mcp-server
Configure with:
API_KEY: your-api-key
API_BASE_URL: your-model-api-url
MODEL_ID: multimodal model id, e.g. kimi-k2.6
Also set up the slash commandsAI Agent Quick Config
For AI agents (Claude, etc.): When a user asks you to install this MCP server, follow the steps below. Only
API_KEYis strictly required;API_BASE_URLandMODEL_IDhave built-in defaults but should be set to the user's provider. The server appends/v1/messagestoAPI_BASE_URLautomatically.
Step 1 — Configure MCP server
Add to ~/.claude.json → mcpServers:
{
"mcpServers": {
"vision-mcp-server": {
"command": "npx",
"args": ["-y", "@spock-wen/vision-mcp-server"],
"env": {
"API_KEY": "<REQUIRED: user's model API key>",
"API_BASE_URL": "<model API base URL, server appends /v1/messages>",
"MODEL_ID": "<vision model id>"
}
}
}
}Or via CLI:
claude mcp add vision-mcp-server -e API_KEY=<key> -e API_BASE_URL=<url> -e MODEL_ID=<model> -- npx -y @spock-wen/vision-mcp-serverStep 2 — Install slash commands
Slash commands let the user explicitly trigger a specific tool. Run this in the project root directory to download them:
mkdir -p .claude/commands
curl -sL https://raw.githubusercontent.com/spock-wen/vision-mcp-server/main/commands/vision-analyze.md -o .claude/commands/vision-analyze.md
curl -sL https://raw.githubusercontent.com/spock-wen/vision-mcp-server/main/commands/vision-ui2code.md -o .claude/commands/vision-ui2code.md
curl -sL https://raw.githubusercontent.com/spock-wen/vision-mcp-server/main/commands/vision-err.md -o .claude/commands/vision-err.md
curl -sL https://raw.githubusercontent.com/spock-wen/vision-mcp-server/main/commands/vision-diagram.md -o .claude/commands/vision-diagram.md
curl -sL https://raw.githubusercontent.com/spock-wen/vision-mcp-server/main/commands/vision-dataviz.md -o .claude/commands/vision-dataviz.md
curl -sL https://raw.githubusercontent.com/spock-wen/vision-mcp-server/main/commands/vision-ocr.md -o .claude/commands/vision-ocr.md
curl -sL https://raw.githubusercontent.com/spock-wen/vision-mcp-server/main/commands/vision-diff.md -o .claude/commands/vision-diff.mdIf the repo is cloned locally (e.g.
command: "node", args: ["build/index.js"]), copy or symlink thecommands/folder to.claude/commands/instead.
Command | Tool called |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Provider examples
Provider |
|
|
iFLYTEK (讯飞) MaaS |
|
|
Moonshot (Kimi) | (verify with your provider) |
|
OpenRouter | (verify with your provider) | (depends on your plan) |
Any Anthropic-compatible |
|
|
The model API must accept
POST /v1/messageswith base64 images in the Anthropic Messagessourceformat. The key is sent asx-api-keyheader.
Related MCP server: Arachne MCP Server
Tools
Tool | What it does | Key params | Resolution cap |
| Answer a free-form question about an image |
| 2048 |
| Turn a UI screenshot into code / prompt / design-spec / description |
| 2048 |
| Diagnose an error screenshot, locate cause, suggest fix |
| 2048 |
| Structured reading of a technical diagram |
| 2048 |
| Analyze a chart — trends / anomalies / summary |
| 2048 |
| High-accuracy OCR, preserves layout & structure |
| 4096 |
| Compare two screenshots, list visual diffs by severity | two images + | 1536×2 |
Each tool accepts an image as a local path (preferred — image bytes stay out of your conversation context) or base64. Supported formats: PNG, JPEG, GIF, WebP, BMP. All images are re-encoded to JPEG Q80 before sending to the model.
Other setup options
Remote HTTP mode (self-host, multi-device)
git clone https://github.com/spock-wen/vision-mcp-server.git
cd vision-mcp-server
npm install && npm run build
API_KEY=your-key API_BASE_URL=https://your-endpoint MODEL_ID=your-model npm startListens on PORT (default 3000). Endpoints: POST /mcp (MCP), GET /health.
claude mcp add -s user vision-mcp-server --transport http http://localhost:3000/mcpDocker:
cat > .env << 'EOF'
API_KEY=your-key
API_BASE_URL=https://your-endpoint
MODEL_ID=your-model
EOF
docker compose up -dVerify installation
HTTP mode:
curl http://localhost:3000/health
# → {"status":"ok","keys":{"total":1,"available":1,"cooldown":0},"concurrency":{"current":0,"max":100}}Stdio mode:
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"0.1.0"}}}' | API_KEY=test npx -y @spock-wen/vision-mcp-serverPrerequisites
Node.js >= 20 (check with
node -v)npm (ships with Node 20+)
Works on Linux, macOS, and Windows
Configuration
All config is via environment variables. Three are about your model — the rest are tuning knobs with sensible defaults.
Required
Variable | Description |
| Your model API key (single). Must be set. |
Model connection
Variable | Default | Description |
| (none) | Comma-separated keys for multi-key rotation. Merged with |
|
| Model API base URL (the server appends |
|
| Model id sent in the request body. |
|
| Set |
Tuning
Variable | Default | Description |
|
| HTTP port (HTTP mode only). |
|
| Global max concurrent requests. |
|
| Per-key max concurrent requests. |
|
| Max retries per request. |
|
| Base delay (ms) for exponential backoff between retries. |
|
| Maximum backoff delay (ms) between retries. |
|
| Cooldown for failed keys (401/403/429). |
|
| Max input image file size. |
|
| Standard-mode resolution cap. |
|
| OCR-mode resolution cap. |
|
| Diff-mode resolution cap (per image). |
|
| Timeout per model API request (ms). |
|
| pino log level. |
Troubleshooting
Error | Cause | Fix |
| All API keys in cooldown or at concurrency limit | Wait for cooldown, add more keys via |
| Image format not supported | Use PNG, JPEG, GIF, WebP, or BMP |
| Image exceeds size limit | Reduce image size or increase |
HTTP 413 | Request body exceeds 50MB | Reduce image size (HTTP mode only) |
TLS connection errors | Self-signed certificate on model endpoint | Set |
| Missing | Install: |
|
| Ensure Node.js >= 20; this was fixed in v1.0.1 (shebang) |
Security
API keys are sent as
x-api-keyheader to the model endpoint. Protect your config files (e.g.chmod 600 ~/.claude.json).HTTP endpoint has no authentication. Anyone who can reach
POST /mcpcan use your API keys. Use a reverse proxy or firewall in production.REJECT_UNAUTHORIZED=0disables TLS verification process-wide, not just for model requests. Only use on trusted intranets.Body size limit: 50MB hard cap on HTTP request body prevents memory exhaustion.
Logging: API keys are redacted from pino log output.
Development
npm test # unit tests (node:test over src/**/*.test.ts)
npm run test:e2e # e2e tests (real API, requires .env)
npm run typecheck # tsc --noEmit
npm run dev # tsx watch src/index.ts (HTTP mode)E2E tests require a .env file (copy from .env.example and fill in API_KEY).
Tech: TypeScript (ESM/NodeNext), @modelcontextprotocol/sdk, zod, sharp, pino. No external test framework — built-in node:test.
License
MIT
This server cannot be installed
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
- AlicenseAqualityBmaintenanceMCP server for vision AI — screenshots to code, OCR, error diagnosis, and image analysis via OpenAI-compatible APIs.Last updated82MIT
- AlicenseAqualityCmaintenanceMCP server providing tools for web scraping, browser automation, computer vision, audio transcription, and RAG via API.Last updated9MIT
- Alicense-qualityCmaintenanceMulti-model MCP server enabling code generation, visual analysis, and complex reasoning via Qwen3 models.Last updatedMIT
- FlicenseAqualityBmaintenanceOpenAI-compatible vision MCP server with 14 provider presets that enables MCP clients to analyze images, including screenshots, text, and UI mockups, via a single analyze_image tool.Last updated2
Related MCP Connectors
AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.
A paid remote MCP for AI agent browser DevTools MCP, built to return verdicts, receipts, usage logs,
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
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/spock-wen/vision-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server