minimax-mcp-api
This MCP server exposes MiniMax speech, video, image, music, and file APIs as callable tools over stdio or streamable HTTP.
Speech: Create synchronous text-to-speech audio, create/poll async long-text T2A tasks, and clone voices from uploaded files.
Video: Generate videos from text prompts, input images, or templates, then poll task status for results.
Images: Generate images from text prompts and transform reference images with optional prompts.
Music: Generate music/vocal tracks or instrumentals, including cover-model workflows.
Files: Upload files, list/filter uploads, retrieve metadata or content, and delete files; uploads can support voice cloning and other downstream uses.
Click on "Deploy 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., "@minimax-mcp-api Generate an image of a dog playing in the 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.
minimax-mcp-api
A Model Context Protocol (MCP) server written in NestJS that wraps the
MiniMax platform APIs
and exposes them as MCP tools over stdio (local) or streamable HTTP
(remote). The transport is picked at startup with MCP_TRANSPORT.
Prerequisites
Node.js ≥ 22 (per
engines.nodeinpackage.json). Older versions lack the TypeScript target support used intsconfig.build.json.
Related MCP server: minimax-llm-mcp
Install
npm installBuild
npm run buildRun (stdio)
node dist/main.jsRun (HTTP)
MCP_TRANSPORT=http MCP_AUTH_TOKEN=change-me PORT=3000 node dist/main.js
# or: npm run start:http (with MCP_AUTH_TOKEN set in .env)Serves streamable HTTP at POST /mcp. Every request must send
Authorization: Bearer <MCP_AUTH_TOKEN>; anything else gets 401.
Environment variables
Variable | Required | Default | Description |
| Yes | — | Bearer token for the MiniMax API |
| No |
| Base URL for the MiniMax API |
| No |
| One of |
| No |
| One of |
| No |
|
|
| No |
| HTTP listen port ( |
| When | — | Bearer token clients must send ( |
Copy .env.example to .env and fill in MINIMAX_API_KEY before running.
MCP tools
Domain | Tool | Endpoint |
Speech |
|
|
Speech |
|
|
Speech |
|
|
Speech |
|
|
Video |
|
|
Video |
|
|
Video |
|
|
Video |
|
|
Image |
|
|
Image |
|
|
Music |
|
|
File |
|
|
File |
|
|
File |
|
|
File |
|
|
File |
|
|
(16 tools total over 5 domains.)
Configure Claude Desktop
Add to ~/.config/claude_desktop_config.json (note: the path to dist/main.js
must be absolute):
{
"mcpServers": {
"minimax": {
"command": "node",
"args": ["/abs/path/to/minimax-mcp-api/dist/main.js"],
"env": {
"MINIMAX_API_KEY": "sk-..."
}
}
}
}Connect over HTTP (Claude Code)
claude mcp add --transport http minimax http://<host>:3000/mcp \
--header "Authorization: Bearer <MCP_AUTH_TOKEN>"Note: files_upload reads file_path from the server's filesystem, so
over HTTP it can only upload files that exist on the host running the server.
Probe with MCP Inspector
npm run inspectTroubleshooting
401/403 from any tool —
MINIMAX_API_KEYis missing, malformed, or revoked. Verify withecho $MINIMAX_API_KEYand recopy the key from the MiniMax dashboard.npm run buildfails with TypeScript errors — Node version mismatch. Checknode -vreturnsv22.x; older Node lacks the target support configured intsconfig.build.json.Claude Desktop can't connect — confirm
args[0]is an absolute path todist/main.js(not relative) and that the file exists (runnpm run buildfirst).MINIMAX_API_URLchange has no effect — stdio MCP servers read environment variables at startup only. Restart Claude Desktop (or the stdio process) after editing.env.
License
UNLICENSED — private project, not for redistribution.
Available Tools
16 toolsfiles_deleteB
Delete a file by file_id.
Inputs: file_id (required).
files_listB
List uploaded files, optionally filtered by purpose.
Inputs: after, limit, order, purpose.
files_retrieveA
Get metadata for a single file by file_id.
Inputs: file_id (required).
files_retrieve_contentA
Download a file. By default returns a summary (filename + bytes + content-type); pass as_hex=true to inline small file content as a hex string.
Inputs: file_id (required), as_hex.
files_uploadA
Upload a file (document, audio, image, etc.) for downstream use. Use purpose=voice_clone before speech_voice_clone.
Inputs: purpose (required), file_path (required), filename.
image_text_to_imageB
Generate images from a text prompt. Returns image URLs (typically valid 24h).
Inputs: model (required), prompt (required), n, seed, +6 more.
image_to_imageC
Transform a reference image guided by an optional prompt. Returns image URLs.
Inputs: model (required), image_url (required), n, seed, +5 more.
music_generateA
Generate music. Provide lyrics for vocal tracks; set is_instrumental=true for instrumental. music-cover* models require audio_url/audio_base64/cover_feature_id.
Inputs: model (required), lyrics, prompt, stream, +7 more.
speech_t2a_async_createA
Create an async long-text T2A task (up to 1M chars via text_file_id, or 50k via text). Returns a task_id to poll with speech_t2a_async_query.
Inputs: model (required), voice_id (required), vol, text, +13 more.
speech_t2a_async_queryA
Poll an async T2A task created by speech_t2a_async_create. Returns status (success|failed|expired|processing) and a file_id on success.
Inputs: task_id (required).
speech_t2a_httpA
Synchronous text-to-speech synthesis (≤10,000 chars). Returns audio URL + metadata. Use output_format="url" to receive a 24h-valid URL.
Inputs: text (required), model (required), voice_id (required), vol, +18 more.
speech_voice_cloneA
Clone a voice from an uploaded file_id (purpose=voice_clone). Cloned voices must be used within 168 hours or they are auto-deleted. Returns a demo_audio preview URL.
Inputs: file_id (required), voice_id (required), text, model, +6 more.
video_agent_createB
Create a video template/agent task. Returns a task_id to poll with video_agent_query.
Inputs: inputs (required), template_id (required), callback_url.
video_agent_queryA
Poll a video task. Returns status (Preparing|Processing|Success|Fail) and a video_url valid 9h on Success.
Inputs: task_id (required).
video_image_to_videoA
Generate a video from an input image (and optional prompt). Returns a task_id — poll with video_agent_query.
Inputs: model (required), image_url (required), prompt, duration, +3 more.
video_text_to_videoA
Generate a video from a text prompt. Returns a task_id — poll with video_agent_query.
Inputs: model (required), prompt (required), duration, resolution, +2 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 16 tools
Each tool targets a distinct function: file operations, image generation, music generation, speech synthesis (sync and async), voice cloning, and video generation. No two tools have overlapping purposes.
Tools follow a consistent area_action pattern (e.g., files_delete, speech_t2a_async_create). Minor variations exist like 'image_to_image' versus 'image_text_to_image', and the use of 'agent' for video template tasks, but overall naming is predictable.
16 tools cover a broad multi-modal domain without being excessive. Each tool serves a clear purpose, though some sub-areas (e.g., file management) have many tools while others have few.
File operations are complete (CRUD). Speech covers sync/async TTS and voice cloning. Video covers generation from text/image and agent tasks. Minor gaps like missing audio upload or image editing but domain scope is well-covered.
Maintenance
Related MCP Connectors
MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.
MCP server for MiniMax H3 multimodal video generation
MCP server for Hailuo (MiniMax) AI video generation
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceUnifies MiniMax's multimodal generation, web search, image understanding, audio, video, and music tools into a single MCP server for use with Claude and other clients.1MIT
- AlicenseAqualityDmaintenanceExposes the MiniMax M3 LLM API to MCP-compatible clients, enabling chat completions, text completions, tool calls, and token counting via stdio or SSE transport.4MIT
- AlicenseNot gradedqualityDmaintenanceModel Context Protocol server exposing MiniMax's image, speech, music, and video generation APIs as MCP tools for use with any MCP-aware host.2,292 npmMIT
- AlicenseAqualityAmaintenanceMCP server for Google Gemini media generation, exposing tools for generating and editing images, video, music, and async operations via stdio.13951 npmMIT