The in-text markers are what lift it above a novelty: pauses, emphasis and rate changes are placed in the text itself, so a long passage comes out paced rather than flat, and background mode means the agent keeps working while it plays.
A text-to-speech server built on macOS's own `say` command, so the voices are the ones already installed on the system, including the premium ones you add through System Voice settings. It runs the speech in the foreground or in the background so the session can carry on talking while it plays.
- `speak` — says the text aloud. `voice` chooses which one, defaulting to Alex; `rate` sets words per minute, defaulting to 175 within a range of 1 to 500; `background` lets the session continue while speech plays
- In-text control: `[[slnc 500]]` inserts silence, `[[rate 200]]` changes speed mid-sentence, `[[volm 0.5]]` changes volume, `[[emph +]]` and `[[emph -]]` add and remove emphasis, and `[[pbas +10]]` shifts pitch
- `list_voices` — every text-to-speech voice available on the machine, which is how you find out what the premium and localised ones are called
- A table of recommended voices with their language, region and the exact CLI specification to pass
macOS, since it drives the system's own `say` command, and Node.js >= 14.0.0. Install with `npm install say-mcp-server` and point your client at the built `index.js`. Voices beyond the defaults are added through macOS System Voice settings, not through this server — so if `list_voices` does not show the one you want, install it there first.
One command — npm install say-mcp-server
