v1 MCP Voice Soundboard
TypeScript · Node.js · MCP

Give your agent a voice.

48 voices, 9 languages, 5 presets, emotion spans, SSML-lite, SFX tags, and multi-speaker dialogue. Ships as a single npx command.

Quick start

# one command — no install required npx @mcptoolshop/voice-soundboard-mcp # Claude Desktop / MCP client config { "mcpServers": { "voice-soundboard": { "command": "npx", "args": ["-y", "@mcptoolshop/voice-soundboard-mcp"] } } }

Speak & emote

// synthesize with emotion spans voice_speak({ text: "[happy]Great news![/happy] But [sad]I have to go.[/sad]", voice: "narrator", // preset: calm documentary style sfx: true }) // multi-speaker dialogue voice_dialogue({ script: "Alice: Hello!\nBob: [excited]Hey there![/excited]", cast: { Alice: "af_sky", Bob: "am_fenrir" } })

Status & control

// check available voices and backend health voice_status() // stop active synthesis voice_interrupt({ reason: "user_spoke" }) // ambient micro-utterance (requires --ambient flag) voice_inner_monologue({ text: "Interesting...", category: "thinking" })

Built for AI agents

MCP native, expressive by default, and safe to ship — everything an AI agent needs to speak out loud.

MCP native

stdio transport, works with Claude Desktop, Cursor, and any MCP client. Five tools: voice_speak, voice_dialogue, voice_status, voice_interrupt, voice_inner_monologue.

48 voices, 9 languages

English (American + British), Japanese, Mandarin, Spanish, French, Hindi, Italian, Brazilian Portuguese. Five curated presets: narrator, announcer, whisper, storyteller, assistant.

Guardrails built in

Rate limiting, concurrency semaphore, request timeouts, path traversal protection, and secret redaction. Swappable backends: mock, HTTP proxy, or bring your own.

Five MCP tools

Every voice operation an AI agent needs.

Tool
What it does
voice_speak
Synthesize speech — text, voice/preset, speed, format, SFX, artifact mode
voice_dialogue
Multi-speaker synthesis — Speaker: line format, auto-cast, concat, cue sheet
voice_status
Engine health, available voices, presets, and backend info
voice_interrupt
Stop or rollback active synthesis with optional reason code
voice_inner_monologue
Ephemeral ambient micro-utterances — max 500 chars, auto-redacted

Get started

Install & run

npx @mcptoolshop/voice-soundboard-mcp

# or install globally
npm install -g @mcptoolshop/voice-soundboard-mcp
voice-soundboard-mcp

Emotion spans

// 8 emotions: happy, sad, angry, fearful,
// surprised, disgusted, calm, excited
voice_speak({
  text: "[calm]Here is your summary.[/calm]"
})

Multi-speaker dialogue

voice_dialogue({
  script:
    "Narrator: Once upon a time...\n" +
    "Hero: I'll take on the quest!",
  cast: {
    Narrator: "storyteller",
    Hero: "am_fenrir"
  }
})

CLI options

npx @mcptoolshop/voice-soundboard-mcp \
  --artifact=base64 \
  --max-concurrent=2 \
  --timeout=30000 \
  --ambient

Rich expression

Inline markup for prosody, timing, and effects — no full SSML required.

Emotion spans

Eight emotions via [happy]...[/happy] inline markup. Wrap any phrase to shift prosody — stack them across a sentence for nuanced delivery.

SSML-lite & SFX

<break>, <emphasis>, <prosody> for timing control. SFX tags [ding], [chime], [whoosh], [tada], [error], [click] for inline sound effects.

Swappable backends

Mock backend ships built-in — zero setup. HTTP proxy and Python bridge for production. Plug in Kokoro, Coqui, ElevenLabs, or any TTS engine.

Ship Gate scorecard

v1.0.0 — audited against our product quality standard.

Category
Score
Highlights
Security
10/10
SECURITY.md, threat model, redaction, no telemetry
Error handling
8/10
Structured errors (code/hint/retryable), toToolError pattern
Operator docs
9/10
README, CHANGELOG, HANDBOOK, Zod-documented tools
Shipping hygiene
9/10
CI, verify script, dependabot, lockfile, 344 tests
Identity
10/10
Logo, 8 translations, landing page, repo metadata