local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Enables search and browsing of products on Amazon through browser automation, with an example project named 'amazon-shopping' for searching items like dinner plates.
Integrates with OpenAI's Computer Use API to interpret and execute natural language instructions for browser automation, supporting a wide range of actions like clicking, typing, and scrolling.
MCPブラウザオペレーター
ブラウザ自動化用のモデル制御プロトコル (MCP) サーバー。これにより、LLM は Web ブラウザを制御し、Web ページと対話し、標準化された JSON-RPC インターフェイスを通じて Web コンテンツを分析できるようになります。
特徴
- ブラウザ管理: ブラウザインスタンスの作成、ナビゲート、操作、および終了
- ジョブ管理: ジョブIDでブラウザ操作のステータスを追跡
- Webインタラクション: OpenAIのComputer Use APIを使用して自然言語の指示を実行する
- ブラウザツール: コンソールログ、ネットワークアクティビティ、スクリーンショットなどにアクセスします
- 監査: アクセシビリティ、パフォーマンス、SEO、その他のウェブページの監査を実行します
要件
- Python 3.11以上
- 劇作家
- OpenAI API キー(コンピュータ使用 API 用)
インストール
- このリポジトリをクローンします:Copy
- 依存関係をインストールします:Copy
- Playwright ブラウザをインストールします。Copy
- OpenAI API キーを設定します。Copy
使用法
MCP サーバーを起動します。
サーバーは、MCP プロトコルに従って、stdin で JSON-RPC 要求をリッスンし、stdout で応答します。
実行可能スクリプト
run-server
- MCP サーバー (メイン エントリ ポイント) を実行します。Copyrun-tests
- すべてのテストを実行します(ユニットまたは統合のみのオプション付き)Copyrun-test-harness
- インタラクティブなテストのためにMCP Inspectorを使用してサーバーを実行しますCopy
コアメソッド
ブラウザ管理
- ブラウザの作成: 新しいブラウザインスタンスを初期化するCopy
- ブラウザをナビゲート: ブラウザを指定された URL に誘導しますCopy
- ブラウザの操作: ブラウザとの対話のための自然言語指示を実行するCopy
- ブラウザを閉じる: ブラウザインスタンスを終了しますCopy
ジョブ管理
- ジョブステータスの取得: ジョブIDで操作のステータスと結果を取得します。Copy
- ジョブ一覧: 最近のブラウザ操作ジョブを表示するCopy
ユーザーノート
- メモを追加: ブラウザ操作に関するメモを作成して保存しますCopy
追加の方法
ブラウザデバッグツール
- コンソールログを取得する:
mcp__browser-tools__getConsoleLogs
- コンソールエラーを取得する:
mcp__browser-tools__getConsoleErrors
- ネットワークログを取得する:
mcp__browser-tools__getNetworkLogs
- ネットワークエラーを取得する:
mcp__browser-tools__getNetworkErrors
- スクリーンショットを撮る:
mcp__browser-tools__takeScreenshot
- 選択した要素を取得する:
mcp__browser-tools__getSelectedElement
- ログの消去:
mcp__browser-tools__wipeLogs
監査ツール
- アクセシビリティ監査を実行:
mcp__browser-tools__runAccessibilityAudit
- パフォーマンス監査を実行:
mcp__browser-tools__runPerformanceAudit
- SEO 監査を実行:
mcp__browser-tools__runSEOAudit
- NextJS 監査を実行:
mcp__browser-tools__runNextJSAudit
- ベストプラクティス監査を実行する:
mcp__browser-tools__runBestPracticesAudit
- デバッガーモードを実行:
mcp__browser-tools__runDebuggerMode
- 監査モードの実行:
mcp__browser-tools__runAuditMode
非同期ワークフローパターン
ブラウザ操作は非同期であり、ジョブベースのアプローチを使用します。
- 開始操作: job_idを返すブラウザメソッドを呼び出す
- 完了のポーリング: ジョブが完了するまで get-job-status を使用します
- プロセス結果: ジョブが完了すると、ジョブステータスから結果にアクセスします。
このアプローチにより、クライアントのタイムアウトを防ぎながら、複雑なブラウザ操作を完了することができます。
永続的なブラウザ状態
MCP オペレーターは、プロジェクト名でブラウザーが作成されるときに永続的な状態を維持します。
- ブラウザの状態(Cookie、ローカルストレージ、セッションストレージ)はセッション間で保存されます
- 複数のプロジェクトが独立したブラウザ状態を維持できる
- ログインセッション、ショッピングカート、その他のパーソナライズされた状態を維持するのに役立ちます
プロジェクト構造
src/mcp_operator/
: メインパッケージ__init__.py
: パッケージの初期化__main__.py
: パッケージのエントリポイントserver.py
: MCP サーバーの実装browser.py
: ブラウザ演算子の実装cua/
: コンピュータ使用APIコンポーネントagent.py
: エージェントの実装computer.py
: コンピュータインターフェースutils.py
: ユーティリティ関数
run-server
: MCP サーバーを実行するスクリプトrun-tests
: ユニットテストと統合テストを実行するスクリプトrun-test-harness
: MCP Inspectorで実行するスクリプト
発達
MCPインスペクターの使用
デバッグには、 MCP Inspectorを使用します。
これにより、MCP サーバーをテストするための Web インターフェイスが提供されます。
安全
- 潜在的に有害なサイトのドメインブロック
- ナビゲーション前のURL検証
- 異なるブラウザインスタンス間のセッション分離
- ファイルベースのログ記録(MCP プロトコルを維持するために stdout はありません)
This server cannot be installed
AI アシスタントが永続的な状態管理を使用して Chrome を制御できるようにし、非同期のブラウザ操作を通じて複雑なブラウジング タスクを可能にする Web ブラウザ自動化サーバーです。