Skip to main content
Glama

vision-mcp-ms

云端视觉 MCP 服务:通过 OpenAI 兼容接口(默认硅基流动 SiliconFlow)分析图片, 为 DeepSeek 这类纯文本大模型提供「看图」能力。

  • 单一工具 analyze_image(image, prompt)

  • 支持 HTTP(S) 图片 URL 和 base64 data URL

  • 多模型按顺序自动 fallback(限流 / 超时 / 5xx 时切下一个)

  • 纯 API 调用、不依赖本地环境,可部署到魔搭 MCP 广场云端托管

环境变量

变量

必填

默认值

说明

OPENAI_API_KEY

是*

-

API Key(也兼容 SILICONFLOW_API_KEY / API_KEY

OPENAI_BASE_URL

https://api.siliconflow.cn/v1

OpenAI 兼容接口地址

VISION_MODELS

Qwen/Qwen2.5-VL-7B-Instruct

逗号分隔的有序模型列表,靠前的优先

VISION_REQUEST_TIMEOUT_MS

60000

单次模型请求超时(毫秒)

* 部署时在魔搭 / 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 广场(云端托管)

  1. 把代码推到 GitHub 仓库(或发布到 PyPI 后)。

  2. 打开 https://www.modelscope.cn/mcp/servers/create?template=customize

  3. 托管类型选「可托管部署」,来源选你的 GitHub 仓库 / PyPI 包。

  4. 配置 command / args(如 uvx / vision-mcp-ms),在 env 里填 OPENAI_API_KEYOPENAI_BASE_URLVISION_MODELS

  5. 创建后魔搭会自动部署,得到一个 HTTP 地址,填入手机 MCP 客户端即可。

Available Tools

1 tool
analyze_imageA

分析一张图片,返回视觉模型给出的文字结果。

image 可以是:HTTP/HTTPS 图片 URL、base64 data URL(data:image/...)。 按 VISION_MODELS 配置的顺序调用模型,遇限流/超时/5xx 自动切换到下一个。

ParametersJSON Schema
NameRequiredDescriptionDefault
imageYes
promptNo请描述这张图片的内容。

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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

A4.1/5.0
Disambiguation5/5

With only a single tool, there is no possibility of confusion between tools. Analyze_image is the sole operation, so selection is trivially unambiguous.

Naming Consistency5/5

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.

Tool Count2/5

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).

Completeness4/5

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

ActivityMaintained
ResponsivenessSyncing

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

Related MCP Servers

Latest Blog Posts

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