Skip to main content

MCP server wrapping Kyutai Pocket TTS for Claude Code (in-process, streaming, gap-free playback, multi-language)

Project description

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
  • 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, or portuguese_24l for your default language. Per-call language= overrides this default.

MCP tools

Tool Purpose
speak(text, voice?, language?) Generate audio for text and queue it for background playback. Returns immediately, streaming generation. Pass language= to switch model on the fly.
stop_speaking() Stop current playback, drop queue, cancel in-flight generation.
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)

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).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kyutai_tts_mcp-0.5.0.tar.gz (97.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kyutai_tts_mcp-0.5.0-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file kyutai_tts_mcp-0.5.0.tar.gz.

File metadata

  • Download URL: kyutai_tts_mcp-0.5.0.tar.gz
  • Upload date:
  • Size: 97.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for kyutai_tts_mcp-0.5.0.tar.gz
Algorithm Hash digest
SHA256 88f01ec030574ef349332da5699221d019b334c32074e22c0d27eac3d56d2975
MD5 6d1fc5f6a11af9f63d3559ac318bb8b9
BLAKE2b-256 20259d0250bdcdf74cd831f443a86e2f02194ffbcc40f3192acf787a2ce34e04

See more details on using hashes here.

File details

Details for the file kyutai_tts_mcp-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: kyutai_tts_mcp-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for kyutai_tts_mcp-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5e963e88e9b95c7f0b2b470039064b8de71e95a59df9b0e4d0f6420c2d4dc1d2
MD5 348703283dd956a7b88b0d30e05de17b
BLAKE2b-256 9b5617dee04e14de6bdc505dfee1d485be966ee9c6fb03649a250921f7828b3a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page