Skip to main content
Glama

speak

Claudeに回答を音声で読み上げてもらいます。

生の回答をそのままテキスト読み上げするのではありません。「簡単に読み返して」と言うと、Claudeは言ったことを短い読み上げ用スクリプトに書き直し、それを再生します。スクリプトはチャットには表示されません。これはあなたとモデルの間の会話であり、テキストは邪魔にならないように保たれます。

現在はClaude Codeで動作します。再生部分は単純なMCPサーバーなので、Claude Desktop、Cursor、その他のMCPクライアントにもそのまま組み込めます。

入手できるもの

  • speak MCPサーバー。ツールは speakstoppauseresumebackskipadd_pronunciationlist_pronunciationslist_voicesset_default

  • Claudeが話している間のmacOS用フローティングオーバーレイ: すべてのウィンドウの上に小さなピル型の表示があり、ライブ波形、1文戻る、1文スキップ、正確な位置からの一時停止と再開、停止ができます。

  • Claude Code用の/speakスキル。スタイル: simple(デフォルト)、briefdecisionsfulleli5

  • 自動読み上げ: すべての回答の後にbriefスクリプトを読み上げるStopフック。デフォルトではオフ。

  • speak CLI: echo "hello" | speak

  • Raycastスクリプトコマンド: Speakは選択したテキストをそのまま読み上げます。Speak Simplyclaude -pで短い読み上げ用サマリーに書き換えてから読み上げます。Speak Translatedは最初に翻訳します(デフォルトは英語。コマンドの引数に別の言語を入力するか、SPEAK_TRANSLATE_LANGUAGEを設定してデフォルトを変更できます)。英語以外の翻訳は、インストールされているmacOSの音声のうち、最適なものから順に(Premium、Enhanced、compact)一致する音声で読み上げられます。英語の場合は通常の音声がそのまま使われます。言語のPremium音声をダウンロードするには、システム設定 > アクセシビリティ > 読み上げと読み上げコンテンツ > システムの声 > 声を管理 で行えます。Speak Stopは停止します。これらのコマンドはシミュレートされたCmd+Cで選択範囲をコピーするため、Raycastにはアクセシビリティ権限が必要です。

Related MCP server: MCP Audio Server

エンジン

Engine

Cost

Needs

Notes

say

無料

macOS

デフォルト。高品質にするには、システム設定 > アクセシビリティ > 読み上げコンテンツ でPremiumまたはEnhancedの音声をダウンロードします。Siriの音声をシステムのデフォルトに設定すると、素のsayがそれを使います。

edge

無料

ネットワーク

edge-tts-universalによるMicrosoftニューラル音声。非常に高品質。非公式API。

kokoro

無料

npm i kokoro-js、初回実行時に約300MBのモデル

ローカルニューラルTTS。CPUで動作。

openai

有料

OPENAI_API_KEY

gpt-4o-mini-tts

elevenlabs

無料枠

ELEVENLABS_API_KEY

eleven_flash_v2_5

macOSでの音声の選択

デフォルトのsayエンジンはMacのシステム音声を使用するため、macOSで一度設定すれば、以降のすべての読み上げでそれが使われます。

  1. System Settings > Accessibility > Read & Speak(古いバージョンではSpoken Content)を開きます。

  2. System Voiceで音声を選択します。Appleは言語ごとに大きなライブラリを提供しており、PremiumとEnhancedはオンデマンドでダウンロードされ、コンパクトなデフォルトよりもはるかに良い音質です。Siriの音声もここで選択できます。

  3. 読み上げ速度をお好みに設定します。

発音

チャットでClaudeに伝えます:

  • 「これからfancyappをfan-see-appと発音して」

  • 「保存した発音は何?」

これらは~/.config/speak/pronunciations.jsonに保存されます(SPEAK_CONFIG_DIRでフォルダを上書き可能)。単語全体で大文字小文字を区別せずにマッチし、すべての読み上げに適用されます:

{
  "fancyapp": "fan-see-app",
  "OAuth": "oh auth"
}

リンクとメールアドレスは読み上げ形式で読まれます: https://example.com/loginは「example dot com slash login」、jane@example.deは「jane at example dot d e」になります。deioco.ukのような短い語尾は一文字ずつ綴られます。なぜなら「de」を単語として読むと「duh」になってしまうからです。

「live」「read」「lead」のように2つの読み方がある単語は、単語リストでは修正できません。スキルはClaudeにスクリプト内でそれらを綴り直すよう指示し、音声が誤って推測しないようにします: 「alive」の意味のliveは「lyive」、「read」の過去形は「red」、「金属」のleadは「led」です。スキルはよくある問題単語の表を持っており、読み上げ前にスクリプトをそれと照合します。

SPEAK_VOICEを未設定のままにするとシステムの音声に従います。say -v ?で得られる音声名を設定すると、Claudeのみ上書きされます。

SPEAK_ENGINEを設定しない限り、最初に利用可能なエンジンが使われます。SPEAK_VOICEで音声を設定します。どちらもset_defaultツールでセッションごとに変更できます(「edgeエンジンに切り替えて」など)。

インストール

RAYCAST_SCRIPTS_DIRをRaycastで既に追加されているディレクトリ(設定 > 拡張機能 > スクリプトコマンド)に設定すると、コマンドがそこにリンクされます。設定しない場合は、このリポジトリのraycast/を一度手動で追加してください。

RAYCAST_SCRIPTS_DIR=~/raycast-scripts ./install.sh

Node 20+、jq、Claude Codeが必要です。

git clone https://github.com/CareyScott/speak
cd speak
./install.sh

これにより、サーバーとmacOSオーバーレイヘルパー(Xcodeコマンドラインツールのswiftcが必要)がビルドされ、MCPサーバーがユーザースコープで登録され、スキルが~/.claude/skillsにリンクされ、Stopフックが~/.claude/settings.jsonに追加され、speakspeak-auto~/.local/binにリンクされます。

Claude Codeを再起動します。

使い方

Claudeに話しかけます:

  • 「それを読み返して」

  • 「簡単に言って」

  • 「私に何が必要か、声に出して」

  • /speak decisions

  • 「止めて」

すべての回答後に自動読み上げ:

speak-auto on            # brief style
speak-auto on decisions  # only the questions for you
speak-auto off

読み上げ中は、オーバーレイを使うか、そのまま言います:

  • 「一時停止」「再開」「1文戻って」「それをスキップ」「停止」

一時停止は正確な位置を保持します。再開はその位置から続行します。戻るは前の文を再生します。スキップは次の文に進みます。一時停止や再開についての音声はありません。ただ実行するだけです。

エンジンまたは音声を選択:

export SPEAK_ENGINE=edge
export SPEAK_VOICE=en-IE-ConnorNeural

またはチャットで: 「sayの音声を一覧表示して」「これからJamieを使って」

仕組み

スキルはClaudeに、耳で聞くための書き方を指示します: 短い文、要点を先に、コードは読むのではなく説明する、最後にあなたから必要な決定を述べる。Claudeはそのスクリプトでspeakツールを呼び出します。

サーバーは残ったマークダウンを除去し、スクリプトを文に分割し、現在の文を再生しながら次の文を合成します。

macOSでは、小さなSwiftヘルパー(overlay/main.swift)がAVAudioPlayerで再生を担当し、オーバーレイを描画します: 常に最前面に表示され、アクティブにならないパネルで、フォーカスを奪うことはありません。NodeはJSON Linesで1文ずつファイルをstdin経由で送信し、ヘルパーはstdoutにfinishedbackstopを報告します。一時停止と再開はヘルパー内で行われるため、位置は正確です。戻るとスキップは、次に再生する文をサーバーに伝えます。その他の環境では、サーバーはオーバーレイなしでafplayまたはffplayにフォールバックします。

自動読み上げはClaude CodeのStopフックです。フラグファイル~/.config/speak/autoが存在する場合、フックは停止を一度ブロックし、ファイルに指定されたスタイルでスクリプトを読み上げるようClaudeに依頼します。stop_hook_activeガードによりループを防ぎます。

開発

npm run dev        # run the server with tsx
npm test           # vitest
npm run typecheck

MIT.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Generate AI images, video, speech, music and presentations from Claude, ChatGPT and Cursor.

  • Connect Claude to Fathom meeting recordings, transcripts, and summaries

  • Persistent context for Claude. Your AI always knows your projects and next actions across sessions.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/CareyScott/speak'

If you have feedback or need assistance with the MCP directory API, please join our Discord server