LabscoMCP early access ↗
mbaileyMCP SERVER · OFFICIAL PROJECT

Voice Mode

Talk to a coding agent out loud and hear it answer — locally with Whisper and Kokoro, or through OpenAI when you would rather not run them.

by mbailey ↗Speech Synthesis & Transcription✓ Official

LABSCO SUMMARY

Voice is about being available when typing is not.

Walking to a meeting, cooking, holding a coffee — the agent is still reachable. And with Whisper and Kokoro installed locally, nothing you say has to leave the machine to get there.

What it is

A voice layer for Claude Code and other MCP-capable agents. Speech comes in, speech goes out, with silence detection deciding when you have finished talking.

What you get

  • converse — the tool the agent calls to speak and listen, and service for managing the underlying voice services
  • Local speech services that work offline: Whisper.cpp for speech-to-text and Kokoro for text-to-speech with several voices, both presenting the same API as OpenAI so the switch between them is seamless
  • Smart silence detection that stops recording when you stop speaking, and latency low enough for the exchange to feel like a conversation
  • A Claude Code plugin with /voicemode:install and /voicemode:converse slash commands
  • Configuration through voicemode config edit, covering audio format, Whisper model size, whether to prefer local services, and skipping TTS for a text-only reply

Requirements

A computer with a microphone and speakers, and Python between 3.10 and 3.14. Linux, macOS, Windows (native or WSL) and NixOS are supported. The quickest route for Claude Code users is the plugin: claude plugin marketplace add mbailey/voicemode then claude plugin install voicemode@voicemode, followed by /voicemode:install to pull in the CLI and the local voice services. Otherwise install uv and run uvx voice-mode-install, then claude mcp add --scope user voicemode -- uvx --refresh --from voice-mode voicemode-mcp-launcher. OPENAI_API_KEY is optional and acts as a fallback when the local services are not available. To avoid permission prompts, allow mcp__voicemode__converse and mcp__voicemode__service in ~/.claude/settings.json.

Setup effort

One command — claude mcp add --scope user voicemode -- uvx --refresh --from voice-mode voicemode-mcp-launcher