Skip to main content

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

Setup

1. Install dependencies

uv sync

2. Configure API Key

Copy .env.example to .env and fill in your API key:

cp .env.example .env

Or set environment variable directly:

export MIMO_API_KEY=your_api_key_here

Get 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
tp-* https://token-plan-cn.xiaomimimo.com/v1
sk-* or others https://api.xiaomimimo.com/v1

To use a different API endpoint:

export MIMO_API_BASE=https://your-custom-endpoint/v1

Or add it to your .env file:

MIMO_API_BASE=https://your-custom-endpoint/v1

Usage

Quick Start (with uvx)

export MIMO_API_KEY=your_api_key_here
uvx mimo-multimodal-mcp

Development mode (with MCP Inspector)

uv run mcp dev src/mimo_multimodal_mcp/server.py

Install to Claude Desktop

uv run mcp install src/mimo_multimodal_mcp/server.py

Direct execution

uv run python src/mimo_multimodal_mcp/server.py

Claude 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
prompt string Yes Image understanding task description
image_url string No Single image URL or data:image base64
image_path string No Single local image file path
image_urls list[string] No Multiple image URLs
image_paths list[string] No Multiple local image file paths
system_prompt string No Custom system prompt
max_tokens 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
prompt string Yes Audio understanding task description
audio_url string No Single audio URL
audio_path string No Single local audio file path
audio_urls list[string] No Multiple audio URLs
audio_paths list[string] No Multiple local audio file paths
system_prompt string No Custom system prompt
max_tokens 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
prompt string Yes Video understanding task description
video_url string No Single video URL
video_path string No Single local video file path
video_urls list[string] No Multiple video URLs
video_paths list[string] No Multiple local video file paths
fps float No Frames per second, range [0.1, 10], default: 2
media_resolution string No Resolution: "default" or "max"
system_prompt string No Custom system prompt
max_tokens 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"
)

Metadata

Release files for mimo-multimodal-mcp 0.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mimo-multimodal-mcp 0.6.1
File Size Uploaded Provenance Actions
mimo_multimodal_mcp-0.6.1.tar.gz 76.6 kB With provenance Details for mimo_multimodal_mcp-0.6.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for mimo-multimodal-mcp 0.6.1
File Interpreter ABI Platform Actions
mimo_multimodal_mcp-0.6.1-py3-none-any.whl Python 3 none any Details for mimo_multimodal_mcp-0.6.1-py3-none-any.whl

Total release size: 85.0 kB

Release files / mimo_multimodal_mcp-0.6.1.tar.gz

Download URL mimo_multimodal_mcp-0.6.1.tar.gz
Size 76.6 kB
Tags Source
SHA-256 checksum
How to use checksums
bd945550b16a29412b685d2baae65ae8c40799be3f1bb2c0193b1640a547788b
BLAKE2b-256 checksum
How to use checksums
392fda5ac39daeca35f3685008957f682959db0d8e962744a09cb53ab081abb7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 22, 2026.

Transparency log

Release files / mimo_multimodal_mcp-0.6.1-py3-none-any.whl

Download URL mimo_multimodal_mcp-0.6.1-py3-none-any.whl
Size 8.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
80af6ba5ee551be3341b55b83bbd918c6710459dead825f7606bf18a850fe909
BLAKE2b-256 checksum
How to use checksums
23460b29a17900f742e14148d76d69b107776427940c46af2db7706bd8a3f4f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 22, 2026.

Transparency log

Security for mimo-multimodal-mcp 0.6.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for mimo_multimodal_mcp-0.6.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 22, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page