Skip to main content
Glama
EtanHey
by EtanHey

VoiceLayer

Your AI agent can't hear you and respond to you. VoiceLayer gives it ears and a voice.

npm License: Apache-2.0 MCP Tools

Voice I/O for AI coding assistants. Press F5, speak to Claude Code, get on-device transcription in under 1.5 seconds. Your AI speaks back. Works with any MCP client.

  You β”€β”€πŸŽ€β”€β”€> whisper.cpp ──> Claude Code ──> edge-tts β”€β”€πŸ”Šβ”€β”€> You
         STT (local)           MCP tools         TTS (free)

Local-first. Free. Open-source. No cloud APIs, no API keys, no data leaves your machine.

Website Β· Docs Β· npm

Install

macOS (recommended) β€” the tap ships the CLI/MCP package and the notarized notch app:

brew tap etanhey/layers
brew install etanhey/layers/voicelayer         # CLI + MCP server
brew install --cask etanhey/layers/voicebar    # VoiceBar notch app (owns the mic)
voicelayer setup                               # one-time runtime setup

Install the cask too β€” the formula alone gives you the CLI/MCP but no notch UI.

npm β€” if you only want the MCP server:

bun add -g voicelayer-mcp        # or: npm i -g voicelayer-mcp
brew install sox socat && pip3 install edge-tts
brew install whisper-cpp         # optional, for local STT

# whisper model (~1.5 GB) β€” needed for local STT
mkdir -p ~/.cache/whisper && curl -L -o ~/.cache/whisper/ggml-large-v3-turbo.bin \
  https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3-turbo.bin

Point your MCP client at the daemon

VoiceLayer runs as one persistent daemon on a Unix socket; every session connects through a lightweight socat shim instead of spawning its own process. Add to .mcp.json:

{
  "mcpServers": {
    "voicelayer": {
      "command": "socat",
      "args": ["STDIO", "UNIX-CONNECT:/tmp/voicelayer-mcp.sock"]
    }
  }
}

Or migrate every repo at once: bash scripts/migrate-to-daemon.sh (--dry-run to preview). On macOS, grant your terminal microphone access (System Settings β†’ Privacy β†’ Microphone).

Updates, kill-switches, and cross-machine setup: docs/install-and-update.md.

Related MCP server: io.github.chicogong/ffvoice

The two tools

Tool

Behavior

Blocking

voice_speak

TTS with auto-mode (announce/brief/consult/think), replay, toggle

No

voice_ask

Speak a question, record the mic, transcribe the answer

Yes

Both ship full MCP ToolAnnotations. Neither is destructive; both set openWorldHint: false.

How voice_ask works: waits for any playing audio to finish β†’ speaks the question via edge-tts β†’ records the mic and resamples to 16kHz β†’ Silero VAD detects when you stop talking β†’ whisper.cpp transcribes locally (~200-400ms on Apple Silicon) β†’ returns the text to your agent.

Full tool parameters: docs/tools-reference.md.

VoiceBar β€” the notch surface (macOS)

The canonical UI (SwiftUI + AppKit). It tucks around the MacBook camera housing instead of floating over your work:

  • Liquid-Glass wings flank the camera housing, with a graceful fallback on older macOS.

  • Teleprompter with word-by-word karaoke highlighting as your agent speaks.

  • Idle-hover to summon β€” collapsed it draws no pixels; hovering reveals recent transcripts, the dictionary, and replay.

  • Morph animations between idle ↔ recording ↔ speaking, Reduce-Motion aware.

STT backends

Backend

Type

Latency

Setup

whisper.cpp

Local (default)

~200-400ms

brew install whisper-cpp + model

Wispr Flow

Cloud (fallback)

~500ms + network

Set QA_VOICE_WISPR_KEY

Auto-detected. Override with QA_VOICE_STT_BACKEND=whisper|wispr|auto.

Platform support

Platform

TTS

STT

Recording

VoiceBar

macOS

edge-tts + afplay

whisper.cpp (CoreML)

sox

SwiftUI app

Linux

edge-tts + mpv/ffplay

whisper.cpp

sox

β€”

Part of Golems

Server

What it does

Tools

BrainLayer

Persistent memory β€” knowledge graph + hybrid search

12

VoiceLayer

Voice I/O β€” local STT, neural TTS, notch VoiceBar, F5 recording

2

cmuxLayer

Terminal orchestration β€” spawn panes, read screens, coordinate agents

22

Pair with BrainLayer to remember voice conversations across sessions.

More

License

Apache-2.0

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Text-to-speech MCP server using the Kokoro-82M model accelerated with MLX on Apple Silicon, enabling local Claude and Codex clients to speak text aloud and convert text to audio.
    4
    MIT
  • F
    license
    B
    quality
    C
    maintenance
    A fully local, privacy-first MCP server that gives AI coding assistants deep repository intelligence with file-and-line-cited answers, persistent semantic memory, and agentic abilities like task planning and code reviewβ€”all without any cloud API calls.
    23
    -