Token导航 LogoToken导航TokenDH.com
MCP Tts logo
音视频stdio官方级别未说明来源级核验

MCP Tts

MCP Server

skills

一个提供多种文本转语音服务的MCP服务器,支持macOS内置语音、ElevenLabs、Google和OpenAI的TTS功能。

工具数

4

提示词数

0

GitHub Stars

58

资源数

0
语音音频多平台支持GoClaude语音合成Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

blacktop

提供方

blacktop

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx skills add https://github.com/blacktop/mcp-tts --skill speak

详细介绍

mcp-tts

MCP Server for TTS (Text-to-Speech)

什么? 🤔

将文本转换为语音添加到Claude Desktop和Cursor IDE等设备中。

它注册了四个TTS工具:

  • say_tts
  • elevenlabs_tts
  • google_tts
  • openai_tts

say_tts

使用macOS say 二进制语言,通过内置系统语音朗读文本

elevenlabs_tts

使用 十一实验室 text-to-speech API,用高级人工智能语音说出文本

google_tts

使用谷歌的 Gemini TTS型号 用30个高质量的声音朗读文本。可用的声音包括:

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

openai_tts

使用OpenAI 文本到速度API 用10个听起来很自然的声音说课文:

  • 合金 (热情、对话、现代)
  • 灰烬 (自信、果断、略带质感)
  • 民谣 (轻柔、悠扬、略带抒情)
  • 珊瑚 (欢快、清新、乐观)
  • 回声 (中立、冷静、平衡)
  • 寓言 (讲故事,富有表现力)
  • 新星 (清晰、精确、略显正式)
  • 缟玛瑙 (深沉、权威、共鸣)
  • 智者 (舒缓、同情、安心)
  • 闪烁 (明亮、生动、俏皮)
  • 诗句 (多功能、富有表现力)

支持三种质量模型:

  • gpt-4o-mini-tts -默认、优化的质量和速度
  • tts-1 -标准质量,更快生成
  • tts-1-hd -高清音频,高品质

附加功能:

  • 速度控制范围为0.25倍至4.0倍(默认值:1.0倍)
  • 通过参数或 OPENAI_TTS_INSTRUCTIONS 环境变量

配置

顺序TTS与并发TTS

默认情况下,TTS服务器强制执行顺序语音操作——一次只能播放一个TTS请求。这可以防止多个代理同时说话并产生难以理解的杂音。后续请求将在队列中等待,直到当前语音完成。

多实例保护:互斥体既可以在单个MCP服务器进程中工作,也可以跨多个Claude Desktop实例工作。当运行多个Claude Desktop终端时,它们通过系统范围的文件锁进行协调,以防止语音重叠。

要允许并发TTS操作(同时播放多个语音):

环境变量:

export MCP_TTS_ALLOW_CONCURRENT=true

命令行标志:

mcp-tts --sequential-tts=false
注: 并发TTS可能会导致难以理解的重叠音频。仅当您明确希望同时运行多个TTS操作时,才使用此选项。

抑制“说话:”输出

默认情况下,TTS工具在语音结束时返回类似“Speaking:\[text\]”的消息。这可能会干扰LLM响应。要抑制此输出:

环境变量:

export MCP_TTS_SUPPRESS_SPEAKING_OUTPUT=true

命令行标志:

mcp-tts --suppress-speaking-output

启用后,工具将返回“语音完成”,而不是回显口语文本。

将音频保存到磁盘

将TTS音频输出保存为文件,而不是播放(或除播放外):

环境变量:

export MCP_TTS_OUTPUT_DIR=/path/to/audio    # Save audio files to this directory
export MCP_TTS_NO_PLAY=true                  # Skip playback, only save (optional)

命令行标志:

mcp-tts --output-dir /path/to/audio          # Save and play
mcp-tts --output-dir /path/to/audio --no-play  # Save only, no playback

文件以唯一的名称保存: tts_{timestamp}_{hash}.{ext}

提供者格式
macOS说AIFF
ElevenLabsMP3
谷歌TTSWAV
OpenAI TTSMP3

入门指南

安装

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

TTS (text-to-speech) MCP Server.

Provides multiple text-to-speech services via MCP protocol:

• say_tts - Uses macOS built-in 'say' command (macOS only)
• elevenlabs_tts - Uses ElevenLabs API for high-quality speech synthesis
• google_tts - Uses Google's Gemini TTS models for natural speech
• openai_tts - Uses OpenAI's TTS API with various voice options

Each tool supports different voices, rates, and configuration options.
Requires appropriate API keys for cloud-based services.

Designed to be used with the MCP (Model Context Protocol).

Usage:
  mcp-tts [flags]

Flags:
  -h, --help                       help for mcp-tts
      --no-play                    Skip playback, only save (requires --output-dir)
      --output-dir string          Save audio files to directory (env: MCP_TTS_OUTPUT_DIR)
      --sequential-tts             Enforce sequential TTS (prevent concurrent speech) (default true)
      --suppress-speaking-output   Suppress 'Speaking:' text output
  -v, --verbose                    Enable verbose debug logging

配置

克劳德桌面版

添加 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "say": {
      "command": "mcp-tts",
      "env": {
        "ELEVENLABS_API_KEY": "********",
        "ELEVENLABS_VOICE_ID": "1SM7GgM6IMuvQlz2BwM3",
        "GOOGLE_AI_API_KEY": "********",
        "OPENAI_API_KEY": "********",
        "OPENAI_TTS_INSTRUCTIONS": "Speak in a cheerful and positive tone",
        "MCP_TTS_SUPPRESS_SPEAKING_OUTPUT": "true",
        "MCP_TTS_ALLOW_CONCURRENT": "false"
      }
    }
  }
}

克劳德代码

claude mcp add say \
  -e GOOGLE_AI_API_KEY=your_key \
  -e ELEVENLABS_API_KEY=your_key \
  -e OPENAI_API_KEY=your_key \
  -- mcp-tts

Codex CLI

codex mcp add say \
  --env GOOGLE_AI_API_KEY=your_key \
  --env ELEVENLABS_API_KEY=your_key \
  --env OPENAI_API_KEY=your_key \
  -- mcp-tts

Gemini CLI

gemini mcp add say mcp-tts \
  -e GOOGLE_AI_API_KEY=your_key \
  -e ELEVENLABS_API_KEY=your_key \
  -e OPENAI_API_KEY=your_key

或手动添加到 ~/.gemini/settings.json (或 .gemini/settings.json 在项目根目录中):

{
  "mcpServers": {
    "say": {
      "command": ["mcp-tts"],
      "env": {
        "GOOGLE_AI_API_KEY": "..."
      }
    }
  }
}

环境变量

  • ELEVENLABS_API_KEY:您的ElevenLabs API密钥(对于 elevenlabs_tts)
  • ELEVENLABS_VOICE_ID:ElevenLabs语音ID(可选,默认为内置语音)
  • GOOGLE_AI_API_KEYGEMINI_API_KEY:您的Google AI API密钥(对于 google_tts)
  • OPENAI_API_KEY:您的OpenAI API密钥(对于 openai_tts)
  • OPENAI_TTS_INSTRUCTIONS:OpenAI TTS的自定义语音指令(可选,例如“以愉快和积极的语气说话”)
  • MCP_TTS_SUPPRESS_SPEAKING_OUTPUT:设置为“true”以抑制“Speaking:”输出(可选)
  • MCP_TTS_ALLOW_CONCURRENT:设置为“true”以允许并发TTS操作(可选,默认为顺序)
  • MCP_TTS_OUTPUT_DIR:保存音频文件的目录(可选)
  • MCP_TTS_NO_PLAY:设置为“true”可在保存时跳过播放(可选,需要 MCP_TTS_OUTPUT_DIR)

测试

测试macOS TTS

❱ 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:}} Params:{Name:say_tts Arguments:map[text:Hello, world!] Meta:}}"
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!"}]}}

测试谷歌TTS

❱ cat test/google_tts.json | go run main.go --verbose

2025/05/23 18:26:45 INFO Starting MCP server name="Say TTS Service" version=""
2025/05/23 18:26:45 DEBU Google TTS tool called request="{...}"
2025/05/23 18:26:45 DEBU Generating TTS audio model=gemini-3.1-flash-tts-preview voice=Kore text="Hello! This is a test of Google's TTS API. How does it sound?"
2025/05/23 18:26:49 INFO Playing TTS audio via beep speaker bytes=181006
2025/05/23 18:26:53 INFO Speaking via Google TTS text="Hello! This is a test of Google's TTS API. How does it sound?" voice=Kore
{"jsonrpc":"2.0","id":4,"result":{"content":[{"type":"text","text":"Speaking: Hello! This is a test of Google's TTS API. How does it sound? (via Google TTS with voice Kore)"}]}}

测试OpenAI TTS

❱ cat test/openai_tts.json | go run main.go --verbose

2025/05/23 19:15:32 INFO Starting MCP server name="Say TTS Service" version=""
2025/05/23 19:15:32 DEBU OpenAI TTS tool called request="{...}"
2025/05/23 19:15:32 DEBU Generating OpenAI TTS audio model=tts-1 voice=nova speed=1.2 text="Hello! This is a test of OpenAI's text-to-speech API. I'm using the nova voice at 1.2x speed."
2025/05/23 19:15:34 DEBU Decoding MP3 stream from OpenAI
2025/05/23 19:15:34 DEBU Initializing speaker for OpenAI TTS sampleRate=22050
2025/05/23 19:15:36 INFO Speaking text via OpenAI TTS text="Hello! This is a test of OpenAI's text-to-speech API. I'm using the nova voice at 1.2x speed." voice=nova model=tts-1 speed=1.2
{"jsonrpc":"2.0","id":5,"result":{"content":[{"type":"text","text":"Speaking: Hello! This is a test of OpenAI's text-to-speech API. I'm using the nova voice at 1.2x speed. (via OpenAI TTS with voice nova)"}]}}

使用多个TTS请求测试互斥行为

# Sequential mode (default) - speeches play one after another
cat test/sequential.json | go run main.go --verbose

# Concurrent mode - allows overlapping speech  
cat test/sequential.json | go run main.go --verbose --sequential-tts=false

技能: speak

此回购包括 使用TTS自动大声宣布计划、问题和总结的技能。每个项目都有一个独特的声音,这样你就可以识别哪个项目在另一个房间说话。

技能遵循 代理技能 开放标准,可跨Claude Code、Codex CLI和Gemini CLI工作。

安装技能

技能s.sh

npx skills add https://github.com/blacktop/mcp-tts --skill speak

克劳德代码

通过插件市场 (推荐):

claude plugin marketplace add blacktop/mcp-tts
claude plugin install speak@mcp-tts

或手动:

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

该技能现在可用。Claude将在相关时自动使用它,或直接调用 /speak.

Codex CLI

使用技能安装程序 (在食典会议期间):

$skill-installer install the speak skill from https://github.com/blacktop/mcp-tts --path skill

或手动:

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

安装后重新启动Codex。

Gemini CLI

Gemini CLI使用 扩展 捆绑技能。将此仓库安装为扩展:

gemini extensions install https://github.com/blacktop/mcp-tts.git

这将安装 speak 技能。

或手动 (仅限技能):

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
注: Gemini CLI技能是实验性的。通过启用 /settings → 搜索“技能”→ 打开。

共享技能目录(可选)

要在所有代理中维护一个副本,请运行安装脚本:

git clone https://github.com/blacktop/mcp-tts.git
cd mcp-tts
./install-skill.sh

这将技能复制到 ~/.agents/skills/speak 并为Claude Code、Codex CLI和Gemini CLI创建符号链接。

验证安装

代理命令
Claude Code询问“有哪些技能可用?”或键入 /speak
Codex CLI重新启动时自动加载技能
Gemini CLIgemini extensions list 或检查 /settings 技能

运作原理

该技能在以下情况下自动触发:

  • 规划完成 -当计划/待办事项列表最终确定时
  • 问题已解决 -当bug修复或错误得到解决时
  • 已生成摘要 -当完成一项重大任务时

提供商按顺序回退: googleopenaielevenlabssay (macOS)。如果提供程序由于缺少API密钥而失败,则会将其标记为不可用,并在将来的尝试中跳过。

许可证

麻省理工学院版权所有(c)2025 柏油碎石

目录标签

目录标签

语音音频多平台支持GoClaude语音合成文本转语音本地部署MCP服务器AI语音

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

skills

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP