No description
Find a file
Claude 92678391bf chore: point publish + repo at cocotte-forge (134.199.243.61)
black.lan forge is retired. Registry -> Verdaccio :4873, repo -> Forgejo
platform/osx-tts-mcp.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 07:43:29 -04:00
src feat: osx-tts-mcp — local macOS say TTS plugin 2026-06-28 07:39:03 -04:00
.gitignore feat: osx-tts-mcp — local macOS say TTS plugin 2026-06-28 07:39:03 -04:00
package.json chore: point publish + repo at cocotte-forge (134.199.243.61) 2026-06-28 07:43:29 -04:00
README.md feat: osx-tts-mcp — local macOS say TTS plugin 2026-06-28 07:39:03 -04:00
tsconfig.json feat: osx-tts-mcp — local macOS say TTS plugin 2026-06-28 07:39:03 -04:00
tsup.config.ts feat: osx-tts-mcp — local macOS say TTS plugin 2026-06-28 07:39:03 -04:00

@lilith/osx-tts-mcp

MCP server for local text-to-speech on macOS via the built-in say command. No GPU, no network — speech is synthesized and played on the machine running the server. Companion to @lilith/speech-synthesis-mcp (remote Chatterbox/GPU TTS): use this one when you want local, always-available spoken output.

Tools

  • synthesize — speak text aloud. Args: text (required), personality, voice (overrides personality voice), rate (wpm, overrides personality rate). Fire-and-forget; inline tags like [laugh] are stripped.
  • list_voices — installed macOS voices (say -v '?'), optional locale filter.
  • list_personalities — named voice + rate presets.
  • health_check — engine availability, default voice, installed-voice count.

Configuration (env)

Var Default Purpose
OSX_TTS_VOICE Zoe (Premium) Default voice (name from list_voices)
OSX_TTS_RATE (voice default) Default speaking rate, words/min
OSX_SAY_BIN /usr/bin/say Override the say binary path
OSX_TTS_PERSONALITIES_FILE ~/.claude/osx-speech-personalities.json Custom personalities
OSX_TTS_PLAYBACK_HOST (unset) SSH target to stream audio to a remote listener
AUDIO_PLAYER afplay (macOS) Local player

Example ~/.mcp.json entry

"osx-tts": {
  "command": "/opt/homebrew/bin/node",
  "args": ["/Users/natalie/Code/@packages/osx-tts-mcp/dist/index.js"],
  "env": { "OSX_TTS_VOICE": "Zoe (Premium)" }
}

Build

pnpm install && pnpm build