mcp-say

MCP.Pizza Chef: blacktop

mcp-say is a lightweight MCP server that adds text-to-speech (TTS) functionality to the Model Context Protocol ecosystem. It enables real-time conversion of text inputs into spoken audio, allowing LLMs and applications to vocalize responses or notifications. This server supports seamless integration with various MCP clients, enhancing accessibility and interaction by providing natural voice output in workflows and AI-driven environments.

Use This MCP server To

Convert text responses to speech in real-time Enable voice notifications from AI assistants Integrate TTS in chatbots for spoken replies Provide audio feedback in accessibility tools Generate spoken alerts from system messages Create voice-enabled interactive tutorials Support multi-language text-to-speech conversion Automate reading of documents or messages aloud

README

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

mcp-say FAQ

How do I install mcp-say?
You can install mcp-say by cloning its GitHub repository and following the build instructions provided in the README, which includes Go environment setup and running the server.
What text-to-speech engines does mcp-say support?
mcp-say supports multiple TTS engines depending on configuration, enabling flexible voice synthesis options.
Can mcp-say handle multiple simultaneous TTS requests?
Yes, mcp-say is designed to handle concurrent text-to-speech requests efficiently for real-time applications.
How does mcp-say integrate with MCP clients?
mcp-say exposes a standardized MCP server interface that clients can connect to for sending text and receiving audio streams.
Is mcp-say open source and under what license?
Yes, mcp-say is open source and licensed under the MIT License, allowing free use and modification.
Can I customize the voice or language in mcp-say?
Voice and language customization depend on the underlying TTS engine configuration, which mcp-say supports through its flexible setup.
Does mcp-say support streaming audio output?
Yes, mcp-say can stream audio output in real-time to clients for immediate playback.
What platforms does mcp-say run on?
mcp-say is built in Go and can run on major platforms including Linux, macOS, and Windows.