openai-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., "@openai-vision-mcp-serverAnalyze the image at https://example.com/cat.jpg and describe what you see."
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.
openai-vision-mcp-server
GitHub Repository: https://github.com/ygq-future/openai-vision-mcp-server
A Model Context Protocol (MCP) stdio server for bounded, high-precision image analysis using OpenAI Chat Completions-compatible Vision APIs (e.g. OpenAI gpt-4o, Qwen VL, DeepSeek Vision, Local vLLM/Ollama, etc.).
✨ Features
Multi-Source Image Inputs: Analyze images directly from
file://local paths,http:///https://URLs, orbase64raw data payloads.Smart Adaptive Tiling & Overview Pipeline: Automatically generates overview thumbnails and ordered overlapping detail tiles for high-resolution images, preserving visual detail without hitting token limits.
Universal OpenAI Compatibility: Works with any API endpoint following the standard OpenAI
/chat/completionsvision protocol.Configurable Security & Resource Bounds:
Optional SSRF protection for public-network-only deployments (
VISION_ALLOW_PRIVATE_NETWORK=false).Optional local file root restrictions (
VISION_ALLOWED_FILE_ROOTS).Configurable ceilings for file size, decoded pixel count, HTTP timeouts, and max redirects.
Clean Stdio Transport: Keeps
stdoutstrictly isolated for standard MCP JSON-RPC protocol messages while outputting diagnostics tostderrwithout leaking credentials or payloads.
Local-file and private-network access are permissive by default for local MCP convenience. SetVISION_ALLOWED_FILE_ROOTS to explicit roots and VISION_ALLOW_PRIVATE_NETWORK to false when the MCP client or
analyzed prompts are not fully trusted.
Related MCP server: mcp-vision-server
🚀 Quick Start
You can run openai-vision-mcp-server without manual installation using npx or bunx.
MCP Client Integration Examples
Add the server to your preferred MCP client's configuration file (e.g., Claude Desktop, Cursor, Windsurf, VS Code / Antigravity):
Standard claude_desktop_config.json / mcp.json:
{
"mcpServers": {
"vision": {
"command": "npx",
"args": ["-y", "openai-vision-mcp-server"],
"env": {
"VISION_BASE_URL": "https://api.openai.com/v1",
"VISION_API_KEY": "your-api-key-here",
"VISION_MODEL": "gpt-4o"
}
}
}
}⚙️ Environment Variables & Configuration
Configuration is passed entirely through environment variables defined in the MCP server configuration:
Environment Variable | Type | Required | Default | Description |
| String | Yes | — | Base URL of the OpenAI-compatible API (e.g., |
| String | Yes | — | API key for authentication. |
| String | Yes | — | Vision model name exposed by the configured OpenAI-compatible endpoint (e.g., |
| Integer | No |
| Default hard ceiling for detail tiles (1 to 64). |
| String | No |
| Optional delimiter-separated path whitelist for |
| Boolean | No |
| Set to |
| Integer | No |
| Max raw image download size in bytes (default: 20MB). |
| Integer | No |
| Max allowed total decoded image pixels (default: 100MP). |
| Integer | No |
| HTTP request timeout in milliseconds (30s). |
| Integer | No |
| Maximum HTTP redirect count. |
| Integer | No |
| Max concurrent tile processing calls (default 1 to prevent 429 rate limits). |
🛠 Available Tools
analyze_images
Analyzes single or multiple images using configured Vision models and produces structured analysis reports.
Input Schema
Property | Type | Description |
|
| The query or instruction for the vision analysis. |
|
| List of image objects to analyze (1 to 10). |
|
| Tiling strategy ( |
|
| Override hard ceiling for detail tiles for this call (1 to 64). |
ImageSource Types
File Source:
{ "type": "file", "uri": "file:///path/to/image.png", "label": "optional label" }URL Source:
{ "type": "url", "url": "https://example.com/photo.jpg", "label": "optional label" }Base64 Source:
{ "type": "base64", "data": "<base64_string>", "mediaType": "image/png", "label": "optional label" }
Results, warnings, and errors
A successful result includes complete. When complete is false, the answer may still contain useful evidence, but
every warnings[] entry explains the missing coverage with these machine-readable fields:
{
"code": "TILE_BUDGET_EXCEEDED",
"message": "Detail coverage requires 16 tiles, but this call allows 10.",
"retryable": false,
"userActionRequired": true,
"nextAction": "Continue with the partial result, disclose the missing coverage, and increase maxTiles only if the user requests complete analysis.",
"details": { "requiredTiles": 16, "allowedTiles": 10 }
}A failed Tool call returns isError: true, the same guidance as readable text, and
structuredContent.error containing code, message, retryable, userActionRequired, nextAction, and optional
safe details. The calling AI should follow nextAction: permanent input/configuration/protocol failures explicitly
say not to retry, while transient network, timeout, rate-limit, and server failures allow one bounded caller retry. If
the same transient failure repeats, stop and notify the user instead of looping.
Errors never include credentials, authorization headers, Base64/image bytes, upstream response bodies, complete local paths or URLs, stack traces, or full prompts.
💻 Local Development
This project uses Bun for fast testing and compilation.
# Install dependencies
bun install
# Run unit and integration tests
bun test
# Run code check (format, lint, typecheck, test, build)
bun run check
# Build output files
bun run build📄 License
MIT License © 2026 ygq-future
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
- AlicenseAqualityDmaintenanceProvides advanced image analysis capabilities including object recognition, OCR text extraction, and multi-turn visual dialogues using OpenAI-compatible APIs. It supports both local files and Base64 inputs with additional features for session persistence and web-based configuration management.3MIT
- 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.2
- AlicenseNot gradedqualityCmaintenanceMCP server for analyzing images using multiple vision LLM providers (OpenCode, OpenAI, Anthropic, Google, and custom OpenAI-compatible endpoints). Provides tools to analyze single or multiple images, list providers, and test vision capabilities.MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server for image recognition and OCR via OpenAI-compatible vision APIs, supporting local files, URLs, and data URLs. Enables natural language image description and text extraction.3192MIT
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
MCP server for Google Veo AI video generation
Multimodal video analysis MCP — transcription, vision, and OCR for any video URL.
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/ygq-future/openai-vision-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server