Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
VOICE_MCP_RATENoWords per minute, e.g. 200.system rate
VOICE_MCP_CHIMENoSet to 0 to turn off the mic open/close sounds.1
VOICE_MCP_DEBUGNoVerbose logs with per-turn timings, written to stderr.0
VOICE_MCP_VOICENomacOS voice, e.g. Samantha, Daniel, Kanya. List them with `say -v '?'`.system voice
VOICE_MCP_THREADSNoNumber of whisper.cpp threads.min(8, cores)
VOICE_MCP_LANGUAGENoen, th, ja, de, …en for *.en models, otherwise auto
VOICE_MCP_RECORDERNosox or ffmpeg (ffmpeg is macOS only).auto
VOICE_MCP_CACHE_DIRNoWhere models are downloaded or symlinked.~/.cache/mac-voice-mcp
VOICE_MCP_MIN_SPEECH_DBNoThe quietest level that ever counts as speech (dBFS).-48
VOICE_MCP_WHISPER_MODELNoWhich model to use (see the table below).base.en
VOICE_MCP_END_SILENCE_MSNoHow long a pause ends your turn. Use 1800 if it cuts you off while you think, 800 for snappier replies.1200
VOICE_MCP_WHISPER_PROMPTNoWords to bias toward: names, product terms, jargon.
VOICE_MCP_WHISPER_SERVERNoSet to 0 to always use whisper-cli, with no warm server.1
VOICE_MCP_MAX_SPEAK_WORDSNoLonger text is cut at a sentence boundary ("the rest is on screen").120
VOICE_MCP_SPEECH_MARGIN_DBNoHow much louder than room noise counts as speech. Raise it in noisy rooms.12
VOICE_MCP_MODEL_SEARCH_PATHSNoExtra folders to check for an existing model (`:`-separated).
VOICE_MCP_WHISPER_MODEL_PATHNoUse this exact ggml-*.bin file.
VOICE_MCP_SERVER_IDLE_MINUTESNoHow long the warm server stays up without use.15
VOICE_MCP_START_TIMEOUT_SECONDSNoHow long to wait for you to start talking.8

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
speak_and_listenA

Say something out loud to the user and hear their spoken reply. Speaks text_to_speak through the computer's speakers, then listens like a conversation turn — it waits for the user to start talking and stops when they finish — and returns an on-device transcript of what they said.

Write text_to_speak for the ear, not the screen:

  • 1–3 short sentences, under ~40 words; lead with the outcome, then one question.

  • Plain words only: no markdown, bullets, emoji, code, file paths, URLs, stack traces or tables.

  • Describe code instead of reading it ("I added a retry to the upload function"), say file names not paths ("in index.ts"), round numbers ("about two hundred ms"), spell out symbols.

  • Ask one question at a time, answerable in a few words ("Should I deploy it — yes or no?").

  • Put the details (diffs, logs, links) in your normal on-screen reply, and say so out loud.

Good: "The build passed and all tests are green. Want me to open the pull request?" Bad: "## Results\n- npm test ✅ 42/42\n- see /Users/x/repo/src/index.ts:120"

Once the user is talking with you by voice, keep the conversation in voice: answer each transcript with another speak_and_listen call (not a text reply) until they say stop or start typing. A reply of "(No speech detected …)" means the user did not answer — never treat it as consent. If it reports that voice-mcp is not set up, call voice_setup.

voice_setupA

Check whether this computer has everything speak_and_listen needs — text-to-speech, a microphone recorder (SoX), whisper.cpp speech-to-text and the speech model — and optionally install what's missing. Anything already installed is reused (an existing model elsewhere on disk is symlinked, not re-downloaded). Call it with install=false (the default) first and tell the user what is missing. Only call it with install=true after the user agrees: it runs brew install for the missing packages and downloads the speech model once. It never uninstalls or changes anything else. If it reports INSTALLING, the install continues in the background — wait a minute and call it again to check.

Prompts

Interactive templates invoked by user choice

NameDescription
setupCheck what voice-mcp needs, install what's missing (with your OK), then test it.
voice_modeHands-free session: Claude checks in out loud via speak_and_listen, using speakable phrasing.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.8/5.0

Scored across 2 tools

Disambiguation5/5

The two tools are completely distinct: speak_and_listen handles interactive voice turns, while voice_setup handles environment setup and installation. There is no overlap in purpose or timing.

Naming Consistency4/5

Both names use snake_case and are descriptive, but speak_and_listen is a verb phrase while voice_setup is a noun compound. The pattern is mostly consistent with a minor structural deviation.

Tool Count4/5

Two tools is sparse but appropriate for the narrow scope of Mac voice interaction and setup. Each tool serves a clear, necessary role and there are no redundant tools.

Completeness4/5

The core voice turn-taking flow and the setup prerequisites are fully covered. Minor gaps like standalone listening or granular audio controls exist but do not affect the primary use case.