zhipu-vision
Provides integration with Xiaomi's multimodal vision models (mimo) for image recognition and analysis, enabling AI agents to analyze images via the analyze_image tool.
Click on "Deploy 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., "@zhipu-vision识别这张图片中的文字"
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.
zhipu-vision-mcp
基于 Model Context Protocol (MCP) 的多服务商视觉模型服务器。通过单个工具 analyze_image 识别/理解图片,内置自动故障转移:某个模型限流/失败时自动切换下一个候选。默认走智谱免费模型,可配置 kimi / mimo / qwen / gemini / gpt 等多家的收费多模态模型作为兜底或手动指定。任何支持 MCP 的客户端(Reasonix、Claude Desktop、Cursor、VS Code 等)都可以直接注册使用。
同时随仓库附带一个 Reasonix skill(skills/image-analyze/),让 agent 用自然语言即可触发图片识别/OCR。
✨ 特性
🔁 多模型自动故障转移:按优先级依次尝试候选模型,429(限流)/404(模型不存在)/5xx/网络错误/空回答自动切换下一个;401 则跳过该 provider 的全部候选。智谱免费模型限流时自动切收费兜底(默认 mimo)
💰 收费模型可配置:内置 kimi / mimo / openai(gpt) / qwen / gemini / siliconflow 六家收费多模态模型,配好 key 即可追加到候选链自动参与兜底,或调用时用
model参数临时指定;未配 key 自动跳过,不会产生任何费用🖼️ 三种图片输入:本地文件绝对路径、http(s) URL、base64 data URI(
data:image/...;base64,...)🧩 零框架依赖:仅依赖
@modelcontextprotocol/sdk,Node ≥ 20.6 即可运行🔐 密钥安全:API key 只从环境变量 /
.env读取,代码零硬编码🧠 Reasonix skill 配套:
image-analyzeskill 把"识别这张图片""图片 OCR"等自然语言指令直接路由到analyze_image
默认候选链(按优先级):
glm-4.6v-flash → glm-4.1v-thinking-flash → glm-4v-flash → mimo:mimo-v2.5 → mimo:mimo-v2-omni
glm-4.6v-flash/glm-4.1v-thinking-flash/glm-4v-flash为智谱免费视觉模型;mimo-v2.5/mimo-v2-omni为小米 mimo 多模态模型(需MIMO_API_KEY),作为收费兜底:智谱免费模型 429 限流/失败时自动切换。
Related MCP server: mcp-vision-server
🧰 收费模型可配置(kimi / mimo / qwen / gemini / gpt 等)
除默认的智谱免费模型与 mimo 兜底外,还内置了以下 OpenAI 兼容服务商,按需启用,不产生任何费用直到你配置 key 并把它加入候选链(或显式指定):
provider | 服务商 | base URL(可用 | key 环境变量 | 示例视觉模型 |
| 小米 mimo(默认兜底) |
|
|
|
| 月之暗面 Moonshot |
|
|
|
| OpenAI GPT |
|
|
|
| 阿里百炼 |
|
|
|
| Google Gemini |
|
|
|
| 硅基流动(开源模型聚合) |
|
|
|
两种启用方式:
追加到候选链(自动参与故障转移):把条目加到
VISION_MODEL_CHAIN末尾,如VISION_MODEL_CHAIN=glm-4.6v-flash,glm-4.1v-thinking-flash,glm-4v-flash,kimi:kimi-k3,mimo:mimo-v2.5,qwen:qwen-vl-max,gemini:gemini-2.5-flash,openai:gpt-4o(条目格式provider:model,未配 key 的条目会自动跳过)。调用时临时指定(不参与自动切换):
analyze_image的model参数传provider:model,如model=kimi:kimi-k3。
想再加其他家(阶跃星辰 stepfun、火山豆包、百度千帆等):在 src/index.ts 的 PROVIDERS 加一个条目 + 两个环境变量即可,均为 OpenAI 兼容 chat/completions。
🔧 工具
工具 | 说明 |
| 识别/分析一张图片,返回模型的文字回答(限流/失败自动切换下一个候选模型) |
analyze_image 参数
参数 | 必填 | 说明 |
| ✅ | 图片输入,支持三种形式:本地文件绝对路径(如 |
| ❌ | 对图片的提问,如"这张图里有什么""识别图片中的文字"。默认:请描述这张图片 |
| ❌ | 手动指定模型(可选)。格式 |
返回的 structuredContent 包含 model 字段(实际使用的 provider/model,便于确认是否发生了切换)。
支持图片格式:png / jpg / jpeg / gif / webp / bmp / svg / ico。
⚙️ 故障转移机制
按
VISION_MODEL_CHAIN优先级依次尝试;成功即返回。429(限流)/ 404(模型不存在)/ 5xx(服务端错误)/ 网络错误 / 空回答 → 自动切换下一个候选。
401(key 无效) → 跳过该 provider 的全部候选(key 无效换模型也没用),继续尝试其他 provider。
其他 4xx(如 400 图片/内容问题) → 不切换,直接返回错误。
全部候选失败 → 返回聚合错误,列出每个候选的失败原因,便于排查。
📦 快速开始
环境要求
Node.js ≥ 20.6(自带全局
fetch与--env-file,无需额外 HTTP/环境变量依赖)一个或多个视觉模型 API key(智谱必选;小米 mimo 可选)
安装与运行
git clone <你的仓库地址>
cd zhipu-vision-mcp
npm install # 安装依赖
cp .env.example .env # 复制环境变量模板
# 编辑 .env,填入 ZHIPU_API_KEY(及可选的 MIMO_API_KEY)
npm run build # 编译 TypeScript → dist/
npm start # 启动(node --env-file=.env dist/index.js)冒烟测试
node make-test-png.mjs # 生成 64x64 红色测试图 test-red.png
node test-client.mjs # 以 MCP client 连接 server,依次用 本地路径/base64/URL 调用 analyze_image🌐 环境变量
变量 | 必填 | 默认值 | 说明 |
| ✅ | — | 智谱 API key(open.bigmodel.cn 控制台获取) |
| ❌ | 见下 | 逗号分隔的候选模型链,按优先级自动故障转移。条目格式 |
| ❌ |
| 兼容旧配置: |
| ❌ |
| 智谱 API base URL,一般无需修改 |
| ⚠️ | — | 小米 mimo API key,默认链的收费兜底(候选链用到 |
| ❌ |
| 小米 mimo OpenAI 兼容端点 base URL |
| ❌ | — | 月之暗面 kimi API key(可选收费候选, |
| ❌ |
| 月之暗面 OpenAI 兼容端点 base URL |
| ❌ | — | OpenAI GPT API key(可选收费候选, |
| ❌ |
| OpenAI 兼容端点 base URL |
| ❌ | — | 阿里百炼 qwen API key(可选收费候选, |
| ❌ |
| 阿里百炼 OpenAI 兼容端点 base URL(新版百炼空间可覆盖为 maas 端点) |
| ❌ | — | Google Gemini API key(可选收费候选, |
| ❌ |
| Google OpenAI 兼容端点 base URL |
| ❌ | — | 硅基流动 API key(可选收费候选, |
| ❌ |
| 硅基流动 OpenAI 兼容端点 base URL |
| ❌ |
| 单次请求超时毫秒 |
默认候选链(未设置 VISION_MODEL_CHAIN 时):
glm-4.6v-flash,glm-4.1v-thinking-flash,glm-4v-flash,mimo:mimo-v2.5,mimo:mimo-v2-omni🧩 作为 Reasonix 插件包安装(推荐)
本仓库是标准的 Reasonix 插件包:根目录含 reasonix-plugin.json,安装后自动带上 image-analyze 技能(/zhipu-vision:image-analyze)与 zhipu-vision MCP server(analyze_image 工具)。
桌面端
打开 Reasonix 设置 → 插件 → 安装区选择 Git 仓库
填写
git:github.com/SoLongAdios/zhipu-vision-mcp(或https://github.com/SoLongAdios/zhipu-vision-mcp)点 预检 查看安装计划 → 安装插件
在插件目录(Windows 为
%AppData%\reasonix\plugins\zhipu-vision\)执行:npm install && npm run build # 安装 MCP SDK 依赖并构建 dist/将插件目录下的
.env.example复制为.env,填入你的ZHIPU_API_KEY(及可选的MIMO_API_KEY)新开会话生效:直接描述"识别这张图片"(skill 自动匹配),或输入
/zhipu-vision:image-analyze查看用法
CLI
reasonix plugin install git:github.com/SoLongAdios/zhipu-vision-mcp --yes
# 安装后同样需要:cd <插件目录> && npm install && npm run build,并配置 .env插件安装不会执行第三方安装脚本,因此需要手动构建一次(
npm install && npm run build)并配置.env。安装后 MCP 工具自动进入工具流程,限流时自动切换候选模型(见「故障转移机制」)。
🔌 在 MCP 客户端中注册
方式一:本地安装(clone 后)
将仓库 clone 到本地(下文以 <PROJECT_DIR> 表示项目绝对路径),确保已 npm install && npm run build,然后在任意 MCP 客户端注册 stdio server:
{
"mcpServers": {
"zhipu-vision": {
"command": "node",
"args": [
"--env-file=<PROJECT_DIR>/.env",
"<PROJECT_DIR>/dist/index.js"
]
}
}
}仓库内提供了可直接修改使用的模板
.mcp.json.example(把<PROJECT_DIR>替换为你的项目绝对路径即可)。
--env-file与env可二选一;env中注入的变量优先级高于.env文件:
{
"mcpServers": {
"zhipu-vision": {
"command": "node",
"args": ["<PROJECT_DIR>/dist/index.js"],
"env": {
"ZHIPU_API_KEY": "你的智谱 API key",
"MIMO_API_KEY": "你的小米 mimo API key(可选)"
}
}
}
}方式二:Reasonix(install_source)
在 Reasonix 中可直接通过 install_source 安装:
install_source(source="<本地项目路径 或 本仓库 URL>", kind="mcp", transport="stdio",
command="node", args=["--env-file=<PROJECT_DIR>/.env", "<PROJECT_DIR>/dist/index.js"])方式三:其他客户端
Claude Desktop(
claude_desktop_config.json):
{
"mcpServers": {
"lm-studio-vision": {
"command": "node",
"args": ["<PROJECT_DIR>/dist/index.js"],
"env": { "ZHIPU_API_KEY": "你的智谱 API key" }
}
}
}Cursor / Windsurf:Settings → MCP → Add,Name
zhipu-vision,Typecommand,Command:node <PROJECT_DIR>/dist/index.js(key 通过环境变量提供)。VS Code(
%APPDATA%\Code\User\mcp.json):
{
"servers": {
"zhipu-vision": {
"type": "stdio",
"command": "node",
"args": ["<PROJECT_DIR>/dist/index.js"],
"env": { "ZHIPU_API_KEY": "你的智谱 API key" }
}
}
}🧠 配套 skill:image-analyze(Reasonix)
skills/image-analyze/SKILL.md 是一个 Reasonix skill:当用户要求识别/理解/分析图片("识别这张图片""图片里有什么""看图回答""提取/识别图片中的文字(OCR)")时,自动调用 analyze_image 工具。
安装 skill
方式 A(推荐,install_source):
install_source(source="<仓库 URL 或本地路径>/skills/image-analyze", kind="skill")方式 B(手动):把
skills/image-analyze/目录(含SKILL.md)复制到 Reasonix 的 skills 目录(如<workspace>/.reasonix/skills/或全局 skills 目录),重启后生效。
使用示例
装好 zhipu-vision MCP server + image-analyze skill 后,直接对 agent 说:
识别这张图片
C:/Users/xx/screenshot.png里有什么
提取这张图里的文字:
https://example.com/photo.jpg
agent 会自动调用 analyze_image(image=..., question=...) 并返回模型回答。
skill 参数速查
image(必填):本地绝对路径 / http(s) URL / base64 data URIquestion(可选):对图片的提问,默认"请描述这张图片"model(可选):手动指定provider:model,指定后不自动切换
skill 常见错误处理
429(限流):免费模型高峰期受限,已自动尝试下一个候选(含 mimo 等收费兜底);全部失败则提示稍后重试,可建议改用
model参数临时指定其他收费模型(如kimi:kimi-k3/qwen:qwen-vl-max)。401:对应 provider 的 API key 无效,检查
ZHIPU_API_KEY/MIMO_API_KEY。404:
VISION_MODEL_CHAIN中模型名拼写有误。本地图片读取失败:确认传绝对路径且扩展名受支持。
📁 项目结构
zhipu-vision-mcp/
├── src/index.ts # MCP server 源码(analyze_image、多 provider 故障转移)
├── dist/ # 构建产物(npm run build 生成,不入库)
├── skills/image-analyze/ # Reasonix 配套 skill(SKILL.md)
├── .env.example # 环境变量模板(复制为 .env 并填入 key)
├── .mcp.json.example # MCP 注册配置模板(<PROJECT_DIR> 替换为项目绝对路径)
├── check-models.mjs # 查询 API key 可用模型列表(只读,不产生费用)
├── make-test-png.mjs # 生成测试图 test-red.png
├── test-client.mjs # 冒烟测试:本地路径 / base64 / URL 三种输入
└── verify-local.mjs # 单请求验证(本地文件路径)🛡️ 安全说明
API key 只放在
.env(已在.gitignore中,严禁提交);也可通过 MCP 客户端的env注入。仓库内所有代码均从环境变量读取密钥,零硬编码;发布版不含任何真实凭据。
请勿将
.env、dist/、node_modules/提交到版本库(.gitignore已覆盖)。若误提交过密钥,请立即到对应平台控制台吊销并重新生成 key,并清理 git 历史。
❓ 常见问题
429 该模型当前访问量过大:免费模型(
glm-4.6v-flash等)高峰期会限流。已实现自动故障转移,429 会自动尝试下一个候选模型(默认含 mimo 收费兜底);若全部候选都失败,说明各服务商当前均受限,稍后重试即可,或追加其他收费模型(kimi/qwen/gemini/gpt)到VISION_MODEL_CHAIN。401:对应 provider 的 API key 无效(
ZHIPU_API_KEY或MIMO_API_KEY),请检查 key 是否复制完整。404 模型不存在:模型名拼写有误,请核对
VISION_MODEL_CHAIN/ZHIPU_MODEL。本地图片读取失败:确认传的是绝对路径,且扩展名受支持。
📄 License
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for building and testing AI agents with multi-model experimentation and insights.
Connect MCP clients to 2,000+ AI models without managing provider API keys.
An MCP memory server. One memory your agents share — across models, devices and apps.
MCP server for Qwen Image 3 AI image generation
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA versatile MCP server that adds vision capabilities (image analysis, OCR, image/video generation) to AI models lacking native vision, with support for multiple providers and automatic task routing.1-
- 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
- FlicenseAqualityCmaintenanceThis MCP server enables image analysis through a single tool that supports multiple vision models and API providers, with automatic failover and persistent state management.2-