MCP server for macOS text-to-speech functionality
Configuration
View docs{
"mcpServers": {
"bmorphism-say-mcp-server": {
"command": "node",
"args": [
"/path/to/say-mcp-server/build/index.js"
]
}
}
}You can run a macOS-native text-to-speech service inside your MCP environment. This MCP server uses the system’s built‑in say command to speak text aloud, and it exposes practical tools for reading content, notes, transcripts, and search results with configurable voices, rates, and emphasis.
Use the MCP client to call the say MCP server and request spoken output. You can send text to be spoken, optionally choosing a voice and rate to tailor the narration. You can also run speech in the background so you can continue interacting with other MCP actions while speech plays.
Prerequisites: You are on macOS and have Node.js installed (Node.js 14 or newer). If you don’t have Node.js, install it from the official source for your macOS version.
Install the MCP server package using npm.
npm install say-mcp-serverAdd an MCP server entry to your MCP settings so the client can connect to the local stdio server provided by this package.
{
"mcpServers": {
"say": {
"command": "node",
"args": ["/path/to/say-mcp-server/build/index.js"]
}
}
}- Use the speak tool to read text aloud with optional voice, rate, and background execution. - Use list_voices to discover which macOS voices are available on your system. - Combine speech with other MCP tools to read results from searches or transcripts.
If you don’t hear speech, verify that macOS VoiceOver or other accessibility features are not interfering, ensure the say command is accessible, and confirm the Node process is running the provided script. Check that your MCP client is sending text to the say server and that the server is reachable via the configured stdio channel.
Only expose the MCP server to trusted clients in your local network. Do not place it on public endpoints without proper authentication. Keep the system voice configuration consistent across clients to avoid unexpected noise levels.
This server exposes two practical tools for speaking text and listing available voices.
- speak: Speak provided text aloud with optional voice, rate, and background execution. Supports in-text directives for volume, rate, emphasis, and pitch.
- list_voices: List all available text-to-speech voices on the system.
Speaks input text aloud with optional voice, rate, background mode, and in-text directives for volume, rate, emphasis, and pitch.
Lists all available macOS TTS voices on the system.