say-mcp-服务器

使用 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
工具提供对 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]] This is quieter [[volm 1.0]] and this is normal [[volm 1.5]] and this is louder",
voice: "Victoria"
}
});
- 动态利率变化:
use_mcp_tool({
server_name: "say",
tool_name: "speak",
arguments: {
text: "Normal speed [[rate 300]] now speaking faster [[rate 100]] and now slower",
voice: "Fred"
}
});
- 重点和音调:
use_mcp_tool({
server_name: "say",
tool_name: "speak",
arguments: {
text: "[[emph +]] Important point! [[emph -]] [[pbas +10]] Higher pitch [[pbas -10]] Lower pitch",
voice: "Samantha"
}
});
集成示例
- 附有旁注的搜索:
// Search for a topic and have the results read aloud
const searchResult = await use_mcp_tool({
server_name: "marginalia-mcp-server",
tool_name: "search",
arguments: { query: "quantum computing basics", count: 1 }
});
await use_mcp_tool({
server_name: "say",
tool_name: "speak",
arguments: {
text: searchResult.results[0].description,
voice: "Daniel",
rate: 150
}
});
- 附有 YouTube 成绩单:
// Read a YouTube video transcript
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
}
});
- 具有多种动作的背景演讲:
// Start long speech in background
await use_mcp_tool({
server_name: "say",
tool_name: "speak",
arguments: {
text: "This is a long speech that will run in the background...",
voice: "Rocko (Italian (Italy))",
rate: 69,
background: true
}
});
// Immediately perform another action while speech continues
await use_mcp_tool({
server_name: "marginalia-mcp-server",
tool_name: "search",
arguments: { query: "parallel processing" }
});
- 使用 Apple Notes:
// Read notes aloud
const notes = await use_mcp_tool({
server_name: "apple-notes-mcp",
tool_name: "search-notes",
arguments: { query: "meeting notes" }
});
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: "Hello, world!",
voice: "Victoria",
rate: 200
}
});
列表声音
列出系统上所有可用的文本转语音的声音。
例子:
use_mcp_tool({
server_name: "say",
tool_name: "list_voices",
arguments: {}
});
推荐声音
配置
将以下内容添加到您的 MCP 设置配置文件中:
{
"mcpServers": {
"say": {
"command": "node",
"args": ["/path/to/say-mcp-server/build/index.js"]
}
}
}
要求
- macOS(使用内置的
say
命令) - Node.js >= 14.0.0
贡献者
执照
麻省理工学院