MCPブラウザオペレーター
ブラウザ自動化用のモデル制御プロトコル (MCP) サーバー。これにより、LLM は Web ブラウザを制御し、Web ページと対話し、標準化された JSON-RPC インターフェイスを通じて Web コンテンツを分析できるようになります。
特徴
ブラウザ管理: ブラウザインスタンスの作成、ナビゲート、操作、および終了
ジョブ管理: ジョブIDでブラウザ操作のステータスを追跡
Webインタラクション: OpenAIのComputer Use APIを使用して自然言語の指示を実行する
ブラウザツール: コンソールログ、ネットワークアクティビティ、スクリーンショットなどにアクセスします
監査: アクセシビリティ、パフォーマンス、SEO、その他のウェブページの監査を実行します
要件
Python 3.11以上
劇作家
OpenAI API キー(コンピュータ使用 API 用)
インストール
このリポジトリをクローンします:
git clone https://github.com/yourusername/operator-mcp.git cd operator-mcp依存関係をインストールします:
pip install -e .Playwright ブラウザをインストールします。
playwright install chromiumOpenAI API キーを設定します。
export OPENAI_API_KEY=your-api-key
使用法
MCP サーバーを起動します。
サーバーは、MCP プロトコルに従って、stdin で JSON-RPC 要求をリッスンし、stdout で応答します。
実行可能スクリプト
run-server- MCP サーバー (メイン エントリ ポイント) を実行します。# Run the MCP server ./run-server # Run with specific log directory ./run-server --log-dir /path/to/logs # Run in debug mode ./run-server --debugrun-tests- すべてのテストを実行します(ユニットまたは統合のみのオプション付き)# Run all tests ./run-tests # Run only unit tests (faster) ./run-tests --unit-only # Run only integration tests ./run-tests --integration-only # Run with verbose output ./run-tests --verbose # Run a specific test ./run-tests --test TestBrowserOperatorMethodsrun-test-harness- インタラクティブなテストのためにMCP Inspectorを使用してサーバーを実行します# Run with the MCP Inspector for interactive testing ./run-test-harness
コアメソッド
ブラウザ管理
ブラウザの作成: 新しいブラウザインスタンスを初期化する
{ "jsonrpc": "2.0", "id": 1, "method": "mcp__browser-operator__create-browser", "params": { "project_name": "my-project" } }ブラウザをナビゲート: ブラウザを指定された URL に誘導します
{ "jsonrpc": "2.0", "id": 2, "method": "mcp__browser-operator__navigate-browser", "params": { "project_name": "my-project", "url": "https://example.com" } }ブラウザの操作: ブラウザとの対話のための自然言語指示を実行する
{ "jsonrpc": "2.0", "id": 3, "method": "mcp__browser-operator__operate-browser", "params": { "project_name": "my-project", "instruction": "Find the heading on this page and tell me what it says." } }ブラウザを閉じる: ブラウザインスタンスを終了します
{ "jsonrpc": "2.0", "id": 4, "method": "mcp__browser-operator__close-browser", "params": { "project_name": "my-project" } }
ジョブ管理
ジョブステータスの取得: ジョブIDで操作のステータスと結果を取得します。
{ "jsonrpc": "2.0", "id": 5, "method": "mcp__browser-operator__get-job-status", "params": { "job_id": "job-12345" } }ジョブ一覧: 最近のブラウザ操作ジョブを表示する
{ "jsonrpc": "2.0", "id": 6, "method": "mcp__browser-operator__list-jobs", "params": { "limit": 10 } }
ユーザーノート
メモを追加: ブラウザ操作に関するメモを作成して保存します
{ "jsonrpc": "2.0", "id": 7, "method": "mcp__browser-operator__add-note", "params": { "name": "My Note", "content": "Important information about this browser session" } }
追加の方法
ブラウザデバッグツール
コンソールログを取得する:
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__runPerformanceAuditSEO 監査を実行:
mcp__browser-tools__runSEOAuditNextJS 監査を実行:
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
- Asecurity-licenseAqualityAI-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 -12MIT 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 -42
 - -security-license-qualityA server that enables AI assistants to control a browser through tools, allowing them to perform web automation tasks like navigation, typing, clicking, and taking screenshots.Last updated -
 - -security-license-qualityA Chrome extension-based Model Context Protocol server that enables AI assistants to control your browser, leveraging your existing configurations and login states for complex automation, content analysis, and semantic search.Last updated -9,084MIT License