Skip to main content
Glama

MiniMax H3 MCP

PyPI Python License

Model Context Protocol server for MiniMax H3 multimodal video generation through AceDataCloud.

Capabilities

  • Text-to-video

  • Image-, video-, and audio-guided video generation

  • 4–15 second output in 768P or 2K, with adaptive, landscape, portrait, and square ratios

  • Optional asynchronous submission, task retrieval, batch retrieval, and deletion

  • Hosted OAuth HTTP transport and local stdio transport

Related MCP server: minimax-omni

Tools

Tool

Purpose

minimax_generate_video_from_text

Generate from a detailed prompt

minimax_generate_video_from_images

Generate from one to nine image URLs

minimax_generate_video_from_audio

Generate with one to three audio URLs and required images

minimax_generate_video

Generate from the full documented content schema

minimax_list_tasks

List tasks with optional timestamp filters

minimax_get_task

Retrieve one task

minimax_get_tasks_batch

Retrieve several tasks

minimax_delete_task

Delete one task

minimax_list_models

Show model constraints

minimax_list_actions

Show available workflows

Connect: hosted OAuth, API token, or local stdio

The hosted endpoint is https://minimax.mcp.acedata.cloud/mcp. Choose one route for the MCP client:

Route

When to use it

Credential setup

Hosted OAuth

The client supports remote MCP OAuth

Add only the URL, then sign in to AceDataCloud and approve access. No token needs to be pasted into client configuration.

Hosted API token

The client cannot finish OAuth, or you need an explicit integration credential

Send an AceDataCloud API token in the Authorization: Bearer … header. Keep it in a local secret store or environment variable.

Local stdio

The client runs a local MCP process

Install mcp-minimax and pass ACEDATACLOUD_API_TOKEN to that process. It still calls the AceDataCloud API.

The hosted service advertises OAuth metadata and Dynamic Client Registration (DCR). DCR registers the client application; it is not an API key. OAuth signs you in and the client sends the resulting Bearer token; it may reuse or create an API credential for the account. Browser sign-in still requires an AceDataCloud account. The hosted service can be metered: review current service documentation and displayed pricing before a real operation. Do not configure both an OAuth login and a fixed Authorization header for the same server.

Hosted OAuth examples

  • Claude and Claude Desktop chat: Add a remote custom connector in Customize → Connectors → Add custom connector, enter https://minimax.mcp.acedata.cloud/mcp, select sign-in, and choose Register automatically if Claude asks how to register its OAuth client. Complete consent. Claude Desktop's local claude_desktop_config.json is a separate setup. Claude connector guide.

  • Claude Code: claude mcp add --transport http --scope user minimax https://minimax.mcp.acedata.cloud/mcp, then claude mcp login minimax. Check /mcp. Claude Code MCP guide.

  • Cursor: Add a remote server with only https://minimax.mcp.acedata.cloud/mcp. For a project, merge the entry below into <project>/.cursor/mcp.json; for personal use, use ~/.cursor/mcp.json. Cursor MCP guide.

  • VS Code / Copilot: Run MCP: Add Server, select HTTP, enter https://minimax.mcp.acedata.cloud/mcp, then finish the browser sign-in. New portable workspace configs use <project>/.mcp.json; the VS Code-specific format below uses <project>/.vscode/mcp.json or the user profile. Check MCP: List Servers. VS Code MCP setup.

  • Codex: codex mcp add minimax --url https://minimax.mcp.acedata.cloud/mcp, then codex mcp login minimax. Its user settings are in ~/.codex/config.toml. Official Codex MCP guide.

Cursor project config (OAuth):

{
  "mcpServers": {
    "minimax": {"url": "https://minimax.mcp.acedata.cloud/mcp"}
  }
}

VS Code-specific workspace config (OAuth):

{
  "servers": {
    "minimax": {"type": "http", "url": "https://minimax.mcp.acedata.cloud/mcp"}
  }
}

Hosted API token

  1. Open Ace Data Cloud → Applications. Sign in, or register an account first.

  2. Find General application. If it has not been created, choose Initialize General Application. A general key can use the services available to your account; a dedicated application's key is limited to its service. Check the required service/model access and current pricing.

  3. Copy the API Key from the application card, or open Keys / Manage Keys → Create to create a separate key for this integration. Give it a recognizable name so you can revoke or rotate it independently.

  4. When creating a key, review Expiration Time, Set Usage Limitation, and Allowed APIs. Enable only the restrictions you need, allow the operations you will call, then click Create and copy the token from the key list. Task lookup does not grant permission to submit a generation. Confirm the application's balance can cover your first request; any trial allowance is whatever your account currently displays.

  5. Copy only the token value, without quotation marks, spaces, or Bearer . An API Key / API Token field expects this raw value; only a manually configured HTTP Authorization header needs the Bearer prefix. A platform-... account-management token cannot replace a generation API key.

Copy an application API key or open Manage Keys

Create a separately named key with optional restrictions

Save the key in the client's credential store or the environment variable shown below. Never put it in a prompt, shared workflow, screenshot, or Git commit. If authentication fails, check the full copied value, application/service access, expiration, usage limit, and balance before creating another key.

A fixed Bearer header bypasses OAuth. If the header is invalid, remove it before trying browser sign-in; keep the saved credential private.

For Claude Code, the shell expands the token when you add the server; treat the saved user MCP config as a secret:

export ACEDATACLOUD_API_TOKEN='YOUR_API_TOKEN'
claude mcp add --transport http --scope user minimax https://minimax.mcp.acedata.cloud/mcp \
  --header "Authorization: Bearer $ACEDATACLOUD_API_TOKEN"

For a Claude Code project config, put a variable reference in <project>/.mcp.json and set that variable in the environment that launches Claude Code:

{
  "mcpServers": {
    "minimax": {
      "type": "http",
      "url": "https://minimax.mcp.acedata.cloud/mcp",
      "headers": {"Authorization": "Bearer ${ACEDATACLOUD_API_TOKEN}"}
    }
  }
}

Cursor uses a different environment-variable syntax in ~/.cursor/mcp.json or an uncommitted project config:

{
  "mcpServers": {
    "minimax": {
      "url": "https://minimax.mcp.acedata.cloud/mcp",
      "headers": {"Authorization": "Bearer ${env:ACEDATACLOUD_API_TOKEN}"}
    }
  }
}

In VS Code, run MCP: Open User Configuration and merge this server plus its masked input; ${input:...} is for VS Code's user/workspace format and is not portable to the Agent Host .mcp.json format:

{
  "inputs": [
    {"id": "acedata-minimax-token", "type": "promptString", "description": "AceDataCloud API token", "password": true}
  ],
  "servers": {
    "minimax": {
      "type": "http",
      "url": "https://minimax.mcp.acedata.cloud/mcp",
      "headers": {"Authorization": "Bearer ${input:acedata-minimax-token}"}
    }
  }
}

For Cline, use its MCP configuration UI or CLI file ~/.cline/data/settings/cline_mcp_settings.json; its remote transport value is streamableHttp. For JetBrains AI Assistant, add a remote URL from Settings → Tools → AI Assistant → Model Context Protocol (MCP). For Zed, use a context_servers entry with the URL only for OAuth or add a local Bearer header. These clients have different configuration schemas; follow their current UI rather than copying another client's JSON. Cline · JetBrains · Zed.

Local stdio

Install the package and give the local process an API token:

python -m pip install mcp-minimax
export ACEDATACLOUD_API_TOKEN='YOUR_API_TOKEN'
mcp-minimax

For Claude Desktop local MCP, merge this entry into the file opened by its developer settings (~/Library/Application Support/Claude/claude_desktop_config.json on macOS). uvx requires uv on PATH:

{
  "mcpServers": {
    "minimax": {
      "command": "uvx",
      "args": ["mcp-minimax"],
      "env": {"ACEDATACLOUD_API_TOKEN": "YOUR_API_TOKEN"}
    }
  }
}

Keep this user-level file private. Self-hosted HTTP uses mcp-minimax --transport http --port 8000; expose it only with suitable network and TLS controls. Local execution still calls the AceDataCloud API.

Check before using the service

  1. https://minimax.mcp.acedata.cloud/health returning {"status":"ok"} checks endpoint reachability only.

  2. Confirm that the MCP client loads tools. minimax_list_models is a reference tool; it does not verify downstream API access or balance.

  3. If you need a full API check, call minimax_generate_video with your own valid input after reviewing current service documentation and displayed pricing. If the result contains a task ID, call minimax_get_task on that same ID until terminal success or failure. Do not resubmit the operation just to check progress.

For 401, check which auth route the client used and whether the token or OAuth session is valid. A 403 may mean an account permission or content moderation failure; read the returned error. Insufficient balance and downstream service failures need their own diagnosis. A listed tool or submitted task does not prove a successful result.

Development

pip install -e ".[dev,test]"
ruff check .
pytest --cov=core --cov=tools
mypy core tools

Documentation

Documentation

License

MIT

Available Tools

10 tools
minimax_delete_taskBInspect

Delete a MiniMax video generation task.

Inputs: task_id (required). Returns: result

minimax_generate_videoDInspect

Generate a video from the full MiniMax content schema.

Inputs: content (required), async, model, ratio, +3 more. Returns: result

minimax_generate_video_from_audioAInspect

Generate a MiniMax H3 video guided by audio and reference images.

Audio-guided generation uses reference mode exclusively (reference_audio
forces the entire content into reference-to-video mode per the H3 v2 contract).

Inputs: prompt (required), audio_urls (required), image_urls (required), async, +5 more. Returns: result

minimax_generate_video_from_imagesAInspect

Generate from one first-frame image or multiple reference images.

Single image uses first_frame mode; multiple images use reference_image mode.
The two modes are mutually exclusive per MiniMax H3 v2 API contract.

Inputs: prompt (required), image_urls (required), async, model, +4 more. Returns: result

minimax_generate_video_from_textBInspect

Generate a MiniMax H3 video from a text prompt.

Inputs: prompt (required), async, model, ratio, +3 more. Returns: result

minimax_get_taskAInspect

Query the status and result of a video generation task.

Use this to check if a generation is complete and retrieve the resulting
video URLs and other metadata.

Use this when:
- You want to check if a generation has completed
- You need to retrieve video URLs from a previous generation
- You want to get the full details of a generated video

Task states:
- 'queued' or 'running': Generation is still in progress
- 'succeeded': Generation finished successfully
- 'failed' or 'cancelled': Generation reached a terminal error state

Returns:
    Task status and generated video information including URLs and status.

Inputs: task_id (required). Returns: result

minimax_get_tasks_batchAInspect

Query multiple video generation tasks at once.

Efficiently check the status of multiple tasks in a single request.
More efficient than calling minimax_get_task multiple times.

Use this when:
- You have multiple pending generations to check
- You want to get status of several videos at once
- You're tracking a batch of generations

Returns:
    Status and video information for all queried tasks.

Inputs: task_ids (required). Returns: result

minimax_list_actionsAInspect

List MiniMax H3 generation and task tools.

Inputs: no named parameters. Returns: result

minimax_list_modelsBInspect

Describe the MiniMax H3 model and supported input modes.

Inputs: no named parameters. Returns: result

minimax_list_tasksAInspect

List video generation tasks, optionally filtered by creation timestamp.

Inputs: limit, offset, created_at_max, created_at_min. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 10 tools

    Disambiguation5/5

    Each tool targets a distinct operation: discovery (list_models, list_actions), task management (list_tasks, get_task, get_tasks_batch, delete_task), and generation (text/images/audio/full schema). Even the similar generation tools are clearly separated by input type and explicit mode constraints.

    Naming Consistency5/5

    All tools follow a strict snake_case verb_noun pattern with a consistent 'minimax_' prefix. The pattern is uniform: list_*, get_*, delete_*, generate_video_from_*. Minor differences like get_tasks_batch still match the convention.

    Tool Count5/5

    Ten tools is well-scoped for a video generation server. Each tool covers a necessary part of the workflow—discovery, generation (four input modes), tracking, and deletion—without redundant or superfluous entries.

    Completeness5/5

    The tool surface provides complete lifecycle coverage: describe capabilities, generate videos from all supported input types, query single/batch tasks, and delete tasks. No obvious dead ends or missing critical operations for the stated domain.

    Maintenance

    ActivityActive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers