image-understand-mcp
Enables pure text LLMs to understand images by acting as a proxy to vision models via OpenAI-compatible APIs. Supports local files, URLs, and base64 inputs for image analysis.
README
image-understand-mcp
让纯文本模型也拥有图片理解能力的 MCP 服务。
原理
纯文本大模型本身无法处理图片,但可以调用 MCP 工具。本服务作为一个 "视觉能力代理":
纯文本模型(Claude / GPT / 通义千问 等,无视觉能力)
│ 调用 MCP 工具 understand_image(image, prompt)
▼
image-understand-mcp(本服务)
│ 读取本地文件 / 下载 URL / 解析 base64 → data URI
│ 转发给你在配置中指定的视觉模型(OpenAI 兼容接口)
▼
视觉模型(GPT-4o / Qwen-VL / GLM-4V / Kimi-VL 等)
│ 返回图片的文字描述
▼
纯文本模型继续基于文字描述进行推理、回答
你只需要在 MCP 配置里填一个"看得懂图"的模型的 API 信息,任何纯文本模型 接入这个 MCP 后,就能通过调用工具"看图说话"。
功能
understand_image:分析一张图片,返回详细文字描述或针对指定问题的回答。image支持三种输入:本地文件路径、HTTP(S) URL、data URI / 裸 base64。prompt可选,自定义想让视觉模型回答的问题(如"提取图中所有文字")。provider可选,当配置了多个视觉模型时可指定使用哪一个。
list_vision_providers:列出当前配置的所有视觉模型及默认使用的模型。
安装
npm install
npm run build
配置
所有配置通过环境变量传入(在 MCP 客户端的 env 字段中设置)。
方式一:单个视觉模型(最简单)
{
"mcpServers": {
"image-understand": {
"command": "node",
"args": ["/path/to/image-understand-mcp/dist/index.js"],
"env": {
"VISION_BASE_URL": "https://api.openai.com/v1",
"VISION_API_KEY": "sk-xxxxxxxx",
"VISION_MODEL": "gpt-4o"
}
}
}
}
适用于任何 OpenAI 兼容协议的视觉模型服务,例如:
| 服务商 | VISION_BASE_URL 示例 | VISION_MODEL 示例 |
|---|---|---|
| OpenAI | https://api.openai.com/v1 |
gpt-4o |
| 阿里通义千问 | https://dashscope.aliyuncs.com/compatible-mode/v1 |
qwen-vl-plus |
| 智谱 AI | https://open.bigmodel.cn/api/paas/v4 |
glm-4v-flash |
| 月之暗面 Kimi | https://api.moonshot.cn/v1 |
moonshot-v1-8k-vision-preview |
| 硅基流动 SiliconFlow | https://api.siliconflow.cn/v1 |
Qwen/Qwen2-VL-72B-Instruct |
| 本地 Ollama | http://localhost:11434/v1 |
llava |
方式二:配置多个视觉模型,供调用方按需选择
{
"mcpServers": {
"image-understand": {
"command": "node",
"args": ["/path/to/image-understand-mcp/dist/index.js"],
"env": {
"VISION_PROVIDERS": "[{\"name\":\"gpt4o\",\"baseUrl\":\"https://api.openai.com/v1\",\"apiKey\":\"sk-xxx\",\"model\":\"gpt-4o\"},{\"name\":\"qwen-vl\",\"baseUrl\":\"https://dashscope.aliyuncs.com/compatible-mode/v1\",\"apiKey\":\"sk-yyy\",\"model\":\"qwen-vl-plus\"}]",
"VISION_DEFAULT_PROVIDER": "gpt4o"
}
}
}
}
配置后,纯文本模型调用 understand_image 时可传入 provider: "qwen-vl"
来指定使用哪个视觉模型;不指定则使用 VISION_DEFAULT_PROVIDER(缺省为
数组中的第一个)。
环境变量说明
| 变量 | 必填 | 说明 |
|---|---|---|
VISION_BASE_URL |
二选一 | 视觉模型 API 的 base URL(不含 /chat/completions) |
VISION_API_KEY |
二选一 | API Key |
VISION_MODEL |
二选一 | 模型名称 |
VISION_TIMEOUT_MS |
否 | 单次请求超时时间(毫秒),默认 60000 |
VISION_PROVIDERS |
二选一 | JSON 数组,配置多个 provider(见上方示例) |
VISION_DEFAULT_PROVIDER |
否 | 多 provider 时的默认 provider 名称 |
VISION_PROVIDERS 与 VISION_BASE_URL/VISION_API_KEY/VISION_MODEL 二选一;
若同时设置,优先使用 VISION_PROVIDERS。
本地开发
npm run dev # 用 tsx 直接运行 src/index.ts
npm run build # 编译到 dist/
npm run inspector # 用 MCP Inspector 交互式调试(需先 build)
node scripts/smoke-test.mjs # 端到端冒烟测试(mock 视觉模型 API,无需真实 API Key)
常见问题
Q: 图片必须是什么格式?
A: 支持常见格式(PNG/JPEG/WebP/GIF/BMP),本地路径按扩展名或文件头判断类型,
URL 优先用响应头 Content-Type。
Q: 报错 "未找到视觉模型配置"?
A: 检查是否正确设置了 VISION_BASE_URL/VISION_API_KEY/VISION_MODEL,
或 VISION_PROVIDERS。
Q: 视觉模型返回错误? A: 工具会把视觉模型 API 返回的 HTTP 状态码和错误信息透传给调用方模型, 便于定位是 Key 无效、模型名不对,还是配额不足。
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。