mcp-say

mcp-say

7

mcp-say is a text-to-speech server that enhances applications by adding audio output capabilities using macOS's 'say' command and Eleven Labs API. It is designed to work with the MCP protocol, providing seamless integration for developers.

mcp-say Logo

mcp-say

TTS (text-to-speech) MCP Server


What? 🤔

Adds Text-to-Speech to things like Claude Desktop and Cursor IDE.

It registers two tools:

  • say
  • elevenlabs

say

Uses the macOS say binary to speak the text

elevenlabs

Uses the elevenlabs text-to-speech API to speak the text

Getting Started

Install

go install github.com/blacktop/mcp-say@latest
❱ mcp-say --help

TTS (text-to-speech) MCP Server.

Provides a text-to-speech service using the MacOS 'say' command.

Designed to be used with the MCP protocol.

Usage:
  mcp-say [flags]

Flags:
  -h, --help      help for mcp-say
  -v, --verbose   Enable verbose debug logging
Set Claude Desktop Config
{
  "mcpServers": {
    "say": {
      "command": "mcp-say",
      "env": {
        "ELEVENLABS_API_KEY": "********",
        "ELEVENLABS_VOICE_ID": "1SM7GgM6IMuvQlz2BwM3"
      }
    }
  }
}

Test

cat test/say.json | go run main.go --verbose

2025/03/23 22:41:49 INFO Starting MCP server name="Say TTS Service" version=1.0.0
2025/03/23 22:41:49 DEBU Say tool called request="{Request:{Method:tools/call Params:{Meta:<nil>}} Params:{Name:say Arguments:map[text:Hello, world!] Meta:<nil>}}"
2025/03/23 22:41:49 DEBU Executing say command args="[--rate 200 Hello, world!]"
2025/03/23 22:41:49 INFO Speaking text text="Hello, world!"
{"jsonrpc":"2.0","id":3,"result":{"content":[{"type":"text","text":"Speaking: Hello, world!"}]}}

License

MIT Copyright (c) 2025 blacktop