
Vox
io.github.boskaPublished by GitHub account boskav1.0.0Updated Oct 28, 2026
Native macOS MCP server for voice I/O — Swift binary, SFSpeechRecognizer + ElevenLabs TTS.
Overview
Native macOS voice I/O server that lets an assistant capture your speech as text and speak replies aloud, using Apple speech recognition and ElevenLabs TTS.
- What you can do
- Capture speech: activate the microphone, wait for you to speak, and return a transcript with the detected language once silence is detected.
- Speak text aloud: read text out through ElevenLabs TTS, falling back to the macOS system voice when no API key is set.
- When to use it
- Useful when you want to talk to a coding assistant by voice instead of typing, or have it read answers back to you, on a Mac with a working microphone.
- Requirements
- macOS 13 or later with a default input device set in System Settings, plus microphone and Speech Recognition permission for the terminal app. Runs as a local binary (download or build with Swift); no Node.js or Python. Optional ELEVENLABS_API_KEY for high-quality TTS.
Installation
In SourceWeft
- Open Vox in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
vox
A native macOS MCP server that gives Claude a voice.
Built in Swift. No Node.js. No Python. No Electron. Just a single binary.
Then just say: listen — and Claude hears you.
Tools
Why Swift + macOS only
- AVFoundation — native mic capture, zero overhead
- SFSpeechRecognizer — Apple on-device speech recognition, works offline, 50+ languages
- NLLanguageRecognizer — automatic language detection per utterance
- AVSpeechSynthesizer — built-in TTS fallback, no API key needed
- Single ~200KB binary. Zero npm install. Zero Python venv.
Requirements
- macOS 13+
- Microphone set as default in System Settings → Sound → Input
- Microphone + Speech Recognition permission for your terminal app
- Optional:
ELEVENLABS_API_KEYin~/.claude/.envfor high-quality multilingual TTS
Install
Option 1: Prompt for Claude Code
Copy and paste this into Claude Code:
Claude will handle the download, configuration, and restart.
Option 2: Manual Install (Pre-built Binary)
Then add to ~/.claude.json:
Restart Claude Code.
Option 3: Build from Source
Add to ~/.claude.json:
Restart Claude Code.
Voice
Default TTS voice is Hana via ElevenLabs (eleven_multilingual_v2). Supports Chinese, English, Czech, Vietnamese, and 20+ languages in the same voice. Without an ElevenLabs key, falls back to macOS system voice automatically.
How it works
No ports. No sockets. No daemon. Just stdin/stdout.
Troubleshooting
"No speech detected" — speak within ~1s of calling listen, VAD cuts off after 0.8s silence.
No default input device — Mac mini has no built-in mic. Connect USB/Bluetooth mic or iPhone via Continuity Camera, set default in System Settings → Sound → Input.
ElevenLabs silent — add ELEVENLABS_API_KEY=sk-... to ~/.claude/.env, or leave it out to use system voice.
Source: README.md at commit f0fd5cc
Tools
0Version history
1- v1.0.0LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.
