JavaScript/TypeScript implementation of MiniMax MCP, providing image generation, video generation, text-to-speech, and more.
- 中文文档
- Python Version - Official Python implementation of MiniMax MCP
- Text-to-Speech (TTS)
- Image Generation
- Video Generation
- Voice Cloning
- Dynamic configuration (supports both environment variables and request parameters)
- Compatible with MCP platform hosting (ModelScope and other MCP platforms)
# Install with pnpm (recommended)
pnpm add minimax-mcp-js
MiniMax MCP JS implements the Model Context Protocol (MCP) specification and can be used as a server to interact with MCP-compatible clients (such as Claude AI).
- Get your API key from MiniMax International Platform.
- Install minimax-mcp-js using pnpm:
pnpm add minimax-mcp-js
- Important: API HOST&KEY are different in different region, they must match, otherwise you will receive an
Invalid API key
error.
Region | Global | Mainland |
---|---|---|
MINIMAX_API_KEY | go get from MiniMax Global | go get from MiniMax |
MINIMAX_API_HOST | https://api.minimaxi.chat (note the extra "i") | https://api.minimax.chat |
- Install the CLI tool globally:
# Install globally
pnpm install -g minimax-mcp-js
- Configure your MCP client:
Go to Claude > Settings > Developer > Edit Config > claude_desktop_config.json
to include:
{
"mcpServers": {
"minimax-mcp-js": {
"command": "npx",
"args": [
"minimax-mcp-js"
],
"env": {
"MINIMAX_API_HOST": "https://api.minimaxi.chat",
"MINIMAX_API_KEY": "<your-api-key-here>",
"MINIMAX_MCP_BASE_PATH": "<local-output-dir-path, such as /User/xxx/Desktop>",
"MINIMAX_RESOURCE_MODE": "<optional, [url|local], url is default, audio/image/video are downloaded locally or provided in URL format>"
}
}
}
}
Go to Cursor → Preferences → Cursor Settings → MCP → Add new global MCP Server
to add the above config.
That's it. Your MCP client can now interact with MiniMax through these tools.
For local development:
When developing locally, you can use npm link
to test your changes:
# In your project directory
npm link
Then configure Claude Desktop or Cursor to use npx as shown above. This will automatically use your linked version.
- Global Host:
https://api.minimaxi.chat
(note the extra "i") - Mainland China Host:
https://api.minimaxi.chat
MiniMax MCP JS supports three transport modes:
Feature | stdio (default) | REST | SSE |
---|---|---|---|
Environment | Local only | Local or cloud deployment | Local or cloud deployment |
Communication | Via standard I/O |
Via HTTP requests |
Via server-sent events |
Use Cases | Local MCP client integration | API services, cross-language calls | Applications requiring server push |
Input Restrictions | Supports local files or URL resources |
When deployed in cloud, URL input recommended |
When deployed in cloud, URL input recommended |
MiniMax-MCP-JS provides multiple flexible configuration methods to adapt to different use cases. The configuration priority from highest to lowest is as follows:
In platform hosting environments (like ModelScope or other MCP platforms), you can provide an independent configuration for each request via the meta.auth
object in the request parameters:
{
"params": {
"meta": {
"auth": {
"api_key": "your_api_key_here",
"api_host": "https://api.minimaxi.chat",
"base_path": "/path/to/output",
"resource_mode": "url"
}
}
}
}
This method enables multi-tenant usage, where each request can use different API keys and configurations.
When used as a module in other projects, you can pass configuration through the startMiniMaxMCP
function:
import { startMiniMaxMCP } from 'minimax-mcp-js';
await startMiniMaxMCP({
apiKey: 'your_api_key_here',
apiHost: 'https://api.minimaxi.chat',
basePath: '/path/to/output',
resourceMode: 'url'
});
When used as a CLI tool, you can provide configuration via command line arguments:
minimax-mcp-js --api-key your_api_key_here --api-host https://api.minimaxi.chat --base-path /path/to/output --resource-mode url
The most basic configuration method is through environment variables:
# MiniMax API Key (required)
MINIMAX_API_KEY=your_api_key_here
# Base path for output files (optional, defaults to user's desktop)
MINIMAX_MCP_BASE_PATH=~/Desktop
# MiniMax API Host (optional, defaults to https://api.minimaxi.chat)
MINIMAX_API_HOST=https://api.minimaxi.chat
# Resource mode (optional, defaults to 'url')
# Options: 'url' (return URLs), 'local' (save files locally)
MINIMAX_RESOURCE_MODE=url
When multiple configuration methods are used, the following priority order applies (from highest to lowest):
- Request-level configuration (via
meta.auth
in each API request) - Command line arguments
- Environment variables
- Configuration file
- Default values
This prioritization ensures flexibility across different deployment scenarios while maintaining per-request configuration capabilities for multi-tenant environments.
Parameter | Description | Default Value |
---|---|---|
apiKey | MiniMax API Key | None (Required) |
apiHost | MiniMax API Host | https://api.minimaxi.chat |
basePath | Base path for output files | User's desktop |
resourceMode | Resource handling mode, 'url' or 'local' | url |
- Global Host:
https://api.minimaxi.chat
(note the extra "i") - Mainland China Host:
https://api.minimaxi.chat
Convert text to speech audio file.
Tool Name: text_to_audio
Parameters:
text
: Text to convert (required)model
: Model version, options are 'speech-02-hd', 'speech-02-turbo', 'speech-01-hd', 'speech-01-turbo', 'speech-01-240228', 'speech-01-turbo-240228', default is 'speech-02-hd'voiceId
: Voice ID, default is 'male-qn-qingse'speed
: Speech speed, range 0.5-2.0, default is 1.0vol
: Volume, range 0.1-10.0, default is 1.0pitch
: Pitch, range -12 to 12, default is 0emotion
: Emotion, options are 'happy', 'sad', 'angry', 'fearful', 'disgusted', 'surprised', 'neutral', default is 'happy'. Note: This parameter only works with 'speech-02-hd', 'speech-02-turbo', 'speech-01-turbo', 'speech-01-hd' modelsformat
: Audio format, options are 'mp3', 'pcm', 'flac', 'wav', default is 'mp3'sampleRate
: Sample rate (Hz), options are 8000, 16000, 22050, 24000, 32000, 44100, default is 32000bitrate
: Bitrate (bps), options are 64000, 96000, 128000, 160000, 192000, 224000, 256000, 320000, default is 128000channel
: Audio channels, options are 1 or 2, default is 1languageBoost
: Language boost, default is 'auto'latexRead
: Enable LaTeX formula readingpronunciationDict
: Pronunciation dictionarystream
: Enable streaming outputsubtitleEnable
: Enable subtitle generationoutputDirectory
: Directory to save the output file (optional)outputFile
: Path to save the output file (optional, auto-generated if not provided)
Generate images based on text prompts.
Tool Name: text_to_image
Parameters:
prompt
: Image description (required)model
: Model version, default is 'image-01'aspectRatio
: Aspect ratio, default is '1:1', options are '1:1', '16:9','4:3', '3:2', '2:3', '3:4', '9:16', '21:9'n
: Number of images to generate, range 1-9, default is 1promptOptimizer
: Whether to optimize the prompt, default is truesubjectReference
: Path to local image file or public URL for character reference (optional)outputDirectory
: Directory to save the output file (optional)outputFile
: Path to save the output file (optional, auto-generated if not provided)
Generate videos based on text prompts.
Tool Name: generate_video
Parameters:
prompt
: Video description (required)model
: Model version, options are 'T2V-01', 'T2V-01-Director', 'I2V-01', 'I2V-01-Director', 'I2V-01-live', 'S2V-01', default is 'T2V-01'firstFrameImage
: Path to first frame image (optional)outputDirectory
: Directory to save the output file (optional)outputFile
: Path to save the output file (optional, auto-generated if not provided)
Clone a voice from an audio file.
Tool Name: voice_clone
Parameters:
audioFile
: Path to audio file (required)voiceId
: Voice ID (required)text
: Text for demo audio (optional)outputDirectory
: Directory to save the output file (optional)
# Clone the repository
git clone https://github.com/MiniMax-AI/MiniMax-MCP-JS.git
cd minimax-mcp-js
# Install dependencies
pnpm install
# Build the project
pnpm run build
# Run the MCP server
pnpm start
MIT