- Home
- MCP servers
- Voice Gen
Voice Gen
- python
1
GitHub Stars
python
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
This MCP server provides text-to-speech capabilities by interfacing with the Minimax AI API and automatically uploads the generated audio to Amazon S3. It supports multiple transport modes for flexible integration with AI assistants and includes built-in API key authentication for secure access.
How to use
You will interact with the server through an MCP client or via local stdio to generate speech from text. Use the HTTP endpoints for standard MCP requests, the SSE endpoint for server-sent events, or run the server locally and communicate through stdio. When you request voice generation, you provide the text and optional parameters such as model, voice, and speed. The server returns a confirmation with the S3 URL where the audio file is stored and its size.
How to install
Prerequisites: Python 3.8 or higher, Minimax AI API credentials, and an Amazon S3 bucket with credentials. Optionally, you can use Docker and Docker Compose for containerized deployment.
Local installation steps to run the MCP server directly on your machine:
# 1. Create a project directory and move into it
mkdir voice-gen-mcp
cd voice-gen-mcp
# 2. (Optional) Create a virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# 3. Install dependencies
pip install -r requirements.txt
# 4. Configure environment variables
# Create a file named .env with the following values (placeholders shown):
VOICE_GEN_API_GROUP_ID=your_minimax_group_id
VOICE_GEN_API_KEY=your_minimax_api_key
S3_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/
# 5. Run the server locally
python3 server.py
Docker installation
You can deploy using Docker for easy setup and portability.
Docker commands to build and run the MCP server:
# 1. Build the Docker image
docker build -t voice-gen-mcp .
# 2. Run with Docker Compose
cp env.example .env # Edit with your configuration values
docker-compose up -d
MCP connection methods
The server exposes multiple MCP transport endpoints you can connect to from your AI assistant client. Choose the method that best fits your integration workflow.
Configuration
Environment variables you need to set for the server to access voice generation and storage resources were shown in the installation steps. These include credentials for the Minimax AI voice generation API and your Amazon S3 bucket. Provide these values in a single .env file or via your container or hosting platform’s secret management.
Key environment variables include the following (examples shown):
VOICE_GEN_API_GROUP_ID=your_minimax_group_id
VOICE_GEN_API_KEY=your_minimax_api_key
S3_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/
Usage notes
Available tools include the voice generation function which converts text to speech and uploads the resulting audio to S3. You can adjust the voice, model, and speech speed to tailor the output.
The server supports the following transport modes for MCP clients: HTTP, SSE, and STDIO. Use the HTTP endpoint http://localhost:8000/mcp for standard requests, the SSE endpoint http://localhost:8000/sse for streaming updates, or communicate directly via STDIO by running the local Python process.
Security and authentication
Access to the MCP endpoints uses an API key. Keep your API key secret and store it securely in your environment configuration or secret management system.
Available tools
generate_voice
Converts text to speech using the configured Minimax AI model and uploads the resulting audio file to the configured S3 bucket. You can adjust the model, voice, and speed to tailor the output, and you will receive a response containing the S3 URL and file size.