Apple System について
Apple System は、macOS のシステム状況や、範囲を限定した設定・デスクトップ操作を必要とするクライアント向けのローカル MCP サーバーです。明示的な設定操作と、許可リスト方式の GUI 操作を備えています。
主な機能
- 01バッテリーとアプリの状況
- 02クリップボードと通知
- 03macOS 設定の読み書き
- 04許可リスト付きの限定的な GUI 操作
- 05システムリソースとプロンプト
- 06ツール検索ヘルパー
活用シーン
- 01操作前のデスクトップ状況の確認
- 02Finder、Dock、アクセシビリティ設定の変更
- 03クリップボードの読み書き
- 04ネイティブツールがない場合の許可済みアプリ操作
MCP 対応
MCP リソース、プロンプト、ツールとして、macOS の状態、アプリ、設定、コンテキストを提供します。stdio と Streamable HTTP に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
39掲載時のツール一覧 · 1 日前に更新
このツールにパラメーターはありません。
詳細
Apple System MCP
macOS のシステムコンテキスト、正確な集中モードのサポート情報、アシスタントに関連する設定の読み取り、明示的な設定の書き込み、および範囲を限定した GUI フォールバック自動化に対応するローカル MCP サーバーです。
機能
- バッテリーの状態
- 最前面のアプリ
- 実行中のアプリケーション
- クリップボードの読み書き
- ローカル通知
- アプリケーションを開く
- 外観設定
- アクセシビリティ設定
- Dock の設定
- Finder の設定
- 正確な集中モードのサポート情報
- システムコンテキストの統合スナップショット
- 外観モードの書き込み
- Finder の表示設定とバーの書き込み
- 自動的に隠す設定と最近使ったアプリの Dock 書き込みコントロール
- 視差効果を減らす、コントラストを上げる、透明度を下げるアクセシビリティ設定の書き込み
- メニューのクリック、キー入力、テキスト入力、ボタンのクリック、ポップアップの選択に対応する GUI フォールバックツール
defaults exportによる環境設定ドメインの調査- リソース:
system://status、system://applications、system://settings、system://context - プロンプト:
system_capture_context - コンテキストに制約のあるクライアント向けのツール検索ヘルパー
search_toolsとget_tool_info
この Mac へのインストール
クローンから
git clone https://github.com/JonathanRReed/Apple-MCPs.git
cd Apple-MCPs
uv sync --all-packages
これにより、すべてのサーバーのエントリーポイントを .venv/bin に配置するワークスペース環境が1つ構築されます(例:.venv/bin/apple-system-mcp)。MCP クライアントから AppleSystem-MCP/start.sh を指定することもできます。このスクリプトは uv run を優先し、利用できない場合は通常の venv のセットアップにフォールバックします(Python 3.11 以降が必要です)。
AI エージェントへのインストール
{
"mcpServers": {
"apple-system": {
"command": "uvx",
"args": ["apple-system-mcp"],
"env": {
"APPLE_SYSTEM_MCP_SAFETY_MODE": "safe_manage"
}
}
}
}
クローンから実行する場合は、コマンドとして /path/to/Apple-MCPs/AppleSystem-MCP/start.sh を指定し、args は空にしてください。
Claude Code:
claude mcp add --transport stdio --scope user apple-system -- uvx apple-system-mcp
--scope user を指定すると、すべてのプロジェクトでサーバーを利用できます。代わりに .mcp.json を通じて1つのリポジトリで共有するには、--scope project を指定してください。
トランスポート
stdio がデフォルトの推奨トランスポートです。APPLE_SYSTEM_MCP_TRANSPORT=streamable-http を設定すると(APPLE_SYSTEM_MCP_HOST と APPLE_SYSTEM_MCP_PORT は任意)、代わりに Streamable HTTP で提供できます。
プロンプトに関する注意事項
tools/listは System のすべてのツールを返します。コンテキストに制約のあるクライアントは、まずsearch_toolsを使い、次に必要な System ツールについてget_tool_infoを使えます。- ユーザーの現在のデスクトップコンテキストが重要な場合は、このサーバーを使用してください。
- ユーザーの操作を妨げるアクションの前に、バッテリーの状態と最前面のアプリを確認してください。
- プロンプトや E2E チェックで
defaults readに直接フォールバックする前に、設定ツールを使用してください。 - アシスタント向けの運用には
APPLE_SYSTEM_MCP_SAFETY_MODE=safe_manageを使用してください。 safe_readonlyは監査のみ、またはコンテキストの取得のみを行うデプロイに限定してください。- GUI フォールバックの範囲は限定してください。まずネイティブアプリドメイン MCP を優先し、次に明示的な System ツールを使い、ネイティブのサポートがない場合にのみ GUI ツールを使用してください。GUI 入力には、対象アプリが
APPLE_SYSTEM_MCP_GUI_ALLOWED_APPSに含まれている必要があります(GUI 入力許可リストを参照)。 - 集中モードの報告はベストエフォートで、正確さを重視します。未署名のローカルインストールで macOS から明確に公開されていない場合に、通知センターの履歴をサポートすると主張することはありません。
ヘルスチェックと復旧
system_healthsystem_permission_guidesystem_get_settings_snapshotsystem_get_focus_statussystem_get_context_snapshotsystem_read_preference_domain
アシスタント品質の操作サーフェス
起動時の System 書き込みサーフェスは、汎用的なものではなく、明示的に定義されています。
system_set_appearance_modesystem_set_show_all_extensionssystem_set_show_hidden_filessystem_set_finder_path_barsystem_set_finder_status_barsystem_set_dock_autohidesystem_set_dock_show_recentssystem_set_reduce_motionsystem_set_increase_contrastsystem_set_reduce_transparency
制限付きの GUI フォールバックサーフェスは次のとおりです。
system_gui_list_menu_bar_itemssystem_gui_click_menu_pathsystem_gui_press_keyssystem_gui_type_textsystem_gui_click_buttonsystem_gui_choose_popup_value
GUI 入力許可リスト
GUI 入力ツール(system_gui_click_menu_path、system_gui_press_keys、system_gui_type_text、system_gui_click_button、system_gui_choose_popup_value)は、APPLE_SYSTEM_MCP_GUI_ALLOWED_APPS に指定したアプリにのみ入力を送信します。デフォルトでは空のため、設定するまで GUI 入力は無効です。system_gui_list_menu_bar_items は読み取りのみを行うため、許可リストは不要です。
- 形式:バンドル ID をカンマ区切りで指定します。例:
com.apple.TextEdit,com.apple.Safari。大文字と小文字、およびカンマ前後のスペースは区別されません。アプリのバンドル ID を確認するには、osascript -e 'id of app "TextEdit"'を実行します。 - 設定場所:MCP クライアントの設定にある、このサーバーの
envブロックです。例:"APPLE_SYSTEM_MCP_GUI_ALLOWED_APPS": "com.apple.TextEdit,com.apple.Safari"。Claude Desktop では、Settings > Extensions を開き、Apple System を設定して「Apps that accept GUI input」に入力します。その後、クライアントを再起動します。 - すべての GUI 入力呼び出しでは、
applicationまたはbundle_idを指定して対象を明示する必要があります。現在前面にあるアプリに入力が送信されることはありません。対象アプリが最初に前面に表示され、前面にできなかった場合、呼び出しはGUI_TARGET_NOT_FRONTMOSTで失敗します。 - ターミナル、スクリプトエディタ、自動化アプリは、許可リストに含まれていても、入力したテキストがコードとして実行される可能性があるため、常に
TERMINAL_TARGET_REFUSEDで拒否されます。これには Terminal、iTerm2、Ghostty、Warp、kitty、WezTerm などのターミナル、Script Editor、Automator、Shortcuts、Xcode、VS Code、Cursor、Windsurf、Zed、JetBrains IDEs、BBEdit、Raycast、Alfred が含まれます。 - リストにないアプリを呼び出すと
GUI_TARGET_NOT_ALLOWEDが返され、suggestionに追加すべき正確な値が示されます。
起動チェックリスト
uvx apple-system-mcp(またはクローンのAppleSystem-MCP/start.sh)を MCP クライアントに追加します- クライアントを再読み込みまたは再接続し、System ツールのサーフェスをコンテキストに読み込みます
- 最初に
system_healthを呼び出します - スコープが限定されたシステム操作がブロックされた場合は、
system_permission_guideを呼び出します system_statusを呼び出し、コンテキストのサーフェス全体が利用可能であることを確認します
環境設定ドメインの読み取りでは、ファイルシステムパスやコマンドオプションではなく、com.apple.finder や NSGlobalDomain などの名前付きドメインを指定します。-g および -globalDomain エイリアスは NSGlobalDomain を指定します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。