say-mcp-server

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]] 500msの無音
- [[rate 200]] テキストの途中で速度を変える
- [[volm 0.5]] テキストの途中で音量を変える
- 強調のための[[emph +]]と[[emph -]]
- ピッチ調整用の[[pbas +10]]
voice
(オプション): 使用する音声 (デフォルト: "Alex")rate
(オプション):1分あたりの単語数での発話速度(デフォルト: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
寄稿者
ライセンス
マサチューセッツ工科大学