gemini-tts-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GEMINI_API_KEY | No | A Gemini API key. Alternatively, keys can be loaded from ~/.gemini-tts-mcp/keys.json (a JSON array of strings). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| generate_speechA | Generate speech audio from text using Gemini TTS. Rotates across all configured API keys and falls back between models. Gemini TTS voices are multilingual — any voice speaks the language of the input text automatically. Args: text: The text content to vocalize. voice_name: Gemini voice (use list_voices to browse). Default: Puck. style_instruction: Optional speaking-style hint prepended to text, e.g. "speak softly", "cheerfully", "in a calm tone". pitch_factor: Pitch adjustment. 1.0 = no change, >1 = higher, <1 = lower. model: Model override. Default: gemini-3.1-flash-tts-preview, falls back to gemini-2.5-flash-preview-tts. output_path: Optional custom output path for the WAV file. Returns: Absolute path to the generated WAV file, or error description. |
| list_voicesA | List all Gemini TTS voices with gender, tone, and description. Optionally filter by gender and/or tone. Gemini TTS voices are multilingual — any voice speaks the language of the input text. Args: filter_gender: Filter by "male", "female" (case-insensitive). filter_tone: Filter by tone name, e.g. "Soft", "Bright", "Firm", "Warm", "Upbeat", "Clear", "Smooth", "Informative", "Easy-going", etc. (case-insensitive). Returns: A formatted table of matching voices. |
| list_voices_by_genderA | List Gemini TTS voices filtered by gender. Args: gender: "male" or "female" (case-insensitive). Returns: A formatted table of matching voices. |
| reload_keysA | Reload API keys from ~/.gemini-tts-mcp/keys.json or env vars. |
| pool_statusA | Check how many API keys are currently configured. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
list_voices and list_voices_by_gender are redundant; list_voices already supports gender filtering via an argument, making the latter unnecessary and causing confusion.
Most tools follow verb_noun pattern (generate_speech, list_voices, reload_keys), but pool_status is a noun phrase and list_voices_by_gender includes a preposition, breaking the pattern slightly.
5 tools is reasonable for a TTS server, though list_voices_by_gender is redundant and could be removed without loss.
Covers core TTS functionality (generation, voice listing, key management), but lacks tools for voice details or configuration persistence.