Skip to main content
Glama

zhipu-vision-mcp

M8ven Verified

M8ven Score

基于 Model Context Protocol (MCP)多服务商视觉模型服务器。通过单个工具 analyze_image 识别/理解图片,内置自动故障转移:某个模型限流/失败时自动切换下一个候选。默认走智谱免费模型,可配置 kimi / mimo / qwen / gemini / gpt 等多家的收费多模态模型作为兜底或手动指定。任何支持 MCP 的客户端(Reasonix、Claude Desktop、Cursor、VS Code 等)都可以直接注册使用。

同时随仓库附带一个 Reasonix skillskills/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-analyze skill 把"识别这张图片""图片 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(可用 *_BASE_URL 覆盖)

key 环境变量

示例视觉模型

mimo

小米 mimo(默认兜底)

https://api.xiaomimimo.com/v1

MIMO_API_KEY

mimo-v2.5 / mimo-v2-omni

kimi

月之暗面 Moonshot

https://api.moonshot.cn/v1

KIMI_API_KEY

kimi-k3 / kimi-k2.6

openai

OpenAI GPT

https://api.openai.com/v1

OPENAI_API_KEY

gpt-4o / gpt-4o-mini

qwen

阿里百炼

https://dashscope.aliyuncs.com/compatible-mode/v1

QWEN_API_KEY

qwen-vl-max / qwen3.8-max

gemini

Google Gemini

https://generativelanguage.googleapis.com/v1beta/openai

GEMINI_API_KEY

gemini-2.5-flash

siliconflow

硅基流动(开源模型聚合)

https://api.siliconflow.cn/v1

SILICONFLOW_API_KEY

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

两种启用方式:

  1. 追加到候选链(自动参与故障转移):把条目加到 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 的条目会自动跳过)。

  2. 调用时临时指定(不参与自动切换)analyze_imagemodel 参数传 provider:model,如 model=kimi:kimi-k3

想再加其他家(阶跃星辰 stepfun、火山豆包、百度千帆等):在 src/index.tsPROVIDERS 加一个条目 + 两个环境变量即可,均为 OpenAI 兼容 chat/completions

🔧 工具

工具

说明

analyze_image

识别/分析一张图片,返回模型的文字回答(限流/失败自动切换下一个候选模型)

analyze_image 参数

参数

必填

说明

image

图片输入,支持三种形式:本地文件绝对路径(如 C:/Users/xx/a.png)、http(s) 图片 URL、base64 data URI(data:image/...;base64,...

question

对图片的提问,如"这张图里有什么""识别图片中的文字"。默认:请描述这张图片

model

手动指定模型(可选)。格式 provider:model,如 glm-4.1v-thinking-flash(缺省 provider=zhipu)、mimo:mimo-v2.5kimi:kimi-k3qwen:qwen-vl-maxgemini:gemini-2.5-flashopenai:gpt-4o。指定后不自动切换,直接使用该模型

返回的 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

🌐 环境变量

变量

必填

默认值

说明

ZHIPU_API_KEY

智谱 API key(open.bigmodel.cn 控制台获取)

VISION_MODEL_CHAIN

见下

逗号分隔的候选模型链,按优先级自动故障转移。条目格式 provider:model,provider 缺省为 zhipu。默认链为智谱免费模型 + mimo 收费兜底;追加其他收费模型(kimi/qwen/gemini/gpt 等)即自动参与故障转移,未配 key 的条目自动跳过。未设置时退化为 ZHIPU_MODEL

ZHIPU_MODEL

glm-4.6v-flash

兼容旧配置:VISION_MODEL_CHAIN 未设置时的默认模型

ZHIPU_BASE_URL

https://open.bigmodel.cn/api/paas/v4

智谱 API base URL,一般无需修改

MIMO_API_KEY

⚠️

小米 mimo API key,默认链的收费兜底(候选链用到 mimo: 前缀模型时需要)

MIMO_BASE_URL

https://api.xiaomimimo.com/v1

小米 mimo OpenAI 兼容端点 base URL

KIMI_API_KEY

月之暗面 kimi API key(可选收费候选,platform.moonshot.cn 获取;配好后追加到 VISION_MODEL_CHAINmodel 参数指定)

KIMI_BASE_URL

https://api.moonshot.cn/v1

月之暗面 OpenAI 兼容端点 base URL

OPENAI_API_KEY

OpenAI GPT API key(可选收费候选,platform.openai.com 获取)

OPENAI_BASE_URL

https://api.openai.com/v1

OpenAI 兼容端点 base URL

QWEN_API_KEY

阿里百炼 qwen API key(可选收费候选,bailian.console.aliyun.com 获取)

QWEN_BASE_URL

https://dashscope.aliyuncs.com/compatible-mode/v1

阿里百炼 OpenAI 兼容端点 base URL(新版百炼空间可覆盖为 maas 端点)

GEMINI_API_KEY

Google Gemini API key(可选收费候选,aistudio.google.com 获取)

GEMINI_BASE_URL

https://generativelanguage.googleapis.com/v1beta/openai

Google OpenAI 兼容端点 base URL

SILICONFLOW_API_KEY

硅基流动 API key(可选收费候选,cloud.siliconflow.cn 获取,开源视觉模型聚合)

SILICONFLOW_BASE_URL

https://api.siliconflow.cn/v1

硅基流动 OpenAI 兼容端点 base URL

VISION_TIMEOUT_MS

60000

单次请求超时毫秒

默认候选链(未设置 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 工具)。

桌面端

  1. 打开 Reasonix 设置 → 插件 → 安装区选择 Git 仓库

  2. 填写 git:github.com/SoLongAdios/zhipu-vision-mcp(或 https://github.com/SoLongAdios/zhipu-vision-mcp

  3. 预检 查看安装计划 → 安装插件

  4. 在插件目录(Windows 为 %AppData%\reasonix\plugins\zhipu-vision\)执行:

    npm install && npm run build   # 安装 MCP SDK 依赖并构建 dist/
  5. 将插件目录下的 .env.example 复制为 .env,填入你的 ZHIPU_API_KEY(及可选的 MIMO_API_KEY

  6. 新开会话生效:直接描述"识别这张图片"(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-fileenv 可二选一;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 Desktopclaude_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,Type command,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 URI

  • question(可选):对图片的提问,默认"请描述这张图片"

  • model(可选):手动指定 provider:model,指定后不自动切换

skill 常见错误处理

  • 429(限流):免费模型高峰期受限,已自动尝试下一个候选(含 mimo 等收费兜底);全部失败则提示稍后重试,可建议改用 model 参数临时指定其他收费模型(如 kimi:kimi-k3 / qwen:qwen-vl-max)。

  • 401:对应 provider 的 API key 无效,检查 ZHIPU_API_KEY / MIMO_API_KEY

  • 404VISION_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 注入。

  • 仓库内所有代码均从环境变量读取密钥,零硬编码;发布版不含任何真实凭据。

  • 请勿将 .envdist/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_KEYMIMO_API_KEY),请检查 key 是否复制完整。

  • 404 模型不存在:模型名拼写有误,请核对 VISION_MODEL_CHAIN / ZHIPU_MODEL

  • 本地图片读取失败:确认传的是绝对路径,且扩展名受支持。

📄 License

MIT

Maintenance

ActivityMaintained
ResponsivenessNo issues

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/SoLongAdios/zhipu-vision-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server