MCPブラウザオペレーター
ブラウザ自動化用のモデル制御プロトコル (MCP) サーバー。これにより、LLM は Web ブラウザを制御し、Web ページと対話し、標準化された JSON-RPC インターフェイスを通じて Web コンテンツを分析できるようになります。
特徴
- ブラウザ管理: ブラウザインスタンスの作成、ナビゲート、操作、および終了
- ジョブ管理: ジョブIDでブラウザ操作のステータスを追跡
- Webインタラクション: OpenAIのComputer Use APIを使用して自然言語の指示を実行する
- ブラウザツール: コンソールログ、ネットワークアクティビティ、スクリーンショットなどにアクセスします
- 監査: アクセシビリティ、パフォーマンス、SEO、その他のウェブページの監査を実行します
要件
- Python 3.11以上
- 劇作家
- OpenAI API キー(コンピュータ使用 API 用)
インストール
- このリポジトリをクローンします:
- 依存関係をインストールします:
- Playwright ブラウザをインストールします。
- OpenAI API キーを設定します。
使用法
MCP サーバーを起動します。
サーバーは、MCP プロトコルに従って、stdin で JSON-RPC 要求をリッスンし、stdout で応答します。
実行可能スクリプト
run-server
- MCP サーバー (メイン エントリ ポイント) を実行します。run-tests
- すべてのテストを実行します(ユニットまたは統合のみのオプション付き)run-test-harness
- インタラクティブなテストのためにMCP Inspectorを使用してサーバーを実行します
コアメソッド
ブラウザ管理
- ブラウザの作成: 新しいブラウザインスタンスを初期化する
- ブラウザをナビゲート: ブラウザを指定された URL に誘導します
- ブラウザの操作: ブラウザとの対話のための自然言語指示を実行する
- ブラウザを閉じる: ブラウザインスタンスを終了します
ジョブ管理
- ジョブステータスの取得: ジョブIDで操作のステータスと結果を取得します。
- ジョブ一覧: 最近のブラウザ操作ジョブを表示する
ユーザーノート
- メモを追加: ブラウザ操作に関するメモを作成して保存します
追加の方法
ブラウザデバッグツール
- コンソールログを取得する:
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
local-only server
The server can only run on the client's local machine because it depends on local resources.
AI アシスタントが永続的な状態管理を使用して Chrome を制御できるようにし、非同期のブラウザ操作を通じて複雑なブラウジング タスクを可能にする Web ブラウザ自動化サーバーです。
Related MCP Servers
- -securityFlicense-qualityEnables AI agents to control web browsers via a standardized interface for operations like launching, interacting with, and closing browsers.Last updated -0JavaScript
- -securityAlicense-qualityA browser monitoring and interaction tool that enables AI applications to capture and analyze browser data through a Chrome extension, supporting functions like console monitoring, screenshots, DOM analysis, and website auditing.Last updated -1JavaScriptMIT License
- -securityAlicense-qualityAI-driven browser automation server that implements the Model Context Protocol to enable natural language control of web browsers for tasks like navigation, form filling, and visual interaction.Last updated -1PythonMIT License
- -security-license-qualityA Model Context Protocol server that enables AI assistants to control Chrome browsers through the Chrome DevTools Protocol, allowing for navigation, clicking, typing, and extracting page information.Last updated -3TypeScript