Labsco
blacktop logo

Text-to-Speech (TTS)

β˜… 62

from blacktop

A Text-to-Speech server supporting multiple backends like macOS say, ElevenLabs, Google Gemini, and OpenAI TTS.

πŸ”₯πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedAccount requiredNeeds API keys
<p align="center"> <a href="https://github.com/blacktop/mcp-tts"><img alt="mcp-tts Logo" src="https://raw.githubusercontent.com/blacktop/mcp-tts/main/docs/logo.webp" height="200" /></a> <h1 align="center">mcp-tts</h1> <h4><p align="center">MCP Server for TTS (Text-to-Speech)</p></h4> <p align="center"> <a href="https://github.com/blacktop/mcp-tts/actions" alt="Actions"> <img src="https://github.com/blacktop/mcp-tts/actions/workflows/go.yml/badge.svg" /></a> <a href="https://github.com/blacktop/mcp-tts/releases/latest" alt="Downloads"> <img src="https://img.shields.io/github/downloads/blacktop/mcp-tts/total.svg" /></a> <a href="https://github.com/blacktop/mcp-tts/releases" alt="GitHub Release"> <img src="https://img.shields.io/github/release/blacktop/mcp-tts.svg" /></a> <a href="http://doge.mit-license.org" alt="LICENSE"> <img src="https://img.shields.io/:license-mit-blue.svg" /></a> </p> <br>

What? πŸ€”

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

It registers four TTS tools:

  • say_tts
  • elevenlabs_tts
  • google_tts
  • openai_tts

say_tts

Uses the macOS say binary to speak the text with built-in system voices

elevenlabs_tts

Uses the ElevenLabs text-to-speech API to speak the text with premium AI voices

google_tts

Uses Google's Gemini TTS models to speak the text with 30 high-quality voices. Available voices include:

Achernar, Achird, Algenib, Algieba, Alnilam, Aoede, Autonoe, Callirrhoe, Charon, Despina, Enceladus, Erinome, Fenrir, Gacrux, Iapetus, Kore, Laomedeia, Leda, Orus, Puck, Pulcherrima, Rasalgethi, Sadachbia, Sadaltager, Schedar, Sulafat, Umbriel, Vindemiatrix, Zephyr, Zubenelgenubi

openai_tts

Uses OpenAI's Text-to-Speech API to speak the text with 10 natural-sounding voices:

  • alloy (Warm, conversational, modern)
  • ash (Confident, assertive, slightly textured)
  • ballad (Gentle, melodious, slightly lyrical)
  • coral (Cheerful, fresh, upbeat)
  • echo (Neutral, calm, balanced)
  • fable (Storyteller-like, expressive)
  • nova (Clear, precise, slightly formal)
  • onyx (Deep, authoritative, resonant)
  • sage (Soothing, empathetic, reassuring)
  • shimmer (Bright, animated, playful)
  • verse (Versatile, expressive)

Supports three quality models:

  • gpt-4o-mini-tts - Default, optimized quality and speed
  • tts-1 - Standard quality, faster generation
  • tts-1-hd - High definition audio, premium quality

Additional features:

  • Speed control from 0.25x to 4.0x (default: 1.0x)
  • Custom voice instructions (e.g., "Speak in a cheerful and positive tone") via parameter or OPENAI_TTS_INSTRUCTIONS environment variable

Skill: speak

This repo includes a speak skill that automatically announces plans, issues, and summaries aloud using TTS. It defaults to the host's macOS say voice, and can optionally assign distinct voices per project or message type so you can identify what is speaking from another room.

Skills follow the Agent Skills open standard and work across Claude Code, Codex CLI, and Gemini CLI.

Install Skill

skills.sh

Copy & paste β€” that's it
npx skills add https://github.com/blacktop/mcp-tts --skill speak

Claude Code

Via Plugin Marketplace (recommended):

Copy & paste β€” that's it
claude plugin marketplace add blacktop/mcp-tts
claude plugin install speak@mcp-tts

Or manually:

Copy & paste β€” that's it
mkdir -p ~/.claude/skills
git clone https://github.com/blacktop/mcp-tts.git /tmp/mcp-tts
cp -r /tmp/mcp-tts/skill ~/.claude/skills/speak

The skill is now available. Claude will use it automatically when relevant, or invoke directly with /speak.

Codex CLI

Using the skill-installer (within a Codex session):

Copy & paste β€” that's it
$skill-installer install the speak skill from https://github.com/blacktop/mcp-tts --path skill

Or manually:

Copy & paste β€” that's it
mkdir -p ~/.codex/skills
git clone https://github.com/blacktop/mcp-tts.git /tmp/mcp-tts
cp -r /tmp/mcp-tts/skill ~/.codex/skills/speak

Restart Codex after installing.

Gemini CLI

Gemini CLI uses extensions to bundle skills. Install this repo as an extension:

Copy & paste β€” that's it
gemini extensions install https://github.com/blacktop/mcp-tts.git

This installs the speak skill.

Or manually (skill only):

Copy & paste β€” that's it
mkdir -p ~/.gemini/skills
git clone https://github.com/blacktop/mcp-tts.git /tmp/mcp-tts
cp -r /tmp/mcp-tts/skill ~/.gemini/skills/speak

Note: Gemini CLI skills are experimental. Enable via /settings β†’ search "Skills" β†’ toggle on.

Shared Skills Directory (Optional)

To maintain one copy across all agents, run the install script:

Copy & paste β€” that's it
git clone https://github.com/blacktop/mcp-tts.git
cd mcp-tts
./install-skill.sh

This copies the skill to ~/.agents/skills/speak and creates symlinks for Claude Code, Codex CLI, and Gemini CLI.

Verify Installation

AgentCommand
Claude CodeAsk "What skills are available?" or type /speak
Codex CLISkills load automatically on restart
Gemini CLIgemini extensions list or check /settings for skills

How It Works

The skill triggers automatically after:

  • Planning complete - When a plan/todo list is finalized
  • Issue resolved - When a bug fix or error is resolved
  • Summary generated - When completing a major task

By default, the skill uses local say_tts without probing credentials. If a saved config or user choice selects cloud TTS, providers fall back in order: google β†’ openai β†’ elevenlabs β†’ say (macOS). If a cloud provider fails due to missing API keys, it's marked unavailable and skipped in future attempts. For local say identity, the skill can pick exact installed Premium, Enhanced, or legacy voices from /usr/bin/say -v '?'; if no explicit voice is chosen, it leaves voice unset so the host System Voice is used.

License

MIT Copyright (c) 2025 blacktop