Macos Notification Mcp について
macOS Notification MCP は、AI アシスタントから macOS のサウンド、バナー通知、音声読み上げを実行できる MCP サーバーです。Claude などのモデルでローカルのシステム通知を使いたい方に向いています。
主な機能
- 01システム標準サウンドによる通知
- 02タイトル・本文・サブタイトル付きバナー通知
- 03速度と音量を調整できる音声読み上げ
- 04利用可能なシステム音声の一覧と選択
- 05各通知方法を確認する診断ツール
活用シーン
- 01タスク完了時のユーザーへのアラート
- 02AI アシスタントによる処理結果の読み上げ
- 03macOS 通知の動作確認
MCP 対応
本プロジェクトは MCP サーバーとして、サウンド、バナー通知、音声読み上げ、音声一覧の各ツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🔔 macOS Notification MCP
AI アシスタントが macOS の通知、サウンド、テキスト読み上げを実行できるようにする Model Context Protocol(MCP)サーバーです。
✨ 特長
- 🔊 サウンド通知:Submarine、Ping、Tink などのシステムサウンドを再生します
- 💬 バナー通知:タイトル、メッセージ、サブタイトルをカスタマイズして、視覚的な通知を表示します
- 🗣️ 音声通知:音声、読み上げ速度、音量を調整して、テキストを音声に変換します
- 🎙️ 音声の管理:利用可能なシステム音声を一覧表示し、選択できます
- 🧪 テストツール:すべての通知方法を検証する診断ユーティリティです
🚀 uvx でクイックスタート(推奨)
このツールを最も手軽に使う方法は、パッケージを恒久的にインストールせずに実行できる uvx を使うことです。
# Install uv if you don't have it
curl -LsSf https://astral.sh/uv/install.sh | sh
# Run the MCP server directly (no installation needed)
uvx macos-notification-mcp
⚙️ Claude Desktop の設定
Claude Desktop の設定(~/Library/Application Support/Claude/claude_desktop_config.json)に以下を追加します。
{
"mcpServers": {
"macos-notification-mcp": {
"command": "uvx",
"args": ["macos-notification-mcp"]
}
}
}
その後、Claude Desktop を再起動します。
📦 その他のインストール方法
標準インストール:
pip install macos-notification-mcp
ソースからインストール:
git clone https://github.com/devizor/macos-notification-mcp
cd macos-notification-mcp
pip install .
🛠️ 利用可能な通知ツール
🔊 サウンド通知
sound_notification(sound_name="Submarine")
利用可能なサウンド:Basso、Blow、Bottle、Frog、Funk、Glass、Hero、Morse、Ping、Pop、Purr、Sosumi、Submarine、Tink
💬 バナー通知
banner_notification(
title="Task Complete",
message="Your analysis is ready",
subtitle=None, # Optional
sound=False, # Optional: Play sound with notification
sound_name=None # Optional: Specify system sound
)
🗣️ 音声通知
speak_notification(
text="The process has completed",
voice=None, # Optional: System voice to use
rate=150, # Optional: Words per minute (default: 150)
volume=1.0 # Optional: Volume level 0.0-1.0
)
🎙️ 音声の管理
list_available_voices() # Lists all available text-to-speech voices
🧪 テスト
test_notification_system() # Tests all notification methods
🔒 実装の詳細
- ⏱️ レート制限:通知は一度に1件ずつ処理され、最小間隔は0.5秒です
- 🔄 キューイング:複数の通知リクエストは順番に処理されます
- 🪟 OS との統合:macOS ネイティブのコマンド(
afplay、osascript、say)を使用します - 🔌 FastMCP:AI との通信に FastMCP フレームワークを使用して構築されています
⚠️ トラブルシューティング
- 🔐 権限:システム設定 → 通知で通知が許可されていることを確認してください
- ⏳ タイミング:一度に処理される通知は1件のみです
- 🌐 環境:コマンドを直接使用する場合(uvx を使わない場合)、フルパスの指定が必要になることがあります
📄 ライセンス
MIT ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。