Apple Notifier MCP サーバー
Claude Desktop や Cline などの MCP 互換クライアントを介してネイティブ macOS 通知を送信し、システム ダイアログを操作します。
前提条件
macOS
Node.js >= 18
MCP 互換クライアント (Claude Desktop、Cline)
Related MCP server: Toast MCP Server
インストール
Smithery経由でインストール
Smithery経由で Claude Desktop 用の Apple Notifier を自動的にインストールするには:
npx -y @smithery/cli install apple-notifier-mcp --client claude手動インストール
パッケージをグローバルにインストールします。
npm install -g apple-notifier-mcpMCP 構成ファイルに以下を追加します:
Cline の場合 ( cline_mcp_settings.json ):
{
"mcpServers": {
"apple-notifier": {
"command": "apple-notifier-mcp"
}
}
}Claude Desktop の場合 ( claude_desktop_config.json ):
{
"mcpServers": {
"apple-notifier": {
"command": "apple-notifier-mcp"
}
}
}特徴
通知を送信する
カスタマイズ可能なコンテンツを含むネイティブ macOS 通知を表示します。
パラメータ:
title(必須): 文字列 - 通知のタイトルmessage(必須): 文字列 - メインメッセージの内容subtitle(オプション): 文字列 - 表示するサブタイトルsound(オプション):ブール値 - デフォルトの通知音を再生するかどうか(デフォルト:true)
プロンプトを表示
ユーザー入力を取得するための対話型ダイアログ プロンプトを表示します。
パラメータ:
message(必須): 文字列 - プロンプトダイアログに表示するテキストdefaultAnswer(オプション): 文字列 - 事前入力するデフォルトのテキストbuttons(オプション): string[] - カスタムボタンラベル (最大3つ)icon(オプション): 'note' | 'stop' | 'caution' - 表示するアイコン
テキスト読み上げ
macOS のテキスト読み上げ機能を使用します。
パラメータ:
text(必須): 文字列 - 読み上げるテキストvoice(オプション): 文字列 - 使用する音声 (デフォルトはシステム音声)rate(オプション): 数値 - 音声速度 (-50 ~ 50、デフォルトは 0)
スクリーンショットを撮る
macOS スクリーンキャプチャを使用してスクリーンショットをキャプチャします。
パラメータ:
path(必須): 文字列 - スクリーンショットを保存するパスtype(必須): 'fullscreen' | 'window' | 'selection' - スクリーンショットの種類format(オプション): 'png' | 'jpg' | 'pdf' | 'tiff' - 画像形式hideCursor(オプション): ブール値 - カーソルを非表示にするかどうかshadow(オプション): boolean - ウィンドウの影を含めるかどうか (ウィンドウタイプのみ)timestamp(オプション): ブール値 - ファイル名にタイムスタンプを追加する
ファイルの選択
ネイティブ macOS ファイルピッカーダイアログを開きます。
パラメータ:
prompt(オプション): 文字列 - プロンプトメッセージdefaultLocation(オプション): 文字列 - デフォルトのディレクトリパスfileTypes(オプション): オブジェクト - ファイルタイプフィルター (例: {"public.image": ["png", "jpg"]})multiple(オプション): ブール値 - 複数のファイルの選択を許可する
使用例
// Send a notification
await client.use_mcp_tool("apple-notifier", "send_notification", {
title: "Hello",
message: "World",
sound: true
});
// Show a prompt
const result = await client.use_mcp_tool("apple-notifier", "prompt_user", {
message: "What's your name?",
defaultAnswer: "John Doe",
buttons: ["OK", "Cancel"]
});
// Speak text
await client.use_mcp_tool("apple-notifier", "speak", {
text: "Hello, world!",
voice: "Samantha",
rate: -20
});
// Take a screenshot
await client.use_mcp_tool("apple-notifier", "take_screenshot", {
path: "screenshot.png",
type: "window",
format: "png"
});
// Select files
const files = await client.use_mcp_tool("apple-notifier", "select_file", {
prompt: "Select images",
fileTypes: {
"public.image": ["png", "jpg", "jpeg"]
},
multiple: true
});貢献
開発のセットアップとガイドラインについては、 CONTRIBUTING.md を参照してください。
ライセンス
MIT ライセンス - 詳細についてはLICENSEファイルを参照してください。