如何让 ClaudeCode 支持 web_search,并为纯文本模型补齐 understand_image?
MiniMax-Coding-Plan-MCP 让 Claude Code 一次性获得 web_search + understand_image 两个能力。
- 核心定位:专为 Coding Plan 用户设计的 MCP 服务器,2 个工具:网络搜索 + 视觉理解。
- 背景:纯文本模型(如 DeepSeek v4)原生不能看图,
understand_imageMCP 给纯文本客户端补齐视觉能力。 - web_search:调搜索引擎返回有机结果 + 关联查询,替代手动查资料。
- understand_image:用视觉语言模型分析图片(本地或 URL),支持 JPEG/PNG/WebP。
- 接入方式:一行
uvx起服务,Claude Desktop / Claude Code / Cursor 全家桶通用。 - 关键陷阱:API Key 和 Host 必须同区,否则直接报 invalid api key。
- 发布:2025-11-20 首发,MIT 协议,stdio / SSE 双传输。
它解决什么问题
Claude Code / Cursor 写代码时有两个高频空缺:看网页 和 看图片。
看网页 对所有 LLM 客户端都缺——任何模型都接不了实时搜索,需要 MCP 兜底。
看图片 要看客户端模型自己是不是多模态:
| 客户端模型 | 自己能否看图 | 需要 understand_image? |
|---|---|---|
| Claude 4 / GPT-4o / Gemini 2.x | ✅ 能 | ❌ 冗余 |
| DeepSeek v4 / 纯文本 Coding Plan | ❌ 不能 | ✅ 必要 |
DeepSeek v4 这类纯文本模型没办法直接读截图、UI 草图、报错图。传统做法是把图传到第三方 OCR 或识图服务,再把文字复制回来——很啰嗦。
MiniMax-Coding-Plan-MCP 的解法是把两件事压成两个 MCP 工具:
| Tool | 背后能力 | 输入 | 典型场景 |
|---|---|---|---|
web_search | 搜索引擎 | query 字符串 | 查最新 API 用法、查 issue 讨论 |
understand_image | 视觉语言模型(MiniMax-VL-01) | 本地路径 / URL | 读报错截图、识别 UI 草图 |
web_search 谁都用得上;understand_image 主要给纯文本 Coding Plan 用户补齐视觉能力。Claude 这种原生多模态客户端调它是绕一圈(把图给 VL-01 再拿回文字),不如直接读图。
多模态模型还需要 understand_image 吗?
不需要,是冗余的。
Claude 4 / GPT-4o / Gemini 这类客户端本身就是多模态——你把 /tmp/sf-error.png 直接拖进对话窗口,模型自己就能看。调 understand_image 等于绕一圈:客户端把图丢给 MCP → MCP 调 VL-01 → VL-01 看图返回文字 → 客户端拿到文字。中间多了一次远程 API 调用和一次"图像→文本"的转换,反而可能丢信息。
真正需要 understand_image 的是用纯文本模型的场景:
Claude Code 配 DeepSeek v4 / 纯文本 Coding Plan
↓ 客户端不能看图
↓ 调 understand_image(path="/tmp/sf-error.png")
↓ MCP 把图发给 MiniMax-VL-01
↓ 客户端拿到文字描述
判断标准很简单:看你配 Claude Code / Cursor 时用的模型是不是多模态。多模态就别装,纯文本才需要。
前置准备:三件缺一不可
-
API Key——MiniMax Coding Plan 订阅里拿。Key 本身有地区属性(Global / 国内),用错地区会直接报
invalid api key。 -
uvx——Astral 出品的 Python 包管理器。uvx自动管理临时虚拟环境,免去pip install+ venv 烦恼。安装一行:curl -LsSf https://astral.sh/uv/install.sh | sh -
API Host 与 Key 同区——这是最容易踩的坑:
地区 API Host Key 申请地址 Global https://api.minimax.ioplatform.minimax.io Mainland https://api.minimaxi.complatform.minimaxi.com Key 名前缀、申请后台的域名、API Host 三者必须一致。
在 Claude Code 里接入
在项目根或 ~/.claude/ 下创建 .mcp.json:
{
"mcpServers": {
"MiniMax": {
"command": "uvx",
"args": ["minimax-coding-plan-mcp", "-y"],
"env": {
"MINIMAX_API_KEY": "<REDACTED>",
"MINIMAX_API_HOST": "https://api.minimaxi.com"
}
}
}
}
如果你用 Claude Desktop(不是 Claude Code),配置写在 claude_desktop_config.json,结构一致。
启动 Claude Code 后输入 /mcp,看到 MiniMax connected 且工具列表里有 web_search 和 understand_image,就说明接通了。
用起来什么样
web_search:让 AI 自己查资料
帮我查一下 React 19 的 useFormStatus 最新 API 签名
Claude Code 会调 web_search(query="React 19 useFormStatus API"),拿到有机结果列表(标题 + 链接 + 摘要 + 关联查询),再基于真实结果给出答案。不再用训练数据里过时的 React 18 写法糊弄你。
understand_image:让 AI 看截图
把报错截图路径(或 URL)告诉它:
我截了一张 SegmentFault 的报错图,在 /tmp/sf-error.png,帮我分析原因
Claude Code 调 understand_image(image_path="/tmp/sf-error.png", prompt="分析这个报错的可能原因"),视觉模型读图后返回结构化描述,你再基于描述做修复。写移动端 / 前端 UI 排查时这个能力尤其有用。
支持三种格式:JPEG、PNG、WebP。本地路径和 URL 都行。
三个最常见的坑
1. Invalid API key 报错——九成是地区不匹配。看一眼 Key 是哪边的(申请后台域名判断),再核对 MINIMAX_API_HOST 是不是同区。
2. spawn uvx ENOENT——uvx 不在 PATH 里。Claude Desktop 这种 GUI 应用启动时不会继承 shell 的 PATH,需要把 uvx 的绝对路径填到 "command" 字段:
which uvx # 拿到路径,比如 /usr/local/bin/uvx
然后 "command": "/usr/local/bin/uvx"。
3. Python 版本冲突——uvx 默认会拉一个临时 Python 环境,和你本机装的版本可能不一致。如果 MCP 起来后行为诡异,先看 uvx 缓存目录里的 Python 版本是否 ≥ 3.10。
选 stdio 还是 SSE
| 维度 | stdio | SSE |
|---|---|---|
| 部署 | 本地 | 本地或云端 |
| 通信 | stdout | 网络 |
| 输入源 | 本地文件 / URL | 推荐 URL |
本地 Claude Code 用 stdio 就够。如果你要把 MCP 服务部署到远程(比如内网共享给团队),用 SSE 走网络。
References
- MiniMax-Coding-Plan-MCP GitHub —— MiniMax AI, 2025-11
- MCP 指南 · 网络搜索 MCP · MiniMax 开放平台文档
- MCP 协议规范
- Astral uv / uvx 安装文档
- MiniMax-VL-01 技术报告 —— MiniMax 01 系列含文本 / 视觉双模型