Server-side playback is one call and needs nothing else. The player is the part worth the setup: audio plays in the client, so it survives a remote connection and a machine with no sound card, and every segment can be re-voiced, re-timed or re-accented after you have heard it. The user dictionary matters more than it sounds — VOICEVOX will mispronounce names until it is taught, and here teaching it is a tool call instead of a trip to another application.
A text-to-speech server driving a local VOICEVOX Engine. It speaks text on the machine running the server, writes a WAV file, or opens an interactive player inside the conversation where each segment can be re-voiced, re-timed and re-accented.
- voicevox_speak plays text immediately with a chosen speaker and speedScale, and can wait for playback to start or finish before it returns
- Several speakers in one call, switched per segment, so a two-character dialogue is a single request rather than a queue of them
- voicevox_speak_player renders a player in the chat through MCP Apps: audio plays on the client side, so the machine running the server needs no audio device and a remote connection still works
- Inside that player — play and pause, track navigation, per-segment speed, volume, intonation and pause length, accent-position editing, drag-and-drop reordering, and WAV export of every track
- voicevox_resynthesize_player re-renders one track by index with a different speaker or new parameters, and voicevox_get_player_state reads the segments back, paginated, so the model can tune them
- voicevox_synthesize_file writes an audio file and returns its absolute path
- voicevox_get_accent_phrases returns the reading and accent positions in inline notation, so a pronunciation can be checked before it is spoken aloud
- The VOICEVOX user dictionary managed from the conversation: add, update and delete words singly or in batches with pronunciations in the same inline accent notation, plus voicevox_open_dictionary_ui for the manager
- voicevox_get_speakers lists the available voices with the exact IDs to pass, and voicevox_ping says whether the engine is reachable at all
Node.js 20.0.0 or newer, or Bun, or the bundled Docker Compose setup — plus a VOICEVOX Engine already running, since this server is a client to it. ffplay is optional and recommended: with it on PATH, playback streams over stdin at low latency; without it, audio falls back to a temporary file played by PowerShell on Windows, afplay on macOS or aplay on Linux. The in-chat player needs a host that supports MCP Apps: Claude Desktop over stdio works as-is, ChatGPT connects over HTTP and needs VOICEVOX_PLAYER_DOMAIN set, and that variable should stay unset when bridging Claude Desktop through mcp-remote. Where MCP Apps is unavailable the player tool simply is not offered and server-side speaking still works.
One command — npx -y @kajidog/mcp-tts-voicevox
