mcpField
A
Apple System

Apple System

ローカル
github.com生産性322 日前に更新

Apple System について

Apple System は、macOS のシステム状況や、範囲を限定した設定・デスクトップ操作を必要とするクライアント向けのローカル MCP サーバーです。明示的な設定操作と、許可リスト方式の GUI 操作を備えています。

主な機能

  1. 01バッテリーとアプリの状況
  2. 02クリップボードと通知
  3. 03macOS 設定の読み書き
  4. 04許可リスト付きの限定的な GUI 操作
  5. 05システムリソースとプロンプト
  6. 06ツール検索ヘルパー

活用シーン

  1. 01操作前のデスクトップ状況の確認
  2. 02Finder、Dock、アクセシビリティ設定の変更
  3. 03クリップボードの読み書き
  4. 04ネイティブツールがない場合の許可済みアプリ操作

MCP 対応

MCP リソース、プロンプト、ツールとして、macOS の状態、アプリ、設定、コンテキストを提供します。stdio と Streamable HTTP に対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
pypiapple-system-mcp1.1.4
mcpbapple-system-1.1.4.mcpb1.1.4

ツール

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 へのインストール

クイックスタート(PyPI から uvx を使用)

uv がインストールされている場合:

uvx apple-system-mcp

リポジトリのクローンも、仮想環境の管理も不要です。

クローンから
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_health
  • system_permission_guide
  • system_get_settings_snapshot
  • system_get_focus_status
  • system_get_context_snapshot
  • system_read_preference_domain

アシスタント品質の操作サーフェス

起動時の System 書き込みサーフェスは、汎用的なものではなく、明示的に定義されています。

  • system_set_appearance_mode
  • system_set_show_all_extensions
  • system_set_show_hidden_files
  • system_set_finder_path_bar
  • system_set_finder_status_bar
  • system_set_dock_autohide
  • system_set_dock_show_recents
  • system_set_reduce_motion
  • system_set_increase_contrast
  • system_set_reduce_transparency

制限付きの GUI フォールバックサーフェスは次のとおりです。

  • system_gui_list_menu_bar_items
  • system_gui_click_menu_path
  • system_gui_press_keys
  • system_gui_type_text
  • system_gui_click_button
  • system_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 を指定します。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。