wesioiot-mcp
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., "@wesioiot-mcpConvert this text to speech using the Portuguese SmartYoungGirl voice: 'Olá, mundo! Este é um teste de conversão de texto para fala.'"
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.
wesioiot-mcp
MCP server for MiniMax media (TTS, image, video, music) routed through the wesioiot proxy (api.wesioiot.top).
Available tools (7)
Tool | Function | Approx. cost |
| TTS (PT-BR voices, hex audio) | $0.10 / 1k chars |
| Lists 8 available PT-BR voices | free |
| Image generation (image-01) | $0.02 / image |
| Video generation (Hailuo 2.3, async) | $0.20–0.50 / video |
| Poll video job | free |
| Music generation (music-2.6, sync/async) | $0.10 / song |
| Poll music job | free |
Related MCP server: mmxomni
What is the wesioiot proxy
api.wesioiot.top is an OpenAI-compatible proxy that fronts the MiniMax API. It authenticates clients with mmx-… tokens (instead of direct sk-cp-… keys from MiniMax), allowing per-client rate limiting, audit logging, and quota control. This MCP uses the proxy for all media calls, so the same token used in chat works here.
Installation
1. Install dependencies
npm installRequires Node.js 20+.
2. Get a proxy token
You need an mmx-… key issued by the wesioiot proxy. If you run the proxy, create the key via the dashboard or directly in SQLite:
node -e "
const Database = require('better-sqlite3');
const db = new Database('/caminho/para/proxy/data/proxy.sqlite');
const k = db.prepare('SELECT key FROM api_keys WHERE label=?').get('seu-label');
console.log(k.key);
"3. Configure the MCP
Option A — hermes mcp add (Hermes Agent)
printf "y\ny\n" | hermes mcp add wesioiot-mcp \
--command node \
--env WESIOIOT_API_KEY=mmx-... \
--env WESIOIOT_API_HOST=https://api.wesioiot.top \
--env WESIOIOT_MCP_BASE_PATH=/caminho/para/output \
--args /caminho/absoluto/para/wesioiot-mcp/build/index.js
# Bug conhecido: o `hermes mcp add --env` só salva a última env var.
# Patchear as outras com:
hermes config set mcp_servers.wesioiot-mcp.env.WESIOIOT_API_KEY mmx-... --force
hermes config set mcp_servers.wesioiot-mcp.env.WESIOIOT_API_HOST https://api.wesioiot.top --force
hermes config set mcp_servers.wesioiot-mcp.enabled true --forceOption B — Generic MCP client (stdio)
Configure your client to run:
node /caminho/absoluto/para/wesioiot-mcp/build/index.jsWith the environment variables:
Variable | Required | Default | Example |
| ✅ | — |
|
| ❌ |
| Custom proxy URL |
| ❌ |
|
|
4. Validate
hermes mcp test wesioiot-mcp
# Esperado: ✓ Connected (~20s) + 7 toolsTool parameters
text_to_audio
text(string, required) — text to synthesizevoiceId(string) — voice ID (default:Portuguese_FascinatingBoy)model(string) —speech-02-hd,speech-02-turbo,speech-2.6-hd,speech-2.8-turbospeed(number 0.5–2.0) — speech speedvol(number 0.1–10.0) — volumepitch(number -12 to 12) — pitch shiftoutputDirectory(string) — where to save the MP3 (default:WESIOIOT_MCP_BASE_PATH)
text_to_image
prompt(string, required) — image descriptionaspectRatio(string) —1:1,16:9,9:16, etc.n(number) — number of images (default 1)outputDirectory(string) — where to save
generate_video
prompt(string, required) — video descriptionReturns a
taskId. Usequery_video_generationto check.
music_generation
lyrics(string, required) — song lyricsprompt(string) — style descriptiontitle(string) — song titlestyle(string) — musical styleoutputDirectory(string) — where to saveCan return synchronously (direct audio) or asynchronously (task_id).
Available PT-BR voices
Portuguese_FascinatingBoy (padrão)
Portuguese_SmartYoungGirl
Portuguese_ConfidentWoman
Portuguese_Wiselady
Portuguese_Deep-VoicedGentleman
Portuguese_Jovialman
Portuguese_ThoughtfulMan
Portuguese_Strong-WilledBoyArchitecture
┌──────────────┐ stdio ┌──────────────────┐ HTTPS ┌──────────────────┐
│ MCP client │ ─────────▶ │ wesioiot-mcp │ ─────────▶ │ api.wesioiot.top │
│ (Hermes AI) │ JSON-RPC │ (Node.js stdio) │ Bearer │ (proxy) │
└──────────────┘ └──────────────────┘ mmx-... └────────┬─────────┘
│ upstream
▼
┌──────────────────┐
│ api.minimax.io │
│ (MiniMax) │
└──────────────────┘The proxy audits each call, applies per-key rate limiting, and forwards to the upstream MiniMax API. The mmx-… token is only valid against the proxy.
Why a separate MCP
The official minimax-mcp package from MiniMax connects directly to api.minimax.io with a personal sk-cp-… key. This server:
Uses your proxy token (
mmx-…) – media goes through the same billing/audit pipeline as chatRemoves
voice_clone,voice_design, andplay_audio(not exposed by the proxy)Maintains the same JSON-RPC / stdio interface, so any MCP-compatible client works
You can run both MCPs in parallel: minimax-mcp for voice cloning, wesioiot-mcp for everything that should be billed through the proxy.
License
GXP8
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for Hailuo (MiniMax) AI video generation
MCP server for MiniMax H3 multimodal video generation
MCP server for Wan AI video generation
MCP server for Google Veo AI video generation
Related MCP Servers
- AlicenseAqualityNot gradedmaintenanceEnables interaction with MiniMax AI APIs for text-to-speech, voice cloning, video generation, image generation, and music creation through MCP clients like Claude Desktop and Cursor.9MIT
- 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.3,593 npmMIT
- AlicenseNot gradedqualityDmaintenanceMCP server for MiniMax's multimodal generation models, enabling text-to-speech, voice cloning, image, video, and music creation through natural language.MIT
- AlicenseAqualityCmaintenanceMulti-provider media generation MCP server that generates images, videos, audio, and transcriptions from text prompts using OpenAI, xAI, Gemini, ElevenLabs, and BFL through a single unified interface.643 npm1MIT