Skip to main content
Glama
Say MCP Server

Say MCP Server

by bmorphism

say-mcp-server

macOSシステムの音声設定

macOS に組み込まれているsayコマンドを使用してテキスト読み上げ機能を提供する MCP サーバー。

要件

  • macOS(組み込みのsayコマンドを使用)

  • Node.js >= 14.0.0

Related MCP server: mcp-speak

構成

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)

高度な機能

  1. 音声変調:

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"
  }
});
  1. 動的なレートの変更:

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"
  }
});
  1. 強調とピッチ:

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"
  }
});

統合例

  1. 余白検索付き:

// 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
  }
});
  1. 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
  }
});
  1. 複数のアクションを伴う背景音声:

// 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" }
});
  1. 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

寄稿者

ライセンス

マサチューセッツ工科大学

Available Tools

2 tools
list_voicesB

List available text-to-speech voices

Inputs: no named parameters.

speakA

Use macOS text-to-speech to speak text aloud

Inputs: text (required), background, rate, voice.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 2 tools

    Disambiguation5/5

    The two tools have clearly distinct purposes: list_voices retrieves available options, while speak performs the core text-to-speech action. There is no overlap or ambiguity between them, making it easy for an agent to select the correct tool.

    Naming Consistency5/5

    Both tools follow a consistent verb_noun pattern (list_voices and speak), with clear, descriptive names that align with their functions. There are no deviations or mixed conventions in the naming style.

    Tool Count2/5

    With only two tools, the server feels thin for a text-to-speech domain. While it covers basic functionality (listing and speaking), it lacks operations like stopping speech, adjusting voice parameters, or managing speech queues, which are common in such systems.

    Completeness2/5

    The tool surface is severely incomplete for a text-to-speech server. It provides list and speak functions but misses essential operations such as pausing, resuming, or canceling speech, and offers no control over voice settings like rate or volume, limiting agent workflows.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers