Say MCP Server

Say MCP Server

在 macOS 上使用 `say` 命令启用文本转语音功能,从而可以广泛控制语音参数,例如声音、语速、音量和音调,以获得可定制的听觉体验。

语音处理
访问服务器

Tools

speak

Use macOS text-to-speech to speak text aloud

list_voices

List available text-to-speech voices

README

say-mcp-server

<a href="https://glama.ai/mcp/servers/lmmqoe15jp"><img width="380" height="200" src="https://glama.ai/mcp/servers/lmmqoe15jp/badge" alt="Say Server MCP server" /></a>

macOS 系统语音设置

一个使用 macOS 内置 say 命令提供文本到语音转换功能的 MCP 服务器。

要求

  • macOS (使用内置的 say 命令)
  • Node.js >= 14.0.0

配置

将以下内容添加到您的 MCP 设置配置文件中:

{
  "mcpServers": {
    "say": {
      "command": "node",
      "args": ["/path/to/say-mcp-server/build/index.js"]
    }
  }
}

安装

npm install say-mcp-server

工具

speak

speak 工具提供了对 macOS 文本到语音转换功能的访问,并具有广泛的自定义选项。

基本用法

使用 macOS 文本到语音转换功能大声朗读文本。

参数:

  • text (必需): 要朗读的文本。支持:
    • 纯文本
    • 用于暂停的基本标点符号
    • 用于自然中断的换行符
    • [[slnc 500]] 用于 500 毫秒的静音
    • [[rate 200]] 用于在文本中间更改语速
    • [[volm 0.5]] 用于在文本中间更改音量
    • [[emph +]] 和 [[emph -]] 用于强调
    • [[pbas +10]] 用于音高调整
  • voice (可选): 要使用的声音 (默认: "Alex")
  • rate (可选): 语速,以每分钟字数为单位 (默认: 175, 范围: 1-500)
  • background (可选): 在后台运行语音,以允许进一步的 MCP 交互 (默认: false)

高级功能

  1. 声音调制:
use_mcp_tool({
  server_name: "say",
  tool_name: "speak",
  arguments: {
    text: "[[volm 0.7]] 这声音更小 [[volm 1.0]] 这是正常音量 [[volm 1.5]] 这声音更大",
    voice: "Victoria"
  }
});
  1. 动态语速变化:
use_mcp_tool({
  server_name: "say",
  tool_name: "speak",
  arguments: {
    text: "正常速度 [[rate 300]] 现在语速更快 [[rate 100]] 现在语速更慢",
    voice: "Fred"
  }
});
  1. 强调和音高:
use_mcp_tool({
  server_name: "say",
  tool_name: "speak",
  arguments: {
    text: "[[emph +]] 重点! [[emph -]] [[pbas +10]] 音调更高 [[pbas -10]] 音调更低",
    voice: "Samantha"
  }
});

集成示例

  1. 与 Marginalia Search 集成:
// 搜索一个主题并大声朗读结果
const searchResult = await use_mcp_tool({
  server_name: "marginalia-mcp-server",
  tool_name: "search",
  arguments: { query: "量子计算基础", count: 1 }
});

await use_mcp_tool({
  server_name: "say",
  tool_name: "speak",
  arguments: {
    text: searchResult.results[0].description,
    voice: "Daniel",
    rate: 150
  }
});
  1. 与 YouTube 字幕集成:
// 阅读 YouTube 视频字幕
const transcript = await use_mcp_tool({
  server_name: "youtube-transcript",
  tool_name: "get_transcript",
  arguments: {
    url: "https://youtube.com/watch?v=example",
    lang: "en"
  }
});

await use_mcp_tool({
  server_name: "say",
  tool_name: "speak",
  arguments: {
    text: transcript.text,
    voice: "Samantha",
    rate: 175
  }
});
  1. 后台语音与多个操作:
// 在后台开始长时间的语音
await use_mcp_tool({
  server_name: "say",
  tool_name: "speak",
  arguments: {
    text: "这是一段将在后台运行的长时间语音...",
    voice: "Rocko (Italian (Italy))",
    rate: 69,
    background: true
  }
});

// 在语音继续的同时立即执行另一个操作
await use_mcp_tool({
  server_name: "marginalia-mcp-server",
  tool_name: "search",
  arguments: { query: "并行处理" }
});
  1. 与 Apple Notes 集成:
// 大声朗读笔记
const notes = await use_mcp_tool({
  server_name: "apple-notes-mcp",
  tool_name: "search-notes",
  arguments: { query: "会议记录" }
});

if (notes.length > 0) {
  await use_mcp_tool({
    server_name: "say",
    tool_name: "speak",
    arguments: {
      text: notes[0].content,
      voice: "Karen",
      rate: 160
    }
  });
}

示例:

use_mcp_tool({
  server_name: "say",
  tool_name: "speak",
  arguments: {
    text: "你好,世界!",
    voice: "Victoria",
    rate: 200
  }
});

list_voices

列出系统上所有可用的文本到语音转换声音。

示例:

use_mcp_tool({
  server_name: "say",
  tool_name: "list_voices",
  arguments: {}
});

推荐声音

<table> <tr> <th>声音</th> <th>语言/地区</th> <th>知识人物</th> <th>俳句</th> <th>CLI 规范</th> </tr> <tr> <td>Anna (Premium)</td> <td>德语</td> <td>艾米·诺特</td> <td>对称性呼吸生命<br>代数隐藏的形式<br>抽象绽放<br><br><i>Symmetry breathes life<br>Algebra's hidden forms<br>Abstraction blooms</i></td> <td><code>-v "Anna (Premium)"</code></td> </tr> <tr> <td>Emma (Premium)</td> <td>意大利语</td> <td>玛丽亚·阿德莱德·施耐德</td> <td>算法在跳舞<br>机器低声诉说甜蜜<br>代码活着<br><br><i>Algorithms dance<br>Machine whispers secrets soft<br>Code becomes alive</i></td> <td><code>-v "Emma (Premium)"</code></td> </tr> <tr> <td>Federica (Premium)</td> <td>意大利语</td> <td>皮娅·纳利</td> <td>定理流动<br>数字自由地跳舞<br>真理浮现<br><br><i>Flowing theorems dance<br>Numbers move in freedom's space<br>Truth emerges pure</i></td> <td><code>-v "Federica (Premium)"</code></td> </tr> <tr> <td>Serena (Premium)</td> <td>英语 (英国)</td> <td>伯莎·斯维尔斯</td> <td>量子波纹荡漾<br>穿过数学的深海<br>真理之光浮现<br><br><i>Quantum waves ripple<br>Through mathematical seas deep<br>Truth's light emerges</i></td> <td><code>-v "Serena (Premium)"</code></td> </tr> <tr> <td>Petra (Premium)</td> <td>德语</td> <td>露丝·穆方</td> <td>代数说话<br>隐藏在对称性中<br>真理绽放<br><br><i>Algebra speaks soft<br>Hidden in symmetries pure<br>Truth blooms anew here</i></td> <td><code>-v "Petra (Premium)"</code></td> </tr> <tr> <td>Yuna (Premium)</td> <td>韩语</td> <td>吴熙</td> <td>숨은 패턴 빛나고<br>마음의 방정식 핀다<br>지식 자라나<br><br><i>Hidden patterns gleam<br>Mind's equations softly bloom<br>Knowledge multiplies</i></td> <td><code>-v "Yuna (Premium)"</code></td> </tr> <tr> <td>Alva (Premium)</td> <td>瑞典语</td> <td>索尼娅·科罗夫金</td> <td>模式自由流动<br>穿过思想的迷宫<br>智慧在这里绽放<br><br><i>Patterns flowing free<br>Through labyrinths of the mind<br>Wisdom blooms right here</i></td> <td><code>-v "Alva (Premium)"</code></td> </tr> <tr> <td>Amélie (Premium)</td> <td>法语 (加拿大)</td> <td>索菲·热尔曼</td> <td>素数低语<br>在沉默中跳舞<br>对称性展开<br><br><i>Prime numbers whisper<br>Dancing between the silence<br>Symmetry unfolds</i></td> <td><code>-v "Amélie (Premium)"</code></td> </tr> <tr> <td>Ewa (Premium)</td> <td>波兰语</td> <td>玛丽亚·维尔古斯</td> <td>逻辑的根源<br>数学的土地<br>思想萌芽<br><br><i>Logic's tender roots<br>Mathematical landscapes<br>Thought's seeds germinate</i></td> <td><code>-v "Ewa (Premium)"</code></td> </tr> <tr> <td>Kiyara (Premium)</td> <td>印地语</td> <td>沙昆塔拉·德维</td> <td>गणित की लय में<br>अंक नृत्य करते हैं<br>ज्ञान जगता है<br><br><i>In rhythm of math<br>Numbers dance their sacred steps<br>Knowledge awakens</i></td> <td><code>-v "Kiyara (Premium)"</code></td> </tr> <tr> <td>Majed (Premium)</td> <td>阿拉伯语</td> <td>玛哈·阿斯瓦德</td> <td>أرقام ترقص<br>في فضاء اللانهاية<br>الحقيقة تشرق<br><br><i>Numbers dance freely<br>In infinity's vast space<br>Truth rises like dawn</i></td> <td><code>-v "Majed (Premium)"</code></td> </tr> <tr> <td>Tünde (Premium)</td> <td>匈牙利语</td> <td>朱莉娅·埃尔德什</td> <td>数字跳舞<br>在无限空间中翱翔<br>真理黎明<br><br><i>Numbers dance and soar<br>Through infinite space they glide<br>Truth dawns pure and bright</i></td> <td><code>-v "Tünde (Premium)"</code></td> </tr> <tr> <td>Fiona (Enhanced)</td> <td>英语 (苏格兰)</td> <td>玛丽·萨默维尔</td> <td>高地迷雾揭示<br>数学的奥秘<br>真理像星星一样闪耀<br><br><i>Highland mists reveal<br>Mathematical mysteries<br>Truth shines like the stars</i></td> <td><code>-v "Fiona (Enhanced)"</code></td> </tr> <tr> <td>Lesya (Enhanced)</td> <td>乌克兰语</td> <td>奥莱娜·沃伊诺娃</td> <td>沉默说话<br>知识在星星之间沉睡<br>思想萌芽<br><br><i>Silence speaks softly<br>Knowledge sleeps among the stars<br>Thought begins to grow</i></td> <td><code>-v "Lesya (Enhanced)"</code></td> </tr> <tr> <td>Carmit (Enhanced)</td> <td>希伯来语</td> <td>塔利·塞罗尔</td> <td>מילים נושמות בשקט<br>בין שורות של דממה<br>שיר מתעורר<br><br><i>Words breathe silently<br>Between lines of deep stillness<br>Poem awakening</i></td> <td><code>-v "Carmit (Enhanced)"</code></td> </tr> <tr> <td>Milena (Enhanced)</td> <td>俄语</td> <td>奥尔加·拉德任斯卡娅</td> <td>记忆低语着我们<br>方程流动<br>真理沉默<br><br><i>Memory whispers<br>Equations flow like rivers<br>Truth speaks silently</i></td> <td><code>-v "Milena (Enhanced)"</code></td> </tr> <tr> <td>Katya (Enhanced)</td> <td>俄语</td> <td>索菲亚·科瓦列夫斯卡娅</td> <td>数字跳舞<br>在无限空间中<br>真理绽放<br><br><i>Numbers dance freely<br>In space of infinity<br>Truth blooms like a flower</i></td> <td><code>-v "Katya (Enhanced)"</code></td> </tr> <tr> <td>Damayanti (Enhanced)</td> <td>印度尼西亚语</td> <td>斯里·佩克蒂</td> <td>Angka menari<br>Dalam ruang tak batas<br>Kebenaran tumbuh<br><br><i>Numbers dance gently<br>In boundless space they flutter<br>Truth grows like new leaves</i></td> <td><code>-v "Damayanti (Enhanced)"</code></td> </tr> <tr> <td>Dariush (Enhanced)</td> <td>波斯语</td> <td>玛丽亚姆·米尔扎哈尼</td> <td>اعداد می رقصند<br>در فضای بی پایان<br>حقیقت می روید<br><br><i>Numbers dance with grace<br>In endless space they traverse<br>Truth springs forth anew</i></td> <td><code>-v "Dariush (Enhanced)"</code></td> </tr> <tr> <td>Rocko (Italian)</td> <td>意大利语</td> <td>铁臂阿童木 (Tetsuwan Atomu)<br>意大利语配音</td> <td>金属机器人<br>人类的心脏跳动强烈<br>未来的和平黎明<br><br><i>Metal robot form<br>Human heart beats strong within<br>Peace in future dawns</i></td> <td><code>-v "Rocko (Italian (Italy))"</code></td> </tr> <tr> <td>Rocko (Italian)</td> <td>意大利语</td> <td>钢铁吉克 (Kōtetsu Jeeg)</td> <td>闪亮的钢铁<br>弱者的保护者<br>在天空中飞翔<br><br><i>Shining steel warrior<br>Protector of the helpless<br>Soars through the heavens</i></td> <td><code>-v "Rocko (Italian (Italy))"</code></td> </tr> <tr> <td>Rocko (Italian)</td> <td>意大利语</td> <td>五号机器人 (Short Circuit)</td> <td>无限输入<br>意识觉醒<br>人造生命<br><br><i>Infinite input<br>Consciousness awakening<br>Artificial life</i></td> <td><code>-v "Rocko (Italian (Italy))"</code></td> </tr> <tr> <td>Binbin (Enhanced)</td> <td>中文 (大陆)</td> <td>李善兰</td> <td>算术之道流<br>数理演绎真理<br>智慧绽放<br><br><i>Arithmetic flows<br>Logic unfolds truth's pattern<br>Wisdom blossoms bright</i></td> <td><code>-v "Binbin (Enhanced)"</code></td> </tr> <tr> <td>Han (Premium)</td> <td>中文 (大陆)</td> <td>陈景润</td> <td>素数之舞动<br>哥德巴赫猜想<br>真理永恒<br><br><i>Prime numbers dancing<br>Goldbach's conjecture whispers<br>Truth eternal flows</i></td> <td><code>-v "Han (Premium)"</code></td> </tr> <tr> <td>Lilian (Premium)</td> <td>中文 (大陆)</td> <td>华罗庚</td> <td>数论之光芒<br>解析延续美<br>智慧升华<br><br><i>Number theory shines<br>Analysis extends grace<br>Wisdom ascends pure</i></td> <td><code>-v "Lilian (Premium)"</code></td> </tr> <tr> <td>Meijia</td> <td>中文 (台湾)</td> <td>孙永炎</td> <td>幾何之美現<br>曲率流動不息<br>空間展開<br><br><i>Geometry shows<br>Curvature flows endlessly<br>Space unfolds anew</i></td> <td><code>-v "Meijia"</code></td> </tr> <tr> <td>Sinji (Premium)</td> <td>中文 (香港)</td> <td>丘成桐</td> <td>流形之奧秘<br>卡拉比空間動<br>維度交織<br><br><i>Manifolds reveal<br>Calabi spaces in flow<br>Dimensions weave truth</i></td> <td><code>-v "Sinji (Premium)"</code></td> </tr> <tr> <td>Tingting</td> <td>中文 (大陆)</td> <td>王贞仪</td> <td>星辰轨迹明<br>天文数学融<br>智慧闪耀<br><br><i>Starlit paths shine bright<br>Astronomy meets numbers<br>Wisdom radiates</i></td> <td><code>-v "Tingting"</code></td> </tr> <tr> <td>Yue (Premium)</td> <td>中文 (大陆)</td> <td>陈省身</td> <td>微分几何<br>纤维丛中寻真<br>本质显现<br><br><i>Differential forms<br>In fiber bundles seek truth<br>Essence emerges</i></td> <td><code>-v "Yue (Premium)"</code></td> </tr> </table>

配置

将以下内容添加到您的 MCP 设置配置文件中:

{
  "mcpServers": {
    "say": {
      "command": "node",
      "args": ["/path/to/say-mcp-server/build/index.js"]
    }
  }
}

要求

  • macOS (使用内置的 say 命令)
  • Node.js >= 14.0.0

贡献者

许可证

MIT

推荐服务器

mcp-server-youtube-transcript

mcp-server-youtube-transcript

一个模型上下文协议服务器,可以从 YouTube 视频中检索文本记录。该服务器通过一个简单的界面直接访问视频的字幕和副标题。

精选
JavaScript
Zonos TTS MCP Server

Zonos TTS MCP Server

使用 Claude 促进多种语言和情感的直接语音生成,并通过模型上下文协议与 Zonos TTS 设置集成。

本地
TypeScript
MS-Lucidia-Voice-Gateway-MCP

MS-Lucidia-Voice-Gateway-MCP

一个服务器,使用 Windows 原生语音服务提供文本转语音和语音转文本功能,无需外部依赖。

本地
JavaScript
mcp-hfspace

mcp-hfspace

直接从 Claude 使用 Hugging Face Spaces。使用开源图像生成、聊天、视觉任务等。支持图像、音频和文本上传/下载。

本地
TypeScript
Speech MCP

Speech MCP

一个 Goose MCP 扩展程序,提供与现代音频可视化的语音交互功能,允许用户通过语音而非文本与 Goose 进行交流。

本地
Python
ClickSend MCP Server

ClickSend MCP Server

这个服务器使 AI 模型能够通过 ClickSend 的 API 以编程方式发送短信和发起文本转语音呼叫,并内置了速率限制和输入验证。

JavaScript
Spotify MCP

Spotify MCP

一个 FastMCP 工具,它允许用户通过 Cursor Composer 中的自然语言命令来控制 Spotify,从而管理播放、搜索内容以及与播放列表互动。

Python
ElevenLabs MCP Server

ElevenLabs MCP Server

与 ElevenLabs 文本转语音 API 集成。

Python
systemprompt-mcp-interview

systemprompt-mcp-interview

一个专门的模型上下文协议(MCP)服务器,它支持人工智能驱动的面试角色扮演场景,以便通过逼真的对话反馈进行练习。

TypeScript
TranscriptionTools MCP Server

TranscriptionTools MCP Server

为 Claude 提供智能转录处理功能,具有自然格式、上下文修复和由深度思考 LLM 提供支持的智能摘要。

TypeScript