ollama-tts-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OLLAMA_HOST | No | Ollama server. | http://localhost:11434 |
| OLLAMA_TTS_MODEL | No | The Ollama speech model to use, e.g. `phonon:multilingual` for French, German, Spanish, Portuguese (CC BY-NC 4.0). | phonon |
| OLLAMA_TTS_VOICE | No | Default voice. | default |
| OLLAMA_TTS_AUTOSTART | No | Start `ollama serve` when it isn't running. | 1 |
| OLLAMA_TTS_OUTPUT_DIR | No | Where `text_to_speech` saves files. | ~/Desktop |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Offline text-to-speech that runs on this computer through Ollama. Use speak to say something out loud to the user, and text_to_speech to save speech to an audio file. Write spoken text the way a person would say it: short, conversational sentences, no code, tables or long URLs. Use list_voices to see the voices and stop_speaking to stop.
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 |
|---|---|
| speakA | Say text out loud through this computer's speakers, fully offline. Use it when the user asks you to speak, read something aloud, or announce a result.
Markdown, code blocks and URLs are tidied up before speaking. Playback runs in the
background and queues behind anything already playing; call Args:
text: What to say. Any length; long text is split at sentence boundaries.
voice: Voice name, case-insensitive (e.g. "Zoey", "Hugh", "Freya"). Defaults to the
configured voice. See |
| text_to_speechA | Convert text to speech and save it as an audio file, fully offline. Does not play it. Args:
text: The text to turn into speech. Any length.
voice: Voice name, case-insensitive (e.g. "Zoey", "Hugh"). See |
| list_voicesA | List the voices available in an Ollama speech model, and the speech models installed. Args: model: Speech model tag to inspect. Defaults to the configured model. |
| stop_speakingA | Stop the speech that is playing now and drop anything queued after it. |
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 4 tools
Each tool has a clearly distinct purpose: speak plays audio, text_to_speech saves to a file without playing, list_voices enumerates voices/models, and stop_speaking halts playback. The play-vs-save distinction between speak and text_to_speech is explicitly called out, leaving little room for misselection.
list_voices and stop_speaking follow a clean verb_noun pattern, and speak is a simple verb, but text_to_speech is a noun-phrase outlier rather than an action verb like convert_text_to_speech. The set remains highly readable and predictable overall, with only that minor deviation.
Four tools is a well-scoped surface for an offline TTS server: one playback tool, one file-export tool, one discovery tool, and one interruption tool. Each earns its place with no redundancy.
The core lifecycle is covered: discover voices/models, speak aloud, export audio, and stop playback. Minor gaps exist around playback control (e.g. pause/resume, volume/speed adjustment, or checking playback status), but agents can work around these.