From mcp-tts
Configure TTS voice — first-time setup, toggle categories, set provider/voices, adjust thresholds
npx claudepluginhub stitts-dev/hub --plugin mcp-ttsThis skill uses the workspace's default tool permissions.
Interactive control panel for the TTS voice system.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Analyzes BMad project state from catalog CSV, configs, artifacts, and query to recommend next skills or answer questions. Useful for help requests, 'what next', or starting BMad.
Interactive control panel for the TTS voice system.
get_voice_config to read current settingsneedsSetup is true: run the Setup flow (below) firstTTS Voice Config
─────────────────
Provider: [piper] Enabled: [yes]
Threshold: [500 chars]
Piper voice: [en_US-norman-medium] Speed: [1.0]
Categories:
completions ✓ voice: jessica
errors ✓ voice: rob
questions ✓ voice: edward
status ✓ voice: daniel
summaries ✓ voice: daniel
plans ✓ voice: edward
Default voice: edward
AskUserQuestion call. Include current values in each question text so the user knows what they're changing from:{
"questions": [
{
"question": "TTS Provider? (currently: elevenlabs)",
"header": "Provider",
"multiSelect": false,
"options": [
{ "label": "elevenlabs", "description": "Cloud TTS via ElevenLabs API (requires API key)" },
{ "label": "piper", "description": "Local TTS via piper-rs — free, offline, no API key needed" }
]
},
{
"question": "Which categories should be enabled? (Other for: summaries, plans)",
"header": "Categories",
"multiSelect": true,
"options": [
{ "label": "completions", "description": "Task completions" },
{ "label": "errors", "description": "Build/test failures" },
{ "label": "questions", "description": "Blocking questions" },
{ "label": "status", "description": "Progress updates" }
]
},
{
"question": "Default voice? (currently: edward) — ElevenLabs voices only; Piper voice set separately. Other for: archer, donovan, juniper, mark-casual, mark-natural, cassidy, spuds, rob, adam",
"header": "Voice",
"multiSelect": false,
"options": [
{ "label": "edward", "description": "British, deep, composed (default)" },
{ "label": "jessica", "description": "Eloquent, dramatic" },
{ "label": "daniel", "description": "Steady broadcaster" },
{ "label": "austin", "description": "Deep, raspy, authentic" }
]
}
]
}
If the user selected piper as provider, additionally ask:
{
"questions": [
{
"question": "Piper voice? (currently: en_US-norman-medium)",
"header": "Piper Voice",
"multiSelect": false,
"options": [
{ "label": "en_US-norman-medium", "description": "Norman — direct, clear (61 MB)" },
{ "label": "en_US-l2arctic-medium", "description": "L2Arctic — calm, steady (73 MB)" },
{ "label": "en_US-kusal-medium", "description": "Kusal — alternative (60 MB)" }
]
}
]
}
set_voice_config callspeak("TTS settings updated.", category: "status")When get_voice_config returns needsSetup: true:
AskUserQuestion to ask them to paste their key:
setup_tts with the key (ElevenLabs only)speak("Voice setup complete. Welcome to TTS mode.", category: "completions") to test itedward, daniel, jessica, austin, archer, donovan, juniper, mark-casual, mark-natural, cassidy, spuds, rob, adam