Local is the whole proposition: recordings of meetings and voice notes are exactly the material you would rather not upload, and here nothing does. Check the status command before wiring a client up - the tools refuse rather than silently pulling several gigabytes mid-conversation.
A voice toolkit that runs entirely on your machine, with a small Rust engine underneath - CoreML on Apple Silicon, ONNX elsewhere. The same engine is available as a CLI, as an MCP server, and as agent skills.
- Transcribe audio locally, across 25 languages, with automatic language detection
- Speak text back, in 9 languages, with a choice of voice
- List the voices and the languages available, so a client can pick before it calls
- Voice-activity detection and diarization as optional downloads
- A single small binary rather than a Python environment - nothing to install for audio decoding
Bun 1.3.0 or newer, then install the package globally. Models are a separate, explicit step: the install command reports its sizes first and downloads roughly 2.5 GB on Linux and Windows, or about 0.6 GB on Apple Silicon, which uses a smaller model set. Text to speech needs its own model download. Nothing is fetched behind your back, and the tools fail with an install hint rather than downloading on demand. The client launches the server with the mcp subcommand over stdio.
One command — bun add -g @drakulavich/kesha-voice-kit
