# vox [Health: Active]

**Category:** 🎧 Text-to-Speech  
**Repository:** https://github.com/boska/vox  
**GitHub Stars:** 1  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/vox

## Description
Native macOS MCP server for voice I/O — Swift binary, SFSpeechRecognizer + ElevenLabs TTS.

## Tools
Capabilities this server exposes over MCP:

- **listen** — Activates the mic, waits for you to speak, returns transcript + detected language when silence is detected
- **speak** — Speaks text aloud — ElevenLabs TTS with automatic fallback to macOS system voice

## Claude Desktop Quick Installation
No confirmed install details yet, so no config is published. Follow the setup steps in the repository above.

## Documentation

## What the vox MCP server does

The vox MCP server adds voice input and output to an MCP client running on macOS. It is distributed as a native Swift executable rather than a Node.js, Python, or Electron application. The binary communicates with the client over JSON-RPC 2.0 through standard input and output.

Two tools are exposed:

- `listen` activates the default microphone, waits for speech, and returns a transcript together with the detected language after silence ends.
- It uses ElevenLabs when an API key is available and otherwise falls back to the macOS system voice.

Speech recognition uses Apple’s `SFSpeechRecognizer`, while language identification uses `NLLanguageRecognizer`. Audio capture is handled through AVFoundation, and the local speech synthesizer fallback uses `AVSpeechSynthesizer`.

## How it works

The MCP client starts the vox binary as a stdio process. There is no network listener, socket, or background daemon involved. When `listen` is called, the process opens the configured default input device, applies silence-based end-of-speech behavior, and sends the resulting text and language information back over MCP.

For `speak`, the server sends text to ElevenLabs when configured with credentials. The documented voice is Hana with the `eleven_multilingual_v2` model. If ElevenLabs is not configured or unavailable, macOS’s built-in voice synthesis is used instead.

## Setup and configuration

The vox MCP server requires macOS 13 or newer. The microphone must be selected as the default input in System Settings under Sound, and the terminal application running the MCP process needs Microphone and Speech Recognition permissions.

A prebuilt Apple Silicon binary can be downloaded, made executable, and referenced in the MCP client’s server configuration. The documented configuration uses a `command` pointing to the executable. Alternatively, build from source with Swift by cloning the repository and running the release build command, then point the configuration at the resulting binary.

Set `ELEVENLABS_API_KEY` in `~/.claude/.env` to enable ElevenLabs speech synthesis. Leaving the variable unset selects the macOS system voice automatically. After changing the MCP configuration, restart the client.

## Tools and capabilities

The vox MCP server provides microphone transcription, per-utterance language detection, and spoken text output. Apple’s speech recognition can work offline and supports more than 50 languages according to the project documentation. The optional ElevenLabs path provides multilingual synthesis, while the local fallback does not require an API key.

The documented installation and test flow targets Claude Code: install the binary, add it under the `mcpServers` section of `~/.claude.json`, restart Claude Code, and invoke `listen`.

## Limitations and notes

This is a macOS-only server and requires macOS 13 or later. A Mac without a built-in microphone, such as a Mac mini, needs an external, Bluetooth, or Continuity Camera input selected as the default device. The project notes that speech should begin shortly after calling `listen`; voice activity detection ends capture after roughly 0.8 seconds of silence.

The provided release installation command targets a `darwin-arm64` binary. ElevenLabs synthesis depends on a valid API key; without one, output uses the local macOS voice.

_Full upstream README: https://allmcps.com/mcp/vox/readme_

