Browser-Use MCP Server

by Saik0s
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Integration with Google's Gemini language models via their API for AI-driven browser automation

  • Integration with Ollama for local language model inference to power browser automation

  • Integration with OpenAI's language models via their API for AI-driven browser automation

ブラウザ用MCPサーバー

プロジェクトノート:このMCPサーバー実装は、ブラウザ使用/Web UIの基盤上に構築されています。コアブラウザ自動化ロジックと設定パターンは、元のプロジェクトから改変されています。

自然言語によるブラウザ制御と Web リサーチのためのモデル コンテキスト プロトコル (MCP) を実装した AI 駆動型ブラウザ自動化サーバー。

特徴

  • 🧠 MCP 統合- AI エージェント通信用の完全なプロトコル実装。
  • 🌐ブラウザ自動化- ページナビゲーション、フォーム入力、自然言語による要素の対話 ( run_browser_agentツール)。
  • 👁️視覚的理解- ビジョン対応 LLM のオプションのスクリーンショット分析。
  • 🔄状態の永続性- 複数の MCP 呼び出しにわたってブラウザー セッションを管理したり、ユーザーのブラウザーに接続したりするオプション。
  • 🔌マルチ LLM サポート- OpenAI、Anthropic、Azure、DeepSeek、Google、Mistral、Ollama、OpenRouter、Alibaba、Moonshot、Unbound AI と統合します。
  • 🔍ディープ リサーチ ツール- マルチステップの Web リサーチとレポート生成専用のツール ( run_deep_searchツール)。
  • ⚙️環境変数の設定- 環境変数を介して完全に設定可能です。
  • 🔗 CDP 接続- Chrome DevTools プロトコルを介してユーザーが起動した Chrome/Chromium インスタンスに接続して制御する機能。

クイックスタート

前提条件

  • Python 3.11以上
  • uv (高速 Python パッケージインストーラー): pip install uv
  • Chrome/Chromiumブラウザがインストールされている
  • Playwrightブラウザをインストールします: uv sync実行してからuv run playwright install

MCP クライアントとの統合 (例: Claude Desktop)

Claude Desktopなどのクライアントをこのサーバーに接続するように設定できます。クライアントの設定(例: claude_desktop_config.json )に以下の構造を追加し、必要に応じてパスと環境変数を調整してください。

// Example for Claude Desktop config "mcpServers": { "browser-use": { // Option 1: Run installed package // "command": "uvx", // "args": ["mcp-server-browser-use"], // Option 2: Run from local development source "command": "uv", "args": [ "--directory", "/path/to/mcp-server-browser-use", "run", "mcp-server-browser-use" ], "env": { // --- CRITICAL: Add required API keys here --- "OPENROUTER_API_KEY": "YOUR_OPENROUTER_API_KEY", // "OPENAI_API_KEY": "YOUR_KEY_HERE_IF_USING_OPENAI", // "ANTHROPIC_API_KEY": "YOUR_KEY_HERE_IF_USING_ANTHROPIC", // ... add other keys based on MCP_MODEL_PROVIDER ... // --- Optional Overrides (defaults are usually fine) --- "MCP_MODEL_PROVIDER": "openrouter", // Use OpenRouter as provider "MCP_MODEL_NAME": "google/gemini-2.5-pro-exp-03-25:free", // Example OpenRouter model "BROWSER_HEADLESS": "true", // Default: run browser without UI "BROWSER_USE_LOGGING_LEVEL": "INFO", // --- Example for connecting to your own browser --- // "MCP_USE_OWN_BROWSER": "true", // "CHROME_CDP": "http://localhost:9222", // Ensure Python uses UTF-8 "PYTHONIOENCODING": "utf-8", "PYTHONUNBUFFERED": "1", "PYTHONUTF8": "1" } } }

重要: commandargs 、サーバーの実行方法(インストールされたパッケージまたはソースディレクトリ)を正しく指定していることを確認してください。env envで必要なAPIキーを設定してください。

MCPツール

このサーバーは、モデル コンテキスト プロトコルを介して次のツールを公開します。

同期ツール(完了を待つ)

  1. run_browser_agent
    • **説明:**自然言語指示に基づいてブラウザ自動化タスクを実行し、完了するまで待機します。MCP_ MCP_HEADLESS``MCP_``MCP_MAX_STEPS )。
    • 引数:
      • task (文字列、必須): 主なタスクまたは目的。
      • add_infos (文字列、オプション): エージェントの追加コンテキストまたはヒント ( customエージェント タイプで使用)。
    • 戻り値: (文字列) エージェントによって抽出された最終結果またはエラー メッセージ。
  2. run_deep_search
    • **説明:**特定のトピックについて詳細なウェブ調査を行い、レポートを生成して完了を待ちます。MCP_RESEARCH_ MCP_RESEARCH_始まる設定と、 BROWSER_一般的な設定(例: BROWSER_HEADLESS )を使用します。
    • 引数:
      • research_task (文字列、必須): 研究のトピックまたは質問。
      • max_search_iterations (整数、オプション、デフォルト: 10): 最大検索サイクル。
      • max_query_per_iteration (整数、オプション、デフォルト: 3): サイクルあたりの最大検索クエリ数。
    • 戻り値: (文字列) ファイル パスまたはエラー メッセージを含む、Markdown 形式で生成された調査レポート。

設定(環境変数)

環境変数を使用してサーバーを設定します。これらの環境変数はシステム内で設定することも、プロジェクトルートにある.envファイルに配置することもできます。

変数説明必須?デフォルト値サンプル値
LLM設定
MCP_MODEL_PROVIDER使用するLLMプロバイダー。以下のオプションを参照してください。はいanthropicopenrouter
MCP_MODEL_NAME選択したプロバイダーの特定のモデル名。いいえclaude-3-7-sonnet-20250219anthropic/claude-3.7-sonnet
MCP_TEMPERATURELLM温度(0.0~2.0)。ランダム性を制御します。いいえ0.00.7
MCP_TOOL_CALLING_METHODツール呼び出しメソッド('auto'、'json_schema'、'function_calling')。 run_browser_agentに影響します。いいえautojson_schema
MCP_MAX_INPUT_TOKENSrun_browser_agentの LLM コンテキストの最大入力トークン。いいえ12800064000
MCP_BASE_URLオプション: LLM プロバイダーのベース URL の一般的なオーバーライド。いいえプロバイダー固有http://localhost:8080/v1
MCP_API_KEYオプション: LLM プロバイダーの API キーの一般的なオーバーライド (プロバイダー固有のキーよりも優先されます)。いいえ-sk-...
プロバイダーAPIキーMCP_API_KEYが設定されていない場合は、 MCP_MODEL_PROVIDERに基づいて必須です。
OPENAI_API_KEYOpenAI の API キー。使用する場合-sk-...
ANTHROPIC_API_KEYAnthropic の API キー。使用する場合-sk-ant-...
GOOGLE_API_KEYGoogle AI (Gemini) の API キー。使用する場合-AIza...
AZURE_OPENAI_API_KEYAzure OpenAI の API キー。使用する場合-...
DEEPSEEK_API_KEYDeepSeek の API キー。使用する場合-sk-...
MISTRAL_API_KEYMistral AI の API キー。使用する場合-...
OPENROUTER_API_KEYOpenRouter の API キー。使用する場合-sk-or-...
ALIBABA_API_KEYAlibaba Cloud (DashScope) の API キー。使用する場合-sk-...
MOONSHOT_API_KEYMoonshot AI の API キー。使用する場合-sk-...
UNBOUND_API_KEYUnbound AI の API キー。使用する場合-...
プロバイダーエンドポイントオプション: デフォルトの API エンドポイントをオーバーライドします。
OPENAI_ENDPOINTOpenAI API エンドポイント URL。いいえhttps://api.openai.com/v1
ANTHROPIC_ENDPOINTAnthropic API エンドポイント URL。いいえhttps://api.anthropic.com
AZURE_OPENAI_ENDPOINTAzure を使用する場合は必須です。Azureリソースのエンドポイント。使用する場合-https://res.openai.azure.com/
AZURE_OPENAI_API_VERSIONAzure API バージョン。いいえ2025-01-01-preview2023-12-01-preview
DEEPSEEK_ENDPOINTDeepSeek API エンドポイント URL。いいえhttps://api.deepseek.com
MISTRAL_ENDPOINTMistral API エンドポイント URL。いいえhttps://api.mistral.ai/v1
OLLAMA_ENDPOINTOllama API エンドポイント URL。いいえhttp://localhost:11434http://ollama.local:11434
OPENROUTER_ENDPOINTOpenRouter API エンドポイント URL。いいえhttps://openrouter.ai/api/v1
ALIBABA_ENDPOINTAlibaba (DashScope) API エンドポイント URL。いいえhttps://dashscope...v1
MOONSHOT_ENDPOINTMoonshot API エンドポイント URL。いいえhttps://api.moonshot.cn/v1
UNBOUND_ENDPOINTバインドされていない AI API エンドポイント URL。いいえhttps://api.getunbound.ai
オラマ特有の
OLLAMA_NUM_CTXOllama モデルのコンテキスト ウィンドウのサイズ。いいえ320008192
OLLAMA_NUM_PREDICTOllama モデルを予測するための最大トークン。いいえ10242048
エージェント設定 ( run_browser_agent )
MCP_AGENT_TYPErun_browser_agentのエージェント実装 ('org' または 'custom')。いいえorgcustom
MCP_MAX_STEPSエージェント実行あたりの最大ステップ数。いいえ10050
MCP_USE_VISIONビジョン機能(スクリーンショット分析)を有効にします。いいえtruefalse
MCP_MAX_ACTIONS_PER_STEPエージェント ステップあたりの最大アクション数。いいえ510
MCP_KEEP_BROWSER_OPENrun_browser_agent呼び出し間で、サーバーによって管理されるブラウザを開いたままにします ( MCP_USE_OWN_BROWSER=falseの場合)。いいえfalsetrue
MCP_ENABLE_RECORDINGrun_browser_agentの Playwright ビデオ録画を有効にします。いいえfalsetrue
MCP_SAVE_RECORDING_PATHエージェント実行ビデオ録画を保存するパス ( MCP_ENABLE_RECORDING=trueの場合は必須)。録音する場合-./tmp/recordings
MCP_AGENT_HISTORY_PATHエージェント履歴 JSON ファイルを保存するディレクトリ。いいえ./tmp/agent_history./agent_runs
MCP_HEADLESSrun_browser_agentツール専用に UI なしでブラウザを実行します。いいえtruefalse
MCP_DISABLE_SECURITYrun_browser_agentツール専用のブラウザ セキュリティ機能を無効にします (慎重に使用してください)。いいえtruefalse
ディープリサーチ設定 ( run_deep_search )
MCP_RESEARCH_MAX_ITERATIONS深い調査のための最大検索反復。いいえ105
MCP_RESEARCH_MAX_QUERY反復ごとの最大検索クエリ数。いいえ35
MCP_RESEARCH_USE_OWN_BROWSERリサーチには別のブラウザ インスタンスを使用します ( MCP_USE_OWN_BROWSER=trueの場合はCHROME_CDPが必要です)。いいえfalsetrue
MCP_RESEARCH_SAVE_DIR研究成果物 (レポート、結果) を保存するためのディレクトリ。いいえ./tmp/deep_research/{task_id}./research_output
MCP_RESEARCH_AGENT_MAX_STEPSディープリサーチ内のサブエージェントの最大ステップ数。いいえ1015
ブラウザ設定(一般および特定のツールのオーバーライド)
MCP_USE_OWN_BROWSER新しいブラウザを起動するのではなく、 CHROME_CDP経由でユーザーのブラウザに接続するには、true に設定します。いいえfalsetrue
CHROME_CDPDevTools プロトコル URL 経由で既存の Chrome に接続します。MCP_USE_OWN_BROWSER MCP_USE_OWN_BROWSER=trueの場合に必須です。MCP_USE_OWN_BROWSER=true場合-http://localhost:9222
BROWSER_HEADLESSUIを表示せずにブラウザを実行します。主にrun_deep_search影響します。MCP_HEADLESS MCP_HEADLESS参照してください。いいえtruefalse
BROWSER_DISABLE_SECURITYブラウザの一般的なセキュリティ設定。MCP_DISABLE_SECURITY MCP_DISABLE_SECURITY参照してください。いいえfalsetrue
CHROME_PATHChrome/Chromium 実行可能ファイルへのパス。いいえ-/usr/bin/chromium-browser
CHROME_USER_DATAChrome ユーザー データ ディレクトリへのパス (永続セッション用、 CHROME_CDPで便利)。いいえ-~/.config/google-chrome/Profile 1
BROWSER_TRACE_PATHPlaywright トレース ファイルを保存するディレクトリ (デバッグに役立ちます)。いいえ./tmp/trace./traces
BROWSER_WINDOW_WIDTHブラウザウィンドウの幅(ピクセル)。いいえ12801920
BROWSER_WINDOW_HEIGHTブラウザウィンドウの高さ(ピクセル)。いいえ7201080
サーバーとログ
LOG_FILEサーバー ログ ファイルのパス。いいえmcp_server_browser_use.log/var/log/mcp_browser.log
BROWSER_USE_LOGGING_LEVELログレベル ( DEBUGINFOWARNINGERRORCRITICAL )。いいえINFODEBUG
ANONYMIZED_TELEMETRY匿名化されたテレメトリを有効/無効にします ( true / false )。いいえtruefalse

サポートされている LLM プロバイダー ( MCP_MODEL_PROVIDER ):

openaiazure_openaianthropicgooglemistralollamadeepseekopenrouteralibabamoonshotunbound

独自のブラウザへの接続(CDP)

サーバーが独自のブラウザインスタンスを起動・管理する代わりに、ユーザーが自分で起動・管理するChrome/Chromiumブラウザに接続できます。これは以下の場合に便利です。

  • 既存のブラウザ プロファイル (Cookie、ログイン、拡張機能) を使用します。
  • 自分のブラウザ ウィンドウで自動化を直接観察します。
  • 複雑なシナリオのデバッグ。

手順:

  1. **リモートデバッグを有効にしてChrome/Chromiumを起動します。**ターミナルまたはコマンドプロンプトを開き、お使いのOSに適したコマンドを実行します。これにより、Chromeは特定のポート(例:9222)で接続をリッスンするようになります。
    • macOS:
      /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222
      (Chrome が他の場所にインストールされている場合はパスを調整してください)
    • リナックス:
      google-chrome --remote-debugging-port=9222 # or chromium-browser --remote-debugging-port=9222
    • Windows (コマンドプロンプト):
      "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222
      (必要に応じてChromeのインストールパスを調整してください)
    • Windows (PowerShell):
      & "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222
      (必要に応じてChromeのインストールパスを調整してください)

    **注:**ポート 9222 がすでに使用されている場合は、別のポート (例: 9223) を選択し、 CHROME_CDP環境変数で同じポートを使用します。

  2. 環境変数を構成する: MCP サーバーを起動する前に、 .envファイルまたはシステム環境で次の環境変数を設定します。
    MCP_USE_OWN_BROWSER=true CHROME_CDP=http://localhost:9222 # Use the same port you launched Chrome with
    • MCP_USE_OWN_BROWSER=true : ブラウザを起動するのではなく、既存のブラウザに接続するようにサーバーに指示します。
    • CHROME_CDP : サーバーがブラウザの DevTools プロトコル エンドポイントに接続できる URL を指定します。
  3. **MCP サーバーを実行します。**通常どおりサーバーを起動します。
    uv run mcp-server-browser-use

これで、 run_browser_agentまたはrun_deep_searchツールを使用すると、サーバーは新しいインスタンスを作成するのではなく、実行中の Chrome インスタンスに接続するようになります。

重要な考慮事項:

  • --remote-debugging-portで起動したブラウザは、MCP サーバーが実行中であり、MCP サーバーと対話する必要がある間は開いたままにしておく必要があります。
  • MCP サーバーが実行されている場所からCHROME_CDP URL にアクセスできることを確認します (同じマシンで実行されている場合は通常http://localhost:PORT )。
  • 独自のブラウザを使用する場合、サーバーはそのブラウザの状態(開いているタブ、ログイン中のセッションなど)を継承します。自動化を行う際は、この点にご注意ください。
  • MCP_HEADLESSBROWSER_HEADLESSMCP_KEEP_BROWSER_OPENなどの設定はMCP_USE_OWN_BROWSER=trueの場合無視されます。ウィンドウサイズはブラウザウィンドウによって決まります。

発達

# Install dev dependencies and sync project deps uv sync --dev # Install playwright browsers uv run playwright install # Run with debugger (Example connecting to own browser via CDP) # 1. Launch Chrome: google-chrome --remote-debugging-port=9222 # 2. Run inspector command: npx @modelcontextprotocol/inspector@latest \ -e OPENROUTER_API_KEY=$OPENROUTER_API_KEY \ -e MCP_MODEL_PROVIDER=openrouter \ -e MCP_MODEL_NAME=anthropic/claude-3.7-sonnet \ -e MCP_USE_OWN_BROWSER=true \ -e CHROME_CDP=http://localhost:9222 \ uv --directory . run mcp run src/mcp_server_browser_use/server.py # Note: Change timeout in inspector's config panel if needed (default is 10 seconds)

トラブルシューティング

  • ブラウザの競合: CHROME_CDP ( MCP_USE_OWN_BROWSER=false ) を使用していない場合、 CHROME_USER_DATAが指定されているときは、同じユーザー データ ディレクトリで競合する他の Chrome インスタンスが実行されていないことを確認してください。
  • CDP 接続の問題: MCP_USE_OWN_BROWSER=true使用している場合:
    • Chrome が--remote-debugging-portフラグを使用して起動されたことを確認します。
    • CHROME_CDPのポートが Chrome の起動時に使用されるポートと一致していることを確認します。
    • 指定されたポートへの接続をブロックするファイアウォールの問題を確認します。
    • ブラウザがまだ実行されていることを確認してください。
  • APIエラー:選択したMCP_MODEL_PROVIDERに正しいAPIキー環境変数( OPENAI_API_KEYANTHROPIC_API_KEYなど)が設定されているか、またはMCP_API_KEYが設定されていることを確認してください。キーとエンドポイントを確認してください(Azureの場合はAZURE_OPENAI_ENDPOINTが必要です)。
  • ビジョンの問題: ビジョン機能を使用する場合はMCP_USE_VISION=trueあり、選択した LLM モデルがビジョンをサポートしていることを確認します。
  • 依存関係の問題: uv syncを実行して、すべての依存関係が正しくインストールされていることを確認してくださいpyproject.tomlを確認してください。
  • ログ記録:詳細なエラーメッセージについては、 LOG_FILE (デフォルト: mcp_server_browser_use.log )で指定されたログファイルを確認してください。より詳細な出力を得るには、 BROWSER_USE_LOGGING_LEVELDEBUGに上げてください。

ライセンス

MIT - 詳細についてはライセンスを参照してください。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

ブラウザ使用ライブラリを通じて統合されたカスタム機能とエージェントベースのインタラクションにより、ブラウザの自動化を促進します。

  1. Features
    1. Quick Start
      1. Prerequisites
      2. Integration with MCP Clients (e.g., Claude Desktop)
    2. MCP Tools
      1. Synchronous Tools (Wait for Completion)
    3. Configuration (Environment Variables)
      1. Connecting to Your Own Browser (CDP)
        1. Development
          1. Troubleshooting
            1. License
              ID: dz6dy5hw59