MCP server for MIMO multimodal understanding (image, video, audio)
MIMO Multimodal MCP
基于小米 MIMO 多模态模型的 MCP 服务器,支持图片、视频和音频理解。
功能
| 工具 | 功能 | 支持格式 |
|------|------|----------|
| understand_image | 图片理解、OCR、描述 | jpg, png, webp, gif, bmp |
| understand_video | 视频理解、内容分析 | mp4, mov, avi, wmv |
| understand_audio | 音频理解、转录、翻译 | mp3, wav, flac, m4a, ogg |
安装
方式一:PyPI(推荐)
{
"mcpServers": {
"mimo-multimodal": {
"command": "uvx",
"args": ["--refresh", "mimo-multimodal-mcp"],
"env": {
"MIMO_API_KEY": "你的 API Key",
"MIMO_API_BASE": "https://api.xiaomimimo.com/v1",
"MIMO_MODEL": "mimo-v2.5"
}
}
}
}
方式二:本地源码
git clone https://github.com/bigcandylover/mimo-multimodal-mcp.git
cd mimo-multimodal-mcp
uv sync
{
"mcpServers": {
"mimo-multimodal": {
"command": "uv",
"args": ["--directory", "<项目路径>", "run", "mimo-multimodal-mcp"],
"env": {
"MIMO_API_KEY": "你的 API Key",
"MIMO_API_BASE": "https://api.xiaomimimo.com/v1",
"MIMO_MODEL": "mimo-v2.5"
}
}
}
}
使用示例
图片理解
"帮我看看 E:/test/screenshot.png 里有什么"
"提取这张图片中的文字:https://example.com/image.png"
视频理解
"描述一下这个视频的内容:E:/test/video.mp4"
"总结这个视频的要点:https://example.com/video.mp4"
音频理解
"转录这段音频:E:/test/audio.mp3"
"翻译这个音频文件的内容:https://example.com/audio.wav"
配置说明
| 环境变量 | 说明 |
|----------|------|
| MIMO_API_KEY | MIMO API Key |
| MIMO_API_BASE | API 地址,如 https://api.xiaomimimo.com/v1 |
| MIMO_MODEL | 模型名称,如 mimo-v2.5 |
视频参数
| 参数 | 默认值 | 说明 |
|------|--------|------|
| fps | 2.0 | 每秒抽帧数,范围 [0.1, 10],越高越精细但 Token 消耗越多 |
| media_resolution | "default" | 单帧分辨率,"default" 或 "max"(更高细节) |
测试结果
测试环境
- 操作系统:Windows 11
- Claude Code 版本:最新
- MIMO 模型:mimo-v2.5
测试项目
| 功能 | 测试内容 | 结果 | Token 消耗 | |------|----------|------|------------| | 图片理解 | 截图内容识别 | ✅ 成功 | ~1000-3000 | | 视频理解 | 4分49秒演讲视频 | ✅ 成功 | ~150万 | | 音频转录 | 4分49秒演讲音频 | ✅ 成功 | ~1800 |
测试详情
视频理解测试
- 测试文件:4分49秒 MP4 视频(720x406,24fps)
- 识别结果:成功识别出室内演讲场景、PPT内容("Robots are Coming to the Kitchen")、演讲者动作等
- 注意事项:长视频 Token 消耗较高,建议调整 fps 参数
音频转录测试
- 测试文件:4分49秒 MP3 音频(3MB)
- 转录结果:完整转录了关于 AI 厨房与烹饪文化的演讲内容
- 注意事项:视频文件需先提取音频(使用 FFmpeg),再调用音频工具
已知问题与解决方案
问题 1:Thinking 模式导致空响应
现象:MIMO mimo-v2.5 默认开启深度思考模式,导致 content 字段为空
解决方案:在 API 请求中添加 "thinking": {"type": "disabled"}
问题 2:视频文件不能直接作为音频处理
现象:尝试用音频工具处理 MP4 文件会失败 解决方案:先用 FFmpeg 提取音频,再调用音频工具
ffmpeg -i input.mp4 -vn -acodec libmp3lame output.mp3
问题 3:Claude Code 不知道何时使用 MCP 工具
现象:Claude Code 尝试用 Read 工具读取图片/视频文件 解决方案:在 CLAUDE.md 中添加使用指南
Token 消耗参考
| 媒体类型 | 时长/大小 | 预估 Token | |----------|-----------|------------| | 图片 | 普通截图 | 1,000 - 3,000 | | 图片 | 高清照片 | 3,000 - 8,000 | | 视频 | 1分钟(fps=2) | ~30万 | | 视频 | 5分钟(fps=2) | ~150万 | | 音频 | 1分钟 | ~375 | | 音频 | 5分钟 | ~1,875 |
建议:
- 长视频调低 fps(如 0.5)可减少 75% Token 消耗
- 只需概览时使用
media_resolution="default" - 需要细节识别时使用
media_resolution="max"
致谢
本项目基于 Mriestac/mimo-image-recognition-mcp 扩展开发。
原作者:Mriestac 原始仓库:https://github.com/Mriestac/mimo-image-recognition-mcp
改进内容
在原始项目基础上,我们进行了以下改进:
-
新增视频理解功能 (
understand_video)- 支持 MP4、MOV、AVI、WMV 格式
- 支持 fps 和 media_resolution 参数调节
-
新增音频理解功能 (
understand_audio)- 支持 MP3、WAV、FLAC、M4A、OGG 格式
- 支持多文件处理
-
修复 Thinking 模式问题
- 添加
"thinking": {"type": "disabled"}确保正确返回内容
- 添加
-
完善文档
- 添加测试结果和 Token 消耗参考
- 添加已知问题和解决方案
感谢 Mriestac 提供的优秀基础代码!
License
MIT