A Model Context Protocol (MCP) server that provides voice generation capabilities using the Minimax AI API. This server converts text to speech and automatically uploads the generated audio files to Amazon S3 for easy access and sharing.
- Text-to-Speech Generation: Convert text to high-quality speech using Minimax AI's voice synthesis API
- S3 Integration: Automatically upload generated audio files to Amazon S3 with organized directory structure
- MCP Protocol Support: Full compatibility with Model Context Protocol for seamless integration with AI assistants
- Authentication: Built-in API key authentication for secure access
- Multiple Transport Modes: Support for HTTP, SSE, and STDIO transport protocols
- Docker Support: Easy deployment with Docker and Docker Compose
- Configurable Audio Settings: Customizable sample rate, bitrate, and format options
- Python 3.8 or higher
- Minimax AI API credentials
- Amazon S3 bucket and credentials
- (Optional) Docker and Docker Compose for containerized deployment
-
Clone the repository
git clone <repository-url> cd voice-gen-mcp
-
Create a virtual environment
python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Configure environment variables
cp env.example .env # Edit .env with your actual configuration values
-
Build the Docker image
docker build -t voice-gen-mcp . -
Run with Docker Compose
cp env.example .env # Edit .env with your configuration docker-compose up -d
Create a .env file based on env.example with the following required variables:
VOICE_GEN_API_GROUP_ID=your_minimax_group_id
VOICE_GEN_API_KEY=your_minimax_api_keyS3_BUCKET_NAME=your_s3_bucket_name
S3_REGION=us-east-1
S3_ACCESS_KEY_ID=your_s3_access_key_id
S3_SECRET_ACCESS_KEY=your_s3_secret_access_key
S3_ENDPOINT=https://s3.amazonaws.com
S3_PREFIX=voice-gen/python3 server.pydocker run -d \
--name voice-gen-mcp \
-p 8000:8000 \
--env-file .env \
voice-gen-mcpdocker-compose up -dThe server supports multiple transport modes:
- HTTP:
http://localhost:8000/mcp - SSE:
http://localhost:8000/sse - STDIO: Direct process communication
Converts text to speech and uploads to S3.
Parameters:
text(string, required): The text to convert to speechmodel(string, optional): Model to use (default: "speech-2.5-hd-preview")voice_id(string, optional): Voice ID to use (default: "mylxsw_voice_1")speed(float, optional): Speech speed (default: 1.0, typically 0.5-2.0)
Returns:
- Success message with S3 URL and file size
- Error message if generation fails
Example:
{
"text": "Hello, this is a test of the voice generation system.",
"model": "speech-2.5-hd-preview",
"voice_id": "mylxsw_voice_1",
"speed": 1.2
}Speed Control:
speed = 0.5: Half speed (slower speech)speed = 1.0: Normal speed (default)speed = 1.5: 1.5x speed (faster speech)speed = 2.0: Double speed (very fast speech)