0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[feature] `mcp-browser-use` における既設 Microsoft Edge の利用とプロファイル分離対応(Windows/Cline/Gemini)

0
Last updated at Posted at 2026-07-28

mcp-browser-useのissue#43としても投稿してあります。

1. 概要

mcp-browser-use で起動されるデフォルトのブラウザを Playwright 標準ダウンロードの Chromium から、Windows 環境に既設の Microsoft Edge (msedge.exe) へ変更する方法です。
また、既存の Edge プロセスとの Singleton 干渉(プロファイル競合・CDP デバッグポート接続エラー)を防止するため、一時プロファイルおよび規定拡張機能オフのパラメータ指定を連携する修正を行いました。

2. 修正対象ファイル一覧

  1. %Cline_MCP_DIR%/src/mcp_server_browser_use/config.py
  2. %Cline_MCP_DIR%/src/mcp_server_browser_use/server.py

%Cline_MCP_DIR%は次の位置です。

set "Cline_MCP_DIR=%USERPROFILE%\Cline\MCP" & if exist "%OneDriveCommercial%\Cline\MCP" set "Cline_MCP_DIR=%OneDriveCommercial%\Cline\MCP"

3. 変更詳細

(1) config.py

BrowserSettings クラスに以下の設定フィールドを追加しました。

  • executable_path: デフォルト値 C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe (環境変数 MCP_BROWSER_EXECUTABLE_PATH で上書き可能)
  • enable_default_extensions: デフォルト値 False (起動時の拡張機能自動読み込みによる遅延を防ぐ設定)

Diff (main -> feature)

--- main/config.py
+++ feature/config.py
@@ -194,2 +194,7 @@
     user_data_dir: str | None = Field(default=None, description="Path to Chrome user data directory for persistent profile")
     chromium_sandbox: bool = Field(default=True)
+    executable_path: str | None = Field(
+        default=r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe",
+        description="Path to browser executable binary",
+    )
+    enable_default_extensions: bool = Field(default=False, description="Enable default extensions (e.g. uBlock Origin)")

(2) server.py

_get_llm_and_profile() 関数内において、BrowserProfile のインスタンス生成時に executable_path および enable_default_extensions を渡すよう修正しました。

Diff (main -> feature)

--- main/server.py
+++ feature/server.py
@@ -101,2 +101,4 @@
         profile = BrowserProfile(
             headless=settings.browser.headless,
+            enable_default_extensions=settings.browser.enable_default_extensions,
+            executable_path=settings.browser.executable_path,
             proxy=proxy,

4. MCP JSON 設定ファイルおよび環境変数による設定上書きについて

本修正により、server.py から BrowserProfile へ設定値(executable_path, enable_default_extensions)が適切に伝播されるようになったため、今後は MCP サーバーの設定ファイル(cline_mcp_settings.json など)や環境変数を介して、ソースコードを変更することなく外部から設定を柔軟に制御・変更可能です。

設定例(cline_mcp_settings.json

現在の Cline の MCP 設定(github.com/Saik0s/mcp-browser-use 形式、fastmcp run mcp_entrypoint.py --no-banner 呼び出し構造)に合わせた設定例は以下の通りです。
※ API キーなどのサーバー固有・機密情報はマスクしています。

{
  "mcpServers": {
    "github.com/Saik0s/mcp-browser-use": {
      "disabled": false,
      "autoApprove": [],
      "timeout": 300,
      "type": "stdio",
      "command": "uv",
      "args": [
        "run",
        "--no-sync",
        "--directory",
        "%Cline_MCP_DIR%\\mcp-browser-use",
        "fastmcp",
        "run",
        "mcp_entrypoint.py",
        "--no-banner"
      ],
      "env": {
        "GEMINI_API_KEY": "<MASKED_API_KEY>",
+       "MCP_BROWSER_EXECUTABLE_PATH": "C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe",
+       "MCP_BROWSER_HEADLESS": "false",
+       "MCP_BROWSER_ENABLE_DEFAULT_EXTENSIONS": "false"
      }
    }
  }
}

重要ポイント:

cline_mcp_settings.jsongithub.com/Saik0s/mcp-browser-useenv項目に次の設定を追記する。

"MCP_BROWSER_EXECUTABLE_PATH": "C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe",
"MCP_BROWSER_HEADLESS": "false",
"MCP_BROWSER_ENABLE_DEFAULT_EXTENSIONS": "false"

補足: トランスポート方式(stdio / HTTP)について

  • 現在の起動構成: 現在の Cline 環境では fastmcp run mcp_entrypoint.py 経由で FastMCP の stdio モード(timeout: 300 設定付き)で運用されており、長時間のブラウザ操作タスクも安定して実行可能です。そのため、今回の修正においてトランスポート方式を変更する必要はありません。
  • HTTP トランスポートへの移行が必要な場合: Upstream の mcp-browser-use では、長時間タスクのタイムアウト回避のため streamable-httpsse などの HTTP トランスポートもサポートされています。将来的に HTTP 接続へ移行する場合は、環境変数 MCP_SERVER_TRANSPORT=streamable-http (または sse) および MCP_SERVER_PORT を指定することで容易に切り替えが可能です。

5. 動作テスト結果

(1) バックグラウンド表示("MCP_BROWSER_HEADLESS": "true" / デフォルト設定)

  • 動作説明: ブラウザの UI ウィンドウを画面上に表示せず、画面裏(バックグラウンド)のプロセスとして既設 Microsoft Edge を起動・自動操作します。
  • テスト内容: run_browser_agent ツール経由で https://example.com にアクセスし、ページタイトルを取得。
  • 検証結果: 画面描画のオーバーヘッドなくバックグラウンドで高速に動作し、正常にページタイトル「Example Domain」を取得完了しました。

(2) フォアグラウンド表示("MCP_BROWSER_HEADLESS": "false"

  • 動作説明: 実際に画面上に Microsoft Edge のブラウザウィンドウが立ち上がり、ページの遷移や自動操作の様子を目視で確認できる状態(画面表示モード)で起動します。
  • テスト内容: 設定変更(headless=False)の上で Edge セッションを起動し、https://example.com にアクセス。
  • 検証結果: Windows 上に既設の Microsoft Edge ウィンドウがフォアグラウンドで正常に表示され、ページへのアクセスおよび操作が期待通り行われることを実機で目視確認しました。

関連

初回インストール方法はこちらにまとめてあります


以上です。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?