gemini-tts-mcp
This is a local Gemini-based Text-to-Speech (TTS) MCP server with automatic API key rotation, model fallback, and 30 multilingual voices. Here's what you can do:
Generate speech audio (
generate_speech): Convert text into audio files (WAV, MP3, OGG, M4A, FLAC) with control over voice, speaking style, pitch factor, output path, and optional model override. Models automatically fall back betweengemini-3.1-flash-tts-previewandgemini-2.5-flash-preview-tts.Browse voices (
list_voices): List all 30 multilingual voices with gender, tone, and description; optionally filter by gender and/or tone (e.g., "Soft", "Bright", "Firm", "Warm", "Upbeat").Quick gender filter (
list_voices_by_gender): Shortcut to list only male or female voices.Manage API keys (
reload_keys): Reload keys from~/.gemini-tts-mcp/keys.jsonor environment variables without restarting.Check key status (
pool_status): See how many API keys are currently active in the rotation pool.
The server runs locally (keys never leave your machine) and offers automatic resilience with key rotation on quota/errors.
Provides text-to-speech generation using Gemini TTS models, with features like key rotation, model fallback, 30 multilingual voices, pitch control, and configurable speaking styles.
Click on "Install 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., "@gemini-tts-mcpsay 'Hello, world!' in a friendly tone"
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.
Gemini TTS MCP
Multi-key Gemini TTS server (MCP) with automatic API key rotation and model fallback.
No baked-in voice, accent, or persona — all parameters are explicit.
Features
🔄 Key rotation — pool of Gemini API keys; auto-rotates on quota/error
📉 Model fallback — tries
gemini-3.1-flash-tts-preview→gemini-2.5-flash-preview-tts🗣️ 30 voices — full catalog with gender, tone, and description
🔍 Filter by gender/tone —
list_voices(male/female)or by tone name🎚️ Pitch control —
pitch_factorparameter (ffmpeg-based)🌐 Multilingual — any voice speaks the language of your input text
🧩 MCP-native — register in any MCP host (Claude Desktop, Hermes Agent, etc.)
Related MCP server: gemini-webapi-mcp
Quick Start
1. Install
⚠️ Not available on PyPI — install from source (see below).
pip install mcp google-genaiinstalls dependencies only, not this project.
Option A — Clone the repo (recommended):
git clone https://github.com/alarconcesar/gemini-tts-mcp.git
cd gemini-tts-mcp
pip install mcp google-genaiOption B — From anywhere (source must be in PYTHONPATH):
pip install mcp google-genai
# then clone & run from the repo directory2. Set up API keys
Create ~/.gemini-tts-mcp/keys.json:
["AIzaSy...key1", "AIzaSy...key2"]Or set an env var: export GEMINI_API_KEY="AIzaSy...your_key"
3. Run (from the repo directory)
cd gemini-tts-mcp
python -m gemini_tts_mcp.server4. Register in any MCP host
Hermes Agent (~/.hermes/config.yaml):
mcp_servers:
gemini-tts:
command: "python"
args: ["-m", "gemini_tts_mcp.server"]Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"gemini-tts": {
"command": "python",
"args": ["-m", "gemini_tts_mcp.server"]
}
}
}Tools
Tool | Description |
| Text → audio file (WAV, MP3, OGG, M4A, FLAC) |
| Browse all 30 voices (filter by gender/tone) |
| Shortcut: |
| Refresh API key pool from disk/env |
| Check how many keys are configured |
generate_speech parameters
Param | Default | Description |
| (required) | Text to vocalize |
|
| Any of the 30 voices |
|
| Speaking style e.g. "softly", "cheerfully", "in a calm tone" |
|
| >1 = higher pitch, <1 = lower |
|
| Output format: |
|
| Override model (auto fallback if omitted) |
|
| Custom WAV path |
Voice Catalog
All 30 voices are multilingual — any voice speaks the language of your input text.
Female voices (16):
Voice | Tone | Description |
Achernar | Soft | Gentle, mellow tone |
Aoede | Breezy | Casual, relaxed delivery |
Autonoe | Bright | Clear, vibrant expression |
Callirrhoe | Easy-going | Laid-back, comfortable style |
Despina | Smooth | Refined, elegant tone |
Erinome | Clear | Crisp, distinct articulation |
Gacrux | Mature | Experienced, seasoned quality |
Kore | Firm | Assertive, confident delivery |
Laomedeia | Upbeat | Positive, energetic style |
Leda | Youthful | Young-sounding, fresh voice |
Pulcherrima | Forward | Direct, straightforward style |
Sterope | Forward | Bold, direct presentation |
Sulafat | Warm | Comforting, affectionate quality |
Vindemiatrix | Gentle | Soft, kind delivery |
Zephyr | Bright | High energy, clear articulation |
Male voices (15):
Voice | Tone | Description |
Achird | Friendly | Warm, approachable tone |
Algieba | Smooth | Polished, fluid delivery |
Algenib | Gravelly | Rough, textured quality |
Alnilam | Firm | Steady, resolute delivery |
Charon | Informative | Educational, explanatory style |
Enceladus | Breathy | Soft, airy quality |
Fenrir | Excitable | Energetic, animated expression |
Iapetus | Clear | Precise, well-articulated |
Orus | Firm | Strong, authoritative tone |
Puck | Upbeat | Cheerful, enthusiastic tone |
Rasalgethi | Informative | Educational, instructive |
Sadachbia | Lively | Energetic, spirited expression |
Sadaltager | Knowledgeable | Expert, well-informed tone |
Schedar | Even | Balanced, consistent tone |
Umbriel | Easy-going | Relaxed, conversational |
Zubenelgenubi | Casual | Informal, conversational |
Key management
Keys are loaded from ~/.gemini-tts-mcp/keys.json (a JSON array of strings), with env var fallback. The server rotates through the pool on each request, skipping failed keys per model. If all keys fail on one model, it falls back to the next model.
Use reload_keys() to refresh without restarting.
Security
API keys never leave your machine — the MCP server runs locally
.gitignoreexcludeskeys.jsonkeys.json.exampleprovided as a template
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceAn MCP server that leverages the Microsoft Edge TTS service to provide high-quality text-to-speech capabilities across over 80 languages. It enables users to generate audio files, query available voices, and create subtitle files using natural language commands.
- AlicenseAqualityBmaintenanceMCP server for Google Gemini that enables image generation, editing, file analysis, and chat using browser cookies, no API key needed.647AGPL 3.0
- AlicenseBqualityCmaintenanceMCP server for generating images and audio using Google's Gemini AI models.22MIT
- Alicense-qualityCmaintenanceA text-to-speech MCP server with 48 voices across 9 languages, supporting emotion spans, SFX tags, and multi-speaker dialogue. Deployable via a single npx command with built-in guardrails and swappable backends.MIT
Related MCP Connectors
MCP server for Google Veo AI video generation
MCP server exposing the AceDataCloud Fish Audio API (text-to-speech with voice conditioning)
MCP server for Hailuo (MiniMax) AI video generation
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/alarconcesar/gemini-tts-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server