voice-io
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GROQ_API_KEY | No | Optional Groq API key. If not set, the server falls back to local models for text-to-speech and speech-to-text. |
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 |
|---|---|
| text_to_speechA | Convert text to speech, saved to output/. Tries Groq's playai-tts first (free tier, no credit card - requires
GROQ_API_KEY), falling back to a fully local, keyless model (Kokoro-82M,
Apache-2.0) if Groq is unavailable or the key isn't set. The local
fallback always produces a .wav file regardless of Args: text: Text to speak. voice: Groq PlayAI voice name (e.g. "Fritz-PlayAI") - ignored by the local fallback, which always uses Kokoro's "af_heart" voice. output_format: "mp3" or "wav". Only honored on the Groq tier. |
| speech_to_textA | Transcribe a local audio file to text. Tries Groq's whisper-large-v3-turbo first (free tier, no credit card -
requires GROQ_API_KEY), falling back to a fully local, keyless model
(faster-whisper, MIT) if Groq is unavailable or the key isn't set. The
local fallback requires the optional Args: audio_path: Absolute path to a local audio file (mp3/wav/m4a/flac/ ogg/webm/mp4/mpeg/mpga), max 25MB. language: Optional ISO-639-1 language hint (e.g. "en"). Ignored by the local fallback, which auto-detects language. |
| list_voicesA | List known Groq PlayAI voice names usable with text_to_speech's
|
| check_provider_healthA | Check whether Groq's hosted TTS/STT endpoints are currently reachable and whether each local fallback's optional dependency is installed - without running a full local model load (kokoro/faster-whisper can take real time and disk space on first use, which would defeat the point of a quick health check). |
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 distinct role: text_to_speech and speech_to_text are inverse operations, list_voices specifically supports voice selection, and check_provider_health handles environment/endpoint diagnostics. There is no meaningful overlap or ambiguity between any two tools.
All names are snake_case and readable. text_to_speech and speech_to_text form a consistent directional pair, while list_voices and check_provider_health follow a verb_noun pattern; the slight mix is minor and does not hinder prediction.
Four tools is a reasonable, focused footprint for a voice I/O server: TTS, STT, voice enumeration, and health checks. Each tool earns its place without unnecessary redundancy.
The server covers the full core lifecycle of text-to-speech and speech-to-text, plus support for voice discovery and provider/dependency health. No major operations are missing for the stated scope.