There's an issue with the selected model (mimo-v2.5-pro). It may not exist or you may not have access to it.【已解决】
解决 Claude Code 接入 MIMO 模型后无法识别图片、音频、视频的问题
从模型限制到 MCP 开发,完整记录我的解决方案
问题背景
最近我在 Claude Code 中接入了小米的 MIMO 大模型,遇到了和 这位博主 类似的问题:
MIMO-v2.5-pro 无法识别多媒体文件。
当我尝试发送图片、音频或视频时,模型要么报错:
There's an issue with the selected model (mimo-v2.5-pro).
It may not exist or you may not have access to it.
要么直接忽略文件内容,只回复文本部分。这对于需要处理多媒体内容的场景来说,几乎是致命的。
问题排查
第一步:理清模型功能分类
在排查问题之前,必须先搞清楚一个关键概念:识别(输入) vs 生成(输出)。
小米的模型家族很庞大,但功能定位完全不同:
🔍 可以识别的模型(输入/理解)
| 模型 | 识别能力 |
|---|---|
| MiMo-V2.5-Pro | ✅ 文本理解、推理、代码(纯文本基座模型) |
| MiMo-V2.5 | ✅ 文本理解、推理(基础版本) |
| MiMo-V2-Pro | ✅ 文本理解、推理 |
| MiMo-V2-Omni | ✅ 全模态理解:文本、图像、视频、音频理解、音频-视觉联合推理 |
🔊 只能生成/合成,不能识别的模型(输出)
| 模型 | 功能说明 |
|---|---|
| MiMo-V2.5-TTS | ❌ 只能生成语音(文字→语音) |
| MiMo-V2.5-TTS-VoiceClone | ❌ 只能克隆语音音色(生成特定人声音) |
| MiMo-V2.5-TTS-VoiceDesign | ❌ 只能设计语音(创建虚拟音色) |
| MiMo-V2-TTS | ❌ 只能生成语音(上一代TTS) |
重要提醒:所有 TTS 模型(语音合成)都是单向输出的,只能把文字变成语音,不能反过来识别语音!
第二步:确认模型能力
查阅 MIMO 官方文档后,我整理了各模型的多媒体支持情况:
| 模型 | 图片 | 音频 | 视频 |
|---|---|---|---|
| mimo-v2.5-pro | ❌ | ❌ | ❌ |
| mimo-v2.5 | ✅ | ❌ | ❌ |
| mimo-v2-omni | ✅ | ✅ | ✅ |
真相大白:pro 版本虽然推理能力强,但根本不支持多媒体输入!
如果你需要"识别"功能:
| 需求场景 | 推荐模型 |
|---|---|
| 语音识别(语音→文字) | MiMo-V2.5-ASR(专门的语音识别模型) |
| 音频理解(环境声、音乐分析) | MiMo-V2-Omni |
| 图像/视频理解 | MiMo-V2-Omni |
| 纯文本理解/推理 | MiMo-V2.5-Pro 或 MiMo-V2-Pro |
第三步:尝试切换模型
按照网上的方案,我尝试用 ccswitch 切换到 mimo-v2.5 或 mimo-v2-omni:
ccswitch --model mimo-v2-omni
但问题来了:
- 上下文丢失:切换模型后,原来的对话历史全部清空
- 能力降级:omni 虽然支持多媒体,但推理能力不如 pro
- 频繁切换:想识图用 omni,想推理用 pro,来回切换体验极差
第四步:寻找更好的方案
我需要一种方式:
- 保持 pro 模型作为主对话模型(推理能力强)
- 需要识图/听音频/看视频时,临时调用支持多媒体的模型
- 不丢失对话上下文
这正是 MCP (Model Context Protocol) 的设计目标!
解决方案:开发 MIMO Media Recognition MCP
什么是 MCP?
MCP 是 Anthropic 推出的开放协议,让 AI 模型可以通过标准化接口调用外部工具。简单说,就是给 Claude 装上"手脚",让它能执行代码、查询数据库、识别图片...
我的 MCP 设计
我决定写一个 MCP Server,专门负责多媒体识别:
Claude Code (mimo-v2.5-pro)
↓ 发现需要识图/音频/视频
↓ 调用 MCP
MIMO Media Recognition MCP
↓ 调用 MIMO API (mimo-v2-omni)
↓ 返回识别结果
Claude Code 继续对话
核心优势:
- 主对话始终用 pro 模型,不中断上下文
- 多媒体识别交给 omni 模型,专业对口
- 一次配置,所有项目通用
功能实现
最终实现了三个核心工具:
1. understand_image - 图片识别
# 使用示例
understand_image(
prompt="描述这张图片里有什么",
image_path="/path/to/photo.jpg"
)
支持:JPEG、PNG、WebP、GIF、BMP
2. understand_audio - 音频识别
# 使用示例
understand_audio(
prompt="转录这段音频中的语音",
audio_path="/path/to/recording.mp3"
)
支持:MP3、WAV、M4A、OGG、FLAC、AAC
3. understand_video - 视频识别
# 使用示例
understand_video(
prompt="描述这个视频里发生了什么",
video_path="/path/to/video.mp4"
)
支持:MP4、MOV、AVI、MKV、WebM、FLV
技术亮点
- 统一抽象:图片、音频、视频共用一套底层逻辑
- 批量处理:支持一次传入多个文件
- 重试机制:网络抖动自动重试 3 次
- 灵活配置:文件大小、数量限制可通过环境变量调整
安装使用
快速开始
# 1. 克隆项目
git clone https://github.com/congxxx/mimo-media-recognition-mcp.git
cd mimo-media-recognition-mcp
# 2. 安装依赖
pip install uv
uv venv .venv
uv pip install -e .
# 3. 添加到 Claude Code(全局)
claude mcp add mimo-media \
--scope user \
--env MIMO_API_KEY="your-api-key" \
--env MIMO_API_BASE="https://token-plan-cn.xiaomimimo.com/v1" \
--env MIMO_MODEL="mimo-v2-omni" \
-- "F:\Learning\mimo-media-recognition-mcp\.venv\Scripts\python.exe" \
-m mimo_media_recognition_mcp.server
验证安装
claude mcp get mimo-media
# 应显示:Status: ✓ Connected
实际使用
安装完成后,直接在 Claude Code 对话中使用:
帮我分析这张截图里的错误信息:C:\Users\xxx\error.png
转录这段会议录音的关键内容:D:\recordings\meeting.mp3
这个视频讲了什么,值得看吗?E:\videos\tutorial.mp4
Claude 会自动识别需求,调用对应的 MCP 工具,然后把结果整合到回复中。
踩坑记录
坑 1:中文路径乱码
现象:配置完成后 MCP 启动失败,检查发现路径变成了乱码
原因:.claude.json 文件编码问题,中文路径被损坏
解决:将项目移到纯英文路径,如 F:\Learning\
坑 2:作用域冲突
现象:同时存在 user 和 local 两个作用域的配置,导致冲突
解决:删除 local 配置,只保留 user
claude mcp remove mimo-media -s local
坑 3:模型名称写错
现象:API 调用返回 404
解决:确认使用正确的模型名称 mimo-v2-omni,不是 mimo-v2.5-pro
效果对比
| 方案 | 上下文保留 | 推理能力 | 多媒体支持 | 使用体验 |
|---|---|---|---|---|
| 纯 pro 模型 | ✅ | ⭐⭐⭐ | ❌ | 无法识图 |
| 纯 omni 模型 | ✅ | ⭐⭐ | ✅ | 推理弱 |
| 频繁切换模型 | ❌ | ⭐⭐⭐ | ✅ | 极繁琐 |
| MCP 方案 | ✅ | ⭐⭐⭐ | ✅ | 最佳 |
项目地址
GitHub: https://github.com/congxxx/mimo-media-recognition-mcp
如果对你有帮助,欢迎 Star 🌟
总结
通过这次开发,我深刻体会到 MCP 的价值:
- 解耦能力:不同模型各司其职,发挥各自优势
- 无缝集成:用户无感知,对话流畅自然
- 可扩展性:未来可以轻松添加更多工具(如 OCR、翻译等)
对于需要频繁处理多媒体内容的开发者来说,这个 MCP 能显著提升工作效率。希望我的分享对你有帮助!
参考链接:

浙公网安备 33010602011771号