say-mcp-server
<a href="https://glama.ai/mcp/servers/lmmqoe15jp"><img width="380" height="200" src="https://gips2.baidu.com/it/u=378180160,465668150&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Say Server MCP server" /></a>

这是一个使用 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)
高级功能
- 语音调制:
use_mcp_tool({
server_name: "say",
tool_name: "speak",
arguments: {
text: "[[volm 0.7]] 这里更安静 [[volm 1.0]] 这里是正常 [[volm 1.5]] 这里更响亮",
voice: "Victoria"
}
});
- 动态速率变化:
use_mcp_tool({
server_name: "say",
tool_name: "speak",
arguments: {
text: "正常速度 [[rate 300]] 现在说话更快 [[rate 100]] 然后更慢",
voice: "Fred"
}
});
- 强调和音调:
use_mcp_tool({
server_name: "say",
tool_name: "speak",
arguments: {
text: "[[emph +]] 重要的一点![[emph -]] [[pbas +10]] 更高的音调 [[pbas -10]] 更低的音调",
voice: "Samantha"
}
});
集成示例
- 与 Marginalia 搜索集成:
// 搜索一个主题并让结果被朗读
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
}
});
- 与 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
}
});
- 多任务背景语音:
// 在后台开始长时间的语音
await use_mcp_tool({
server_name: "say",
tool_name: "speak",
arguments: {
text: "这是一段将在后台运行的长语音……",
voice: "Rocko (意大利语(意大利))",
rate: 69,
background: true
}
});
// 立即执行其他操作,同时语音继续播放
await use_mcp_tool({
server_name: "marginalia-mcp-server",
tool_name: "search",
arguments: { query: "并行处理" }
});
- 与 Apple 笔记集成:
// 朗读笔记
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>命令行规范</th>
</tr>
<tr>
<td>Anna (高级)</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 (高级)"</code></td>
</tr>
<tr>
<td>Emma (高级)</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 (高级)"</code></td>
</tr>
<tr>
<td>Federica (高级)</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 (高级)"</code></td>
</tr>
<tr>
<td>Serena (高级)</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 (高级)"</code></td>
</tr>
<tr>
<td>Petra (高级)</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 (高级)"</code></td>
</tr>
<tr>
<td>Yuna (高级)</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 (高级)"</code></td>
</tr>
<tr>
<td>Alva (高级)</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 (高级)"</code></td>
</tr>
<tr>
<td>Amélie (高级)</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 (高级)"</code></td>
</tr>
<tr>
<td>Ewa (高级)</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 (高级)"</code></td>
</tr>
<tr>
<td>Kiyara (高级)</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 (高级)"</code></td>
</tr>
<tr>
<td>Majed (高级)</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 (高级)"</code></td>
</tr>
<tr>
<td>Tünde (高级)</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 (高级)"</code></td>
</tr>
<tr>
<td>Fiona (增强)</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 (增强)"</code></td>
</tr>
<tr>
<td>Lesya (增强)</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 (增强)"</code></td>
</tr>
<tr>
<td>Carmit (增强)</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 (增强)"</code></td>
</tr>
<tr>
<td>Milena (增强)</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 (增强)"</code></td>
</tr>
<tr>
<td>Katya (增强)</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 (增强)"</code></td>
</tr>
<tr>
<td>Damayanti (增强)</td>
<td>印尼语</td>
<td>斯里·佩克尔蒂</td>
<td>数字跳舞<br>在无边的空间中<br>真理如新叶般生长<br><br><i>Numbers dance gently<br>In boundless space they flutter<br>Truth grows like new leaves</i></td>
<td><code>-v "Damayanti (增强)"</code></td>
</tr>
<tr>
<td>Dariush (增强)</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 (增强)"</code></td>
</tr>
<tr>
<td>Rocko (意大利语)</td>
<td>意大利语</td>
<td>铁臂阿童木<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 (意大利语(意大利))"</code></td>
</tr>
<tr>
<td>Rocko (意大利语)</td>
<td>意大利语</td>
<td>杰基机器人<br>(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 (意大利语(意大利))"</code></td>
</tr>
<tr>
<td>Rocko (意大利语)</td>
<td>意大利语</td>
<td>5号<br>(Short Circuit)</td>
<td>无限输入<br>意识觉醒<br>人造生命<br><br><i>Infinite input<br>Consciousness awakening<br>Artificial life</i></td>
<td><code>-v "Rocko (意大利语(意大利))"</code></td>
</tr>
<tr>
<td>Binbin (增强)</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 (增强)"</code></td>
</tr>
<tr>
<td>汉 (高级)</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 "汉 (高级)"</code></td>
</tr>
<tr>
<td>莉莲 (高级)</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 "莉莲 (高级)"</code></td>
</tr>
<tr>
<td>梅佳</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 "梅佳"</code></td>
</tr>
<tr>
<td>辛吉 (高级)</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 "辛吉 (高级)"</code></td>
</tr>
<tr>
<td>婷婷</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