UStackUStack
open-codex-computer-use icon

open-codex-computer-use

open-codex-computer-use は、MCPサーバーで「Computer Use」機能を提供するオープンソース。macOS/Linux/WindowsでGUI操作を実行可能。

open-codex-computer-use

open-codex-computer-useとは?

Open Computer Use (open-codex-computer-use) は、MCP (Model Context Protocol) サーバーとしてラップされたオープンソースの「Computer Use」サービスです。AIエージェントやMCPクライアントがmacOS、Linux、Windows上でGUIコンピュータアクションを実行できるようにします。

このプロジェクトはOpenAIのCodex Computer Useに着想を得ています。システムのアクセシビリティAPIを基盤に、非侵入型の「CUA」(コンピュータ使用自動化)動作を実装し、それをMCP経由で公開することで、さまざまなエージェントクライアントが制御できるようにしています。

主な機能

  • コンピュータアクションのためのMCPサーバーラッパー: MCPクライアントがGUIアクションをリクエストできるMCPエンドポイントを提供。
  • クロスプラットフォームコンピュータ使用 (macOS, Linux, Windows): デスクトップOS間でコンピュータ自動化を実行するよう設計。
  • アクセシビリティベースの自動化: 非侵入型CUA動作のための基盤メカニズムとしてアクセシビリティを使用。
  • CLIスタイルの「ツール呼び出し」インターフェース: アプリ一覧取得、アプリ状態クエリ(例: アプリ名指定)、キー押下などのアクションを実行するコマンドをサポート。
  • オンボーディングと権限チェック: 必要なアクセス権がない場合にオンボーディング動作を表示し、権限をチェックするdoctorコマンドを含む。

open-codex-computer-useの使い方

  1. マシンにインストールし、エージェント/クライアントで利用可能に

    • Codexにインストールするには~/.codex/config.tomlに記述して実行:
      open-computer-use install-codex-mcp
      
    • またはMCP JSON設定で手動追加:
      {
        "mcpServers": {
          "open-computer-use": {
            "command": "open-computer-use",
            "args": ["mcp"]
          }
        }
      }
      
  2. 必要な権限を付与

    • macOSでは一度実行し、AccessibilityScreen Recordingを付与。
    • WindowsとLinuxでは追加ステップ不要。
  3. MCPツール呼び出しで使用

    • 例: アプリ一覧
      open-computer-use call list_apps
      
    • 例: TextEditのアプリ状態取得
      open-computer-use call get_app_state --args '{"app":"TextEdit"}'
      
    • 例: 1プロセスで複数ステップ実行(element_index状態再利用、成功操作間にスリープ):
      open-computer-use call --calls '[{"tool":"get_app_state","args":{"app":"TextEdit"}},{"tool":"press_key","args":{"app":"TextEdit","key":"Return"}}]'
      

ユースケース

  • AIエージェント(MCPクライアントワークフロー)からローカルデスクトップアプリを制御: エージェントがMCPツール呼び出しでアプリ状態を検査し、macOS/Linux/Windows上でGUIアクションをトリガー。
  • クライアント間で「Codexスタイル」のコンピュータ使用動作を再現: リポジトリによると、「open-computer-use」はCodex AppおよびCodex CLIでComputer Useとして使用され、公式体験と一致。
  • 権限の検証とトラブルシューティング: open-computer-use doctorで必要なアクセス権の欠如をチェックし、オンボーディングプロンプトを理解。
  • 短いGUIインタラクションシーケンスのバッチ処理: 1プロセスで複数ステップアクションを実行し、中間状態(例: element_index)をステップ間で再利用。
  • プラットフォーム固有テスト: リポジトリにLinuxでのComputer UseデモやGemini CLIとのMCP統合が含まれる。

FAQ

  • ここでの「MCPとしてラップ」とは? プロジェクトがコンピュータ使用機能をMCPサーバーインターフェースで公開し、MCPクライアントがツール呼び出しでGUIアクションを実行可能。

  • 権限付与は必要? macOSでは一度実行してAccessibilityScreen Recordingを付与必要。WindowsとLinuxでは不要。

  • エージェントに接続する方法は? 提供インストールコマンドで特定クライアント(例: Codex)にインストール、またはmcpServers下のMCP JSON設定で手動構成。

  • 単一ツール呼び出しやシーケンス実行は可能? はい。list_appsget_app_stateなどの単一ツール例と、open-computer-use call --callsまたは--calls-fileによる複数ステップシーケンスが記載。

  • セットアップヘルスチェックの組み込み機能は? はい。リポジトリに権限チェック用のopen-computer-use doctorを含む。

代替案

  • open-browser-use (ブラウザ特化代替): デスクトップGUI自動化ではなくブラウザ使用に興味がある場合、リポジトリが「open-browser-use」を推奨。
  • コンピュータ/ブラウザ自動化のための他のMCPサーバー統合: MCPを標準化済みなら、サポートOSと自動化バックエンドで位置づけられた代替MCPサーバーを探す。
  • インプロセス自動化ライブラリ (非MCP): MCPの代わりに単一アプリ/エージェントランタイム内で直接デスクトップ自動化API/ライブラリを使用。MCPネットワーク境界ではなく緊密統合が必要。