MiMo Multimodal Understanding MCP Server
This server provides AI-powered multimodal understanding of images, audio, and video using the Xiaomi MiMo API. It exposes three tools:
Image Understanding (
understand_image): Analyze single or multiple images via URL, local path, or base64. Supports JPEG, PNG, GIF, WebP (up to 10MB). Configurable prompt, system prompt, and max output tokens.Audio Understanding (
understand_audio): Transcribe or analyze single or multiple audio files via URL or local path. Supports MP3, WAV, FLAC, M4A, OGG (URL: up to 100MB, Base64: up to 50MB). Configurable prompt, system prompt, and max output tokens.Video Understanding (
understand_video): Analyze single or multiple video files via URL or local path. Supports MP4, MOV, AVI, WMV (URL: up to 300MB, Base64: up to 50MB). Configurable frames-per-second (range: 0.1–10, default: 2), media resolution (defaultormax), system prompt, and max output tokens.
Provides tools for analyzing images, audio, and video using Xiaomi MiMo's multimodal understanding API, supporting multiple input formats and customization options like fps and resolution for video.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MiMo Multimodal Understanding MCP ServerWhat's in this image? https://example.com/photo.jpg"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MiMo Multimodal Understanding MCP Server
MCP server for Xiaomi MiMo multimodal understanding API (image, audio, video).
Features
Image Understanding: Single/multiple images, URL and local file support
Audio Understanding: Single/multiple audio, URL and local file support
Video Understanding: Single/multiple video, URL and local file support, configurable fps and resolution
Related MCP server: MiMo Free API MCP
Setup
1. Install dependencies
uv sync2. Configure API Key
Copy .env.example to .env and fill in your API key:
cp .env.example .envOr set environment variable directly:
export MIMO_API_KEY=your_api_key_hereGet your API key from: https://platform.xiaomimimo.com
3. (Optional) Configure API Base URL
The default API endpoint is determined by your API key prefix:
Key Prefix | Default Endpoint |
|
|
|
|
To use a different API endpoint:
export MIMO_API_BASE=https://your-custom-endpoint/v1Or add it to your .env file:
MIMO_API_BASE=https://your-custom-endpoint/v1Usage
Quick Start (with uvx)
export MIMO_API_KEY=your_api_key_here
uvx mimo-multimodal-mcpDevelopment mode (with MCP Inspector)
uv run mcp dev src/mimo_multimodal_mcp/server.pyInstall to Claude Desktop
uv run mcp install src/mimo_multimodal_mcp/server.pyDirect execution
uv run python src/mimo_multimodal_mcp/server.pyClaude Desktop Configuration
Add to ~/.config/claude/claude_desktop_config.json:
{
"mcpServers": {
"mimo-multimodal": {
"command": "uvx",
"args": ["mimo-multimodal-mcp"],
"env": {
"MIMO_API_KEY": "your_api_key_here"
}
}
}
}Tools
understand_image
Analyze images using Xiaomi MiMo multimodal model.
Parameter | Type | Required | Description |
| string | Yes | Image understanding task description |
| string | No | Single image URL or data:image base64 |
| string | No | Single local image file path |
| list[string] | No | Multiple image URLs |
| list[string] | No | Multiple local image file paths |
| string | No | Custom system prompt |
| integer | No | Max output length (default: 8192, max: 32768) |
Supported formats: JPEG, PNG, GIF, WebP Size limit: 10MB
understand_audio
Analyze audio using Xiaomi MiMo multimodal model.
Parameter | Type | Required | Description |
| string | Yes | Audio understanding task description |
| string | No | Single audio URL |
| string | No | Single local audio file path |
| list[string] | No | Multiple audio URLs |
| list[string] | No | Multiple local audio file paths |
| string | No | Custom system prompt |
| integer | No | Max output length (default: 8192, max: 32768) |
Supported formats: MP3, WAV, FLAC, M4A, OGG Size limit: URL 100MB, Base64 50MB
understand_video
Analyze video using Xiaomi MiMo multimodal model.
Parameter | Type | Required | Description |
| string | Yes | Video understanding task description |
| string | No | Single video URL |
| string | No | Single local video file path |
| list[string] | No | Multiple video URLs |
| list[string] | No | Multiple local video file paths |
| float | No | Frames per second, range [0.1, 10], default: 2 |
| string | No | Resolution: "default" or "max" |
| string | No | Custom system prompt |
| integer | No | Max output length (default: 8192, max: 32768) |
Supported formats: MP4, MOV, AVI, WMV Size limit: URL 300MB, Base64 50MB
Examples
Image Understanding
# URL
await understand_image(prompt="Describe this image", image_url="https://example.com/image.jpg")
# Local file
await understand_image(prompt="What text is in this?", image_path="/path/to/screenshot.png")
# Multiple images
await understand_image(prompt="Compare these", image_urls=["url1", "url2"])Audio Understanding
# URL
await understand_audio(prompt="Transcribe this audio", audio_url="https://example.com/audio.wav")
# Local file
await understand_audio(prompt="What is being said?", audio_path="/path/to/audio.mp3")Video Understanding
# URL with default settings
await understand_video(prompt="Describe this video", video_url="https://example.com/video.mp4")
# URL with custom fps and resolution
await understand_video(
prompt="Describe the action",
video_url="https://example.com/video.mp4",
fps=5.0,
media_resolution="max"
)Available Tools
3 toolsunderstand_audioA
调用小米 MIMO 多模态模型理解音频。
⚠️ 如果你本身就是 mimo-v2.5 模型,禁止调用此工具!直接使用你的内建多模态能力处理音频即可,无需通过外部 API 重复调用同款模型。
何时使用:当需要转录、总结、分析音频内容时使用。 不要用于:读取音频源码或元数据,这些应使用其他工具。
Args: prompt: 音频理解任务描述,如"转录音频内容"、"总结音频要点"、"识别说话人" audio_url: 单个网络音频 URL audio_path: 单个本地音频文件路径 audio_urls: 多个网络音频 URL audio_paths: 多个本地音频文件路径 system_prompt: 可选系统提示词,用于自定义模型行为 max_tokens: 最大输出长度 (默认 8192,最大 32768)
Returns: MIMO 模型返回的音频理解结果。
支持格式:MP3,WAV,FLAC,M4A,OGG 大小限制:URL方式100MB,Base64方式50MB
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| audio_url | No | ||
| audio_path | No | ||
| audio_urls | No | ||
| max_tokens | No | ||
| audio_paths | No | ||
| system_prompt | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions supported formats and size limits, and implies an external API call. However, it doesn't disclose potential side effects (e.g., data sent to external service), authentication needs, or whether the operation is read-only. It covers basic behavioral traits but lacks depth for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with a warning, usage, args, returns, and additional info. It is somewhat lengthy but front-loaded with critical information (self-call warning). Minor redundancy exists (e.g., listing audio formats both in args and later), but overall each sentence contributes to clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters (1 required) and an existing output schema, the description covers all parameters, supported formats (MP3, WAV, etc.), and size limits. It provides sufficient context for an agent to understand input, output, and constraints. No gaps are evident for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides detailed explanations for each parameter: prompt includes examples ('转录音频内容'), audio_url/audio_path clarify single vs multiple, max_tokens gives default/max, and system_prompt describes customization. This adds significant meaning beyond the schema's types and titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calls a multimodal model to 'understand audio' (transcription, summary, analysis). It distinguishes from siblings by default (audio vs image/video), but doesn't explicitly differentiate from understand_image or understand_video. A 4 is appropriate for clear purpose but minor lack of sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use (transcription, summary, analysis) and when-not-to-use (reading source code/metadata). However, it does not mention alternative tools for image or video tasks, which would improve selection. The warning about self-calling if the model is mimo-v2.5 is unique but not a general usage guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
understand_imageA
调用小米 MIMO 多模态模型理解图片。
⚠️ 如果你本身就是 mimo-v2.5 模型,禁止调用此工具!直接使用你的内建多模态能力处理图片即可,无需通过外部 API 重复调用同款模型。
何时使用:当需要分析、描述、OCR、识别图片内容时使用。 不要用于:读取代码文件、文本文件等非图片文件,这些应使用 Read 工具。
Args: prompt: 图片理解任务描述,如"描述这张图片"、"提取图中的文字"、"解释这个图表" image_url: 单张网络图片 URL 或 data:image base64 image_path: 单张本地图片路径 image_urls: 多张网络图片 URL image_paths: 多张本地图片路径 system_prompt: 可选系统提示词,用于自定义模型行为 max_tokens: 最大输出长度 (默认 8192,最大 32768)
Returns: MIMO 模型返回的图片理解结果。
支持格式:JPEG,PNG,GIF,WebP,BMP 大小限制:单张图片不超过 50MB
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| image_url | No | ||
| image_path | No | ||
| image_urls | No | ||
| max_tokens | No | ||
| image_paths | No | ||
| system_prompt | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Discloses use of external API, supports multiple image inputs, has size limits (50MB) and format support. Includes system prompt and max_tokens details. Slightly less transparent on authentication or rate limits, but adequate for a read-only tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with warning, usage guidelines, parameter list, returns, and constraints. However, the warning about not using if same model is repeated, slightly reducing conciseness. Still front-loaded and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters, no schema descriptions, no annotations, and presence of output schema, the description is comprehensive. Covers all parameters, use cases, constraints, and return value. Handles complexity well.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but description explicitly explains each parameter's purpose and gives examples (prompt, image_url, etc.). Adds meaning beyond schema, like supported formats and size limits.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it calls a multimodal model to understand images, specifying use cases like analysis, description, OCR, and recognition. It distinguishes from sibling tools (audio and video) by focusing on images.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use (analyze images) and when not to (code/text files, use Read tool). Also warns if the model is the same as the underlying model, don't call it, providing clear alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
understand_videoA
调用小米 MIMO 多模态模型理解视频。
⚠️ 如果你本身就是 mimo-v2.5 模型,禁止调用此工具!直接使用你的内建多模态能力处理视频即可,无需通过外部 API 重复调用同款模型。
何时使用:当需要分析、描述、总结视频内容时使用。 不要用于:读取视频文件元数据或源码,这些应使用其他工具。
Args: prompt: 视频理解任务描述,如"描述视频内容"、"总结视频要点"、"识别视频中的动作" video_url: 单个网络视频 URL video_path: 单个本地视频文件路径 video_urls: 多个网络视频 URL video_paths: 多个本地视频文件路径 fps: 每秒抽帧数,范围 [0.1, 10],默认 2。越高时序越精细 media_resolution: 视频帧分辨率档次,"default" 或 "max" system_prompt: 可选系统提示词,用于自定义模型行为 max_tokens: 最大输出长度 (默认 8192,最大 32768)
Returns: MIMO 模型返回的视频理解结果。
支持格式:MP4,MOV,AVI,WMV 大小限制:URL方式300MB,Base64方式50MB
| Name | Required | Description | Default |
|---|---|---|---|
| fps | No | ||
| prompt | Yes | ||
| video_url | No | ||
| max_tokens | No | ||
| video_path | No | ||
| video_urls | No | ||
| video_paths | No | ||
| system_prompt | No | ||
| media_resolution | No | default |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It discloses the model used, self-call restriction, supported formats, and size limits. However, it omits potential costs, latency, or authentication requirements, but overall provides sufficient transparency for a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Moderately long but well-structured with sections for general info, warning, usage, args, returns, and constraints. Every sentence adds value, no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (9 parameters, output schema exists), the description covers all parameters, return description, format support, size limits, and usage guidance. Output schema exists, so return details are sufficient. Comprehensive for the tool's purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% (no parameter descriptions in schema), so description carries full burden. It explains every parameter in detail (prompt, video_url, video_path, fps, resolution, etc.) with examples, default values, and ranges, adding substantial meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calls the MIMO multimodal model to understand video, with examples of tasks like describing, summarizing, and recognizing actions. It distinguishes from sibling tools (understand_audio, understand_image) by focusing on video.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (analyzing, describing, summarizing video content) and when not to use (reading metadata or source code, which should use other tools). Also includes a critical self-call warning for the integrated model.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool targets a distinct modality (audio, image, video) with clear separation of concerns. No overlap in capabilities, and the descriptions explicitly warn against misuse.
All tools follow a strict 'understand_<modality>' naming pattern using snake_case, making it predictable and easy for agents to infer functionality.
Three tools is an ideal scope for a multimodal understanding server, covering the three primary non-text media types without bloat or gaps.
The tool set fully covers the domain of multimodal understanding by supporting audio, image, and video analysis. No missing operations are expected for this focused purpose.
Maintenance
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
Turn any LLM multimodal; generate images, voices, videos, 3D models, music, and more.
Generate images, videos, voiceovers, and captions from a chat prompt.
Transform video, audio and images, and generate media from prompts. FFmpeg, captions, models.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables text-only models to process images and other media formats by providing access to multimodal models from OpenAI and Dashscope (Alibaba Cloud). Supports flexible deployment options and comprehensive tooling for multimodal AI interactions.34MIT
- AlicenseNot gradedqualityCmaintenanceProvides an OpenAI-compatible gateway to the MiMo (Xiaomi) model series, with native MCP server tools for web search and visual analysis.32GPL 3.0

mimo-vision-mcpofficial
AlicenseAqualityCmaintenanceAn MCP server that uses Xiaomi MiMo v2.5 multimodal model to provide image recognition capabilities (description, multi-image analysis, OCR, and image info validation) for text-only main models like deepseek-v4-flash, accepting local paths, URLs, file://, and base64 data inputs.41MIT- FlicenseNot gradedqualityBmaintenanceEnables image understanding and OCR through Xiaomi's MiMo vision language model, providing tools for image description, Q&A, and text recognition via MCP. Supports both image URLs and local file paths.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/ChanthMiao/MiMo-Multimodal-Understanding-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server