mmxomni
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., "@mmxomniGenerate an image of a dog in a park"
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.
mmxomni
Model Context Protocol server for MiniMax media APIs.
Expose image generation, text-to-speech, music, and video generation from MiniMax as MCP tools. Works with any MCP-aware host: Open WebUI, Claude Desktop, Cursor, and more.
Quick Start
# Run directly without installing
MINIMAX_API_KEY=sk-... npx mmxomni
# Or install globally
npm i -g mmxomni
MINIMAX_API_KEY=sk-... mmxomniThe server starts an MCP stdio transport. Your host spawns it and communicates over stdin/stdout — you do not run it interactively. See Installation below for copy-pasteable JSON blocks for your host.
Related MCP server: MiniMax MCP
Authentication
mmxomni uses the same credential precedence as mmx-cli, so existing users have nothing to reconfigure:
Priority | Source | Example |
1 (highest) |
|
|
2 |
|
|
3 |
|
|
4 (fallback) |
|
|
Region is resolved with the same precedence (--region / MINIMAX_REGION / config), defaulting to global. Region cn uses https://api.minimaxi.cn/v1.
Setting up ~/.mmx/credentials.json
{
"MINIMAX_API_KEY": "sk-your-key-here"
}CLI Options
mmxomni [options]
--api-key <key> MiniMax API key (overrides env / config file)
--region <region> API region: 'global' or 'cn' (default: global)
--log-level <level> Log verbosity: error|warn|info|debug (default: warn)
--enable-bonus Register bonus tools: mmx_vision_describe,
mmx_search_query, mmx_quota_show
--version Print the server version and exit
--help Show this help message and exitBonus tools can also be enabled via the MMXOMNI_BONUS=1 environment variable.
Installation
Every MCP host needs to know the command to spawn mmxomni, along with your MiniMax API key. Below are copy-pasteable config blocks for popular hosts.
The env-var pattern is the same everywhere: point the host at npx -y mmxomni with MINIMAX_API_KEY set in the environment.
Open WebUI
Open Settings → External Tools → MCP Servers → Add Server and paste:
{
"command": "npx",
"args": ["-y", "mmxomni"],
"env": {
"MINIMAX_API_KEY": "sk-your-key-here"
}
}For bonus tools, add "MMXOMNI_BONUS": "1" to the env block.
Claude Desktop
Edit claude_desktop_config.json (~/Library/Application Support/Claude/ on macOS, %APPDATA%\Claude\ on Windows):
{
"mcpServers": {
"mmxomni": {
"command": "npx",
"args": ["-y", "mmxomni"],
"env": {
"MINIMAX_API_KEY": "sk-your-key-here"
}
}
}
}With bonus tools:
{
"mcpServers": {
"mmxomni": {
"command": "npx",
"args": ["-y", "mmxomni", "--enable-bonus"],
"env": {
"MINIMAX_API_KEY": "sk-your-key-here"
}
}
}
}Claude Code CLI
Edit .claude/settings.json in your project root:
{
"mcpServers": {
"mmxomni": {
"command": "npx",
"args": ["-y", "mmxomni"],
"env": {
"MINIMAX_API_KEY": "sk-your-key-here"
}
}
}
}Cursor
Edit .cursor/mcp.json in your project root:
{
"mcpServers": {
"mmxomni": {
"command": "npx",
"args": ["-y", "mmxomni"],
"env": {
"MINIMAX_API_KEY": "sk-your-key-here"
}
}
}
}Codex CLI (OpenAI)
Edit ~/.codex/mcp.json:
{
"mcpServers": {
"mmxomni": {
"command": "npx",
"args": ["-y", "mmxomni"],
"env": {
"MINIMAX_API_KEY": "sk-your-key-here"
}
}
}
}Gemini CLI
Edit ~/.gemini/mcp.json:
{
"mcpServers": {
"mmxomni": {
"command": "npx",
"args": ["-y", "mmxomni"],
"env": {
"MINIMAX_API_KEY": "sk-your-key-here"
}
}
}
}Opencode CLI
Edit .opencode/mcp.json in your project root:
{
"mcpServers": {
"mmxomni": {
"command": "npx",
"args": ["-y", "mmxomni"],
"env": {
"MINIMAX_API_KEY": "sk-your-key-here"
}
}
}
}Cline / Roo Code (VS Code extension)
Edit .cline/mcp.json or .roo/mcp.json:
{
"mcpServers": {
"mmxomni": {
"command": "npx",
"args": ["-y", "mmxomni"],
"env": {
"MINIMAX_API_KEY": "sk-your-key-here"
}
}
}
}Continue (VS Code extension)
Edit ~/.continue/config.json:
{
"experimental": {
"mcpServers": {
"mmxomni": {
"command": "npx",
"args": ["-y", "mmxomni"],
"env": {
"MINIMAX_API_KEY": "sk-your-key-here"
}
}
}
}
}VS Code (GitHub Copilot)
Edit .vscode/mcp.json in your project root or add to user settings.json:
{
"mcpServers": {
"mmxomni": {
"command": "npx",
"args": ["-y", "mmxomni"],
"env": {
"MINIMAX_API_KEY": "sk-your-key-here"
}
}
}
}Zed
Edit ~/.config/zed/settings.json:
{
"mcp_servers": {
"mmxomni": {
"command": "npx",
"args": ["-y", "mmxomni"],
"env": {
"MINIMAX_API_KEY": "sk-your-key-here"
}
}
}
}Windsurf
Edit .windsurf/mcp.json in your project root:
{
"mcpServers": {
"mmxomni": {
"command": "npx",
"args": ["-y", "mmxomni"],
"env": {
"MINIMAX_API_KEY": "sk-your-key-here"
}
}
}
}Goose
Edit ~/.goose/config.json:
{
"mcpServers": {
"mmxomni": {
"command": "npx",
"args": ["-y", "mmxomni"],
"env": {
"MINIMAX_API_KEY": "sk-your-key-here"
}
}
}
}Hermes Agent
Edit ~/.hermes/config.yaml:
mcp_servers:
mmxomni:
command: npx
args: ["-y", "mmxomni"]
env:
MINIMAX_API_KEY: sk-your-key-hereOpenclaw
Edit ~/.openclaw/mcp.json:
{
"mcpServers": {
"mmxomni": {
"command": "npx",
"args": ["-y", "mmxomni"],
"env": {
"MINIMAX_API_KEY": "sk-your-key-here"
}
}
}
}Generic stdio MCP entry
Any host with stdio-based MCP support uses the same shape. Configure it however the host expects:
{
"command": "npx",
"args": ["-y", "mmxomni"],
"env": {
"MINIMAX_API_KEY": "sk-your-key-here"
}
}Core Tools
mmx_image_generate
Generate one or more images from a text description.
Parameter | Type | Default | Description |
| string | — | Text description of the image |
| string |
| Model ID ( |
| string |
| Output ratio: |
| integer | 1 | Number of images (1–4) |
| boolean | false | Return base64 MCP |
| string | — | Subject reference URL/path |
| string | — | Download directory path |
Example:
"Generate an image of a red apple on a wooden table." Calls
mmx_image_generatewithprompt="a red apple on a wooden table".
mmx_speech_synthesize
Synthesize speech from text.
Parameter | Type | Default | Description |
| string | — | Text to synthesize (max 10,000 chars) |
| string |
| TTS model ID |
| string |
| Voice ID |
| string |
| Audio format: |
| number | — | Speed multiplier (0.5–2.0) |
| number | — | Volume (0–10) |
| integer | — | Pitch adjustment in semitones (-12–12) |
| integer | 32000 | Sample rate in Hz |
| integer | 128000 | Bitrate in bps |
| string | — | Language hint ( |
| boolean | false | Return base64 MCP |
| string | — | Local file path to save the audio |
Example:
"Say 'Hello, world' in a British accent." Calls
mmx_speech_synthesizewithtext="Hello, world".
mmx_music_generate
Generate music from a style prompt and/or lyrics.
Parameter | Type | Default | Description |
| string | — | Music style description |
| string | — | Song lyrics with structure tags |
| string |
| Music model ID |
| string | — | Genre ( |
| string | — | Mood ( |
| string | — | Tempo ( |
| integer | — | Beats per minute (40–220) |
| string | — | Musical key ( |
| boolean | false | Instrumental only (no vocals) |
| string | — | Vocal style hint |
| string | — | Featured instruments |
| string | — | Song structure |
| string | — | Reference tracks or artists |
| string | — | Elements to avoid |
| string | — | Use case context |
| boolean | false | Embed AIGC watermark |
| string |
| Audio format |
| integer | 44100 | Sample rate |
| integer | 256000 | Bitrate |
| boolean | false | Return base64 MCP |
| string | — | Local file path to save the audio |
At least one of prompt or lyrics is required. instrumental=true and lyrics are mutually exclusive.
Example:
"Create an upbeat pop song with lyrics about summer." Calls
mmx_music_generatewithprompt="upbeat pop"andlyrics="...".
mmx_video_generate / mmx_video_status / mmx_video_download
Async video generation in three steps, or synchronous with wait=true.
mmx_video_generate
Parameter | Type | Default | Description |
| string | — | Video description (max 2,000 chars) |
| string |
| Video model ID |
| integer | 6 | Duration in seconds (6 or 10) |
| string |
| Output resolution ( |
| boolean | true | Auto-optimize the prompt |
| string | — | Image URL/path for I2V |
| boolean | false | Poll until complete |
| integer | 600 | Max wait time when |
| integer | 5 | Polling interval |
Async mode (default) returns { task_id, status, model }. Pass wait=true to poll until Success or Fail.
mmx_video_status
Parameter | Type | Description |
| string | Task ID from |
Returns the raw task object with status, progress, and file URL.
mmx_video_download
Parameter | Type | Description |
| string | Task ID from |
| string | Local path to write the video file |
Example:
"Generate a 6-second video of a cat walking on a beach." First calls
mmx_video_generatewithprompt="a cat walking on a beach", thenmmx_video_statusto poll, thenmmx_video_downloadto save the result.
Bonus Tools
Enable with --enable-bonus or MMXOMNI_BONUS=1.
Tool | Description |
| Describe an image via the vision API |
| Search the web via the MiniMax search API |
| Inspect remaining Token Plan quota |
mmx_quota_show is especially useful for Token Plan users to check remaining monthly usage.
Development
git clone <repo>
cd mmxomni
npm install
npm run build # produce dist/
npm test # 120+ tests, no live network calls
npm run lint # eslintThe project uses:
TypeScript + tsup for building
@modelcontextprotocol/sdk for the MCP server framework
zod for tool input schema validation
undici for HTTP requests
vitest for testing (with undici
MockAgentfor offline tests)
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/stlkrdumb/mmxomni'
If you have feedback or need assistance with the MCP directory API, please join our Discord server