vision-mcp-ms
Allows analyzing images via OpenAI-compatible vision APIs, enabling text-based models to 'see' images by sending image URLs or base64 data and receiving textual descriptions.
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-msDescribe this image: https://example.com/photo.jpg"
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-ms
云端视觉 MCP 服务:通过 OpenAI 兼容接口(默认硅基流动 SiliconFlow)分析图片, 为 DeepSeek 这类纯文本大模型提供「看图」能力。
单一工具
analyze_image(image, prompt)支持 HTTP(S) 图片 URL 和 base64 data URL
多模型按顺序自动 fallback(限流 / 超时 / 5xx 时切下一个)
纯 API 调用、不依赖本地环境,可部署到魔搭 MCP 广场云端托管
环境变量
变量 | 必填 | 默认值 | 说明 |
| 是* | - | API Key(也兼容 |
| 否 |
| OpenAI 兼容接口地址 |
| 否 |
| 逗号分隔的有序模型列表,靠前的优先 |
| 否 |
| 单次模型请求超时(毫秒) |
* 部署时在魔搭 / MCP 客户端的 env 里配置。
Related MCP server: vision-mcp
本地使用(stdio)
在 MCP 客户端(Cherry Studio 桌面版等)里添加:
{
"mcpServers": {
"vision-mcp-ms": {
"command": "uvx",
"args": ["vision-mcp-ms"],
"env": {
"OPENAI_API_KEY": "sk-你的硅基流动Key",
"OPENAI_BASE_URL": "https://api.siliconflow.cn/v1",
"VISION_MODELS": "Qwen/Qwen2.5-VL-7B-Instruct,Qwen/Qwen2.5-VL-72B-Instruct"
}
}
}
}本地 stdio 模式下,
image参数也支持本地文件绝对路径(如D:\Pictures\a.png)。 云端托管模式下仅支持 URL / data URL(服务端读不到你的本地文件)。
开发 / 测试
uv sync # 建环境
uv run python -m vision_mcp # 以 stdio 模式启动
uv run python -c "from vision_mcp.server import _to_data_url; print(_to_data_url('https://httpbin.org/image/jpeg')[:40])"发布到 PyPI
cd vision-mcp-ms
uv run python -m build
uv run twine upload dist/*.whl部署到魔搭 MCP 广场(云端托管)
把代码推到 GitHub 仓库(或发布到 PyPI 后)。
打开 https://www.modelscope.cn/mcp/servers/create?template=customize
托管类型选「可托管部署」,来源选你的 GitHub 仓库 / PyPI 包。
配置
command/args(如uvx/vision-mcp-ms),在 env 里填OPENAI_API_KEY、OPENAI_BASE_URL、VISION_MODELS。创建后魔搭会自动部署,得到一个 HTTP 地址,填入手机 MCP 客户端即可。
Available Tools
1 toolanalyze_imageA
分析一张图片,返回视觉模型给出的文字结果。
image 可以是:HTTP/HTTPS 图片 URL、base64 data URL(data:image/...)。 按 VISION_MODELS 配置的顺序调用模型,遇限流/超时/5xx 自动切换到下一个。
| Name | Required | Description | Default |
|---|---|---|---|
| image | Yes | ||
| prompt | No | 请描述这张图片的内容。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It discloses the model-fallback mechanism, accepted input formats, and that the output is text from a vision model. It does not mention authentication, rate limits, or response details, but the output schema covers return structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences effectively communicate purpose and key behavioral details. No redundant words; every sentence contributes value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so return values are covered externally. The description handles image format and error fallback, the core complexities. The missing prompt explanation is a notable gap but does not severely undermine overall completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain parameters. It explains the image parameter's accepted formats (URL or base64). However, the prompt parameter is not mentioned at all, and its behavior beyond a default value is undocumented. The description adds partial value but fails to fully compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: analyze an image and return text results from a vision model. It specifies the resource (image) and the action (analyze), making the purpose unambiguous even without sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context on acceptable image formats (HTTP/HTTPS URLs and base64 data URLs) and explains fallback behavior on rate limits/timeouts/5xx. However, it does not explicitly state when not to use this tool or list alternatives, though no siblings exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
With only a single tool, there is no possibility of confusion between tools. Analyze_image is the sole operation, so selection is trivially unambiguous.
The tool name follows a clear verb_noun pattern (analyze_image). With only one tool, consistency is inherent and the name accurately describes the operation.
The server is named vision-mcp-ms, implying a broader vision scope, yet it exposes only one tool. This feels too few for the apparent domain, as typical vision MCPs offer multiple operations (e.g., OCR, object detection, image generation).
The analyze_image tool covers the core need of image analysis and returns text, but there are minor gaps such as no support for batch processing, no explicit model selection, or output format options. These are workarounds but leave the surface slightly incomplete.
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 Connectors
MCP server for Qwen Image 3 AI image generation
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
MCP server for AI dialogue using various LLM models via AceDataCloud
Related MCP Servers
- AlicenseBqualityCmaintenanceA lightweight MCP server for image analysis using any OpenAI-compatible API endpoint, enabling AI agents to analyze images via a single tool.123MIT
- AlicenseAqualityBmaintenanceMCP server that provides an analyze_image tool using OpenAI-compatible vision LLMs to describe images from file paths, URLs, or base64 data.1191MIT
- 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 gradedqualityCmaintenanceEnables text-only models to understand images through a conversational MCP server, supporting multi-turn follow-ups, URL inputs, and OpenAI-compatible vision APIs.1MIT
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/gyl1111/vision-mcp-ms'
If you have feedback or need assistance with the MCP directory API, please join our Discord server