Skip to main content

kyutai-tts-mcp

Local-only voice for any MCP client (Claude Code, Claude Desktop, Cursor, etc.) via Kyutai Pocket TTS. No cloud, no API keys, no rate limits.

  • 🇫🇷 French (Estelle), 🇬🇧 English (Alba), plus Spanish, German, Italian, Portuguese, Dutch
  • TTFA ~80–200 ms thanks to native streaming via the pocket-tts Python API
  • Multi-language at runtime — pass language= per speak() call, models load lazily and cache
  • ~4-5× real-time generation on Apple Silicon / Intel CPU
  • Non-blocking speak(), gap-free playback via sounddevice write-mode
  • ~600 MB venv, ~1 GB model cache per language

Install

uvx kyutai-tts-mcp --help

Or persistent:

uv tool install kyutai-tts-mcp

Then add to your MCP client's .mcp.json:

{
  "mcpServers": {
    "kyutai-tts": {
      "command": "uvx",
      "args": ["kyutai-tts-mcp", "--language", "french_24l"]
    }
  }
}

Replace french_24l with english, spanish_24l, german_24l, italian_24l, portuguese_24l, or dutch_24l for your default language. Per-call language= overrides this default.

MCP tools

Tool Purpose
speak(text, voice?, language?, interrupt?) Generate audio for text and queue it for background playback. Returns immediately, streaming generation. By default, calls queue and play sequentially (including across turns). Pass interrupt=True to abort current playback and clear the queue first. Pass language= to switch model on the fly.
stop_speaking() Stop current playback, drop queue, cancel in-flight generation. Use for explicit "mute" requests. For mid-turn interruption + new speech, use speak(..., interrupt=True) instead.
status() Report loaded languages, queue depths, sample rate, last error.

Configuration

The default language is set via --language (CLI) or KYUTAI_TTS_LANGUAGE (env var). Other knobs (all env):

  • KYUTAI_TTS_VOICE — default voice name
  • KYUTAI_TTS_DEVICE — PyTorch device (default cpu; mps not supported)
  • KYUTAI_TTS_QUANTIZE — set to 1 for int8 quantization
  • KYUTAI_TTS_MAX_TOKENS — max tokens per streaming chunk (default 50)

Voice cloning

Pocket-tts can clone a voice from a short audio sample. The cloning runs 100 % locally — your audio never leaves the machine — but the cloning-enabled model checkpoint is gated on Hugging Face. One-time setup:

  1. Accept the terms at huggingface.co/kyutai/pocket-tts
  2. uv tool install huggingface-hub && hf auth login
  3. rm -rf ~/.cache/huggingface/hub/models--kyutai--pocket-tts to force re-downloading the cloning-enabled checkpoint

Then either pass the audio file directly to speak(voice="/path/to.wav"), or pre-extract it as a .safetensors for instant loading:

uvx kyutai-tts-mcp extract-voice \
  --audio ~/voices/yours.wav \
  --out ~/voices/yours.safetensors \
  --language french_24l \
  --truncate

Then speak(voice="/path/to/yours.safetensors"). Full guide and recording recommendations: main repo.

Claude Code users

If you're on Claude Code (CLI, desktop, or via Cursor), you can install the bundled plugin (MCP wiring + /voice-mode skill) in one shot:

/plugin marketplace add Vincweb/kyutai-tts-mcp
/plugin install kyutai-tts@vincweb-tools

See the main repo for architecture details, voice catalog, and a side-by-side comparison with voxtral-mcp.

Requirements

  • macOS (Apple Silicon recommended; Intel works — the model is CPU-only)
  • Python 3.10 – 3.13
  • ~1 GB free RAM per loaded language

License

MIT. Kyutai pocket-tts itself is under its own permissive licence (see upstream).

Metadata

Release files for kyutai-tts-mcp 0.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kyutai-tts-mcp 0.8.0
File Size Uploaded
kyutai_tts_mcp-0.8.0.tar.gz 117.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kyutai-tts-mcp 0.8.0
File Interpreter ABI Platform
kyutai_tts_mcp-0.8.0-py3-none-any.whl Python 3 none any Details

Total release size: 128.0 kB

Release files / kyutai_tts_mcp-0.8.0.tar.gz

Download URL kyutai_tts_mcp-0.8.0.tar.gz
Size 117.8 kB
Tags Source
SHA-256 checksum
How to use checksums
36114c42cf001f0b120b83ce9ab32e4742f81e33346ba048b802d6941fb74fb7
BLAKE2b-256 checksum
How to use checksums
a8b5c0496f3b114daef8a4630bacbc0f3d578f36de2c61cf8acff1d02257adb9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.

Transparency log

Release files / kyutai_tts_mcp-0.8.0-py3-none-any.whl

Download URL kyutai_tts_mcp-0.8.0-py3-none-any.whl
Size 10.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
86efea2da554e9344e80a1b0736d3ee5ace9366b47c3fc2b9fdf2529a8b8337a
BLAKE2b-256 checksum
How to use checksums
fa24bc5892fb32da2feecc1d63df8ab31d5acb38a44724960ff75a18ece41ba8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.

Transparency log

Release history Release notifications | RSS feed

0.9.0

2 release files

This release

0.8.0 This release

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page