Playwright Browserbase MCP サーバー
モデルコンテキストプロトコル(MCP)は、LLMアプリケーションと外部データソースおよびツールとのシームレスな統合を可能にするオープンプロトコルです。AI搭載IDEの構築、チャットインターフェースの拡張、カスタムAIワークフローの作成など、MCPはLLMと必要なコンテキストを接続する標準化された方法を提供します。
MCP jsonでの設定方法
NPM でホストされているサーバーを使用することも、このリポジトリを複製して完全にローカルで実行することもできます。
NPMで実行する(推奨)
MCP Config JSON にアクセスし、Browserbase Server を追加します。
これで完了です。MCP クライアントをリロードすると、Claude は Browserbase を使用できるようになります。
100% ローカルで実行するには:
次に、MCP Config JSONでサーバーを実行します。ローカルで実行するには、STDIOまたはSSE経由のセルフホストを使用できます。
標準入出力:
MCP Config JSON ファイルに以下を追加します。
SSE:
ターミナルで以下のコマンドを実行してください。設定をカスタマイズするために、必要に応じてフラグ(以下のオプションを参照)を追加できます。
次に、MCP Config JSON ファイルに次の内容を入力します。
その後、MCP クライアントをリロードすれば、準備完了です。
フラグの説明:
Browserbase MCP サーバーは、次のコマンドライン フラグを受け入れます。
フラグ | 説明 |
---|---|
--browserbaseApiKey <key> | 認証用のBrowserbase APIキー |
--browserbaseProjectId <id> | BrowserbaseプロジェクトID |
--proxies | セッションでBrowserbaseプロキシを有効にする |
--advancedStealth | Browserbase Advanced Stealth を有効にする (Scale プラン ユーザーのみ) |
--contextId <contextId> | 使用するブラウザベースのコンテキストIDを指定します |
--persist [boolean] | Browserbaseコンテキストを永続化するかどうか(デフォルト: true) |
--port <port> | HTTP/SSE トランスポートをリッスンするポート |
--host <host> | サーバーをバインドするホスト (デフォルト: localhost、すべてのインターフェースで 0.0.0.0 を使用) |
--cookies [json] | ブラウザに挿入するCookieのJSON配列 |
--browserWidth <width> | ブラウザのビューポート幅(デフォルト: 1024) |
--browserHeight <height> | ブラウザのビューポートの高さ(デフォルト: 768) |
これらのフラグは、CLI に直接渡すことも、MCP 構成ファイルで構成することもできます。
注記:
現在、これらのフラグはローカル サーバー (npx @browserbasehq/mcp) でのみ使用できます。
フラグと設定例
プロキシ
プロキシに関するドキュメントはここにあります。
STDIO でプロキシを使用するには、MCP Config で --proxies フラグを設定します。
高度なステルス
こちらにAdvanced Stealthに関するドキュメントがあります。
STDIO でプロキシを使用するには、MCP Config で --advancedStealth フラグを設定します。
コンテキスト
コンテキストに関するドキュメントはこちら
STDIO でコンテキストを使用するには、MCP Config で --contextId フラグを設定します。
クッキーインジェクション
なぜCookieを挿入する必要があるのでしょうか?当社のコンテキストAPIは現在、永続Cookieには対応していますが、セッションCookieには対応していません。そのため、永続認証が機能しない場合があります(この機能の追加に現在取り組んでいます)。
MCP Config に cookies.json を追加することで、MCP に Cookie のフラグを設定できます。
STDIOでプロキシを使用するには、MCP Configで--proxiesフラグを設定してください。CookieのJSONはPlaywright Cookies形式である必要があります。
ブラウザビューポートのサイズ設定
ブラウザ セッションのデフォルトのビューポート サイズは 1024 x 768 です。browserWidth フラグと browserHeight フラグを使用してブラウザ ビューポート サイズを調整できます。
ブラウザのサイズをカスタマイズする方法は次のとおりです。16:9のアスペクト比(例:1920 x 1080、1280、720、1024 x 768)を推奨します。
構造
src/
: TypeScriptのソースコードindex.ts
: メインエントリポイント、envチェック、シャットダウンserver.ts
: MCP サーバーのセットアップとリクエストのルーティングsessionManager.ts
: Browserbaseセッションの作成/管理を処理しますtools/
: ツールの定義と実装resources/
: リソース(スクリーンショット)の処理types.ts
: 共有TypeScript型
dist/
: コンパイルされたJavaScript出力tests/
: テストのプレースホルダutils/
: ユーティリティスクリプトのプレースホルダDockerfile
: Dockerイメージを構築するためのもの- 設定ファイル (
.json
、.ts
、.mjs
、.npmignore
)
持続のためのコンテキスト
このサーバーは、ブラウザセッション間で Cookie、認証、キャッシュされたデータを保持できる Browserbase のコンテキスト機能をサポートしています。
- コンテキストの作成:
- セッションでコンテキストを使用する:
- コンテキストの削除:
コンテキストを使用すると、次のことがはるかに簡単になります。
- セッション間でログイン状態を維持する
- キャッシュを保存してページの読み込み時間を短縮する
- ブラウザのフィンガープリントを再利用してCAPTCHAと検出を回避する
クッキー管理
このサーバーは、直接的な Cookie 管理機能も提供します。
- クッキーの追加:
- クッキーの取得:
- クッキーの削除:
これらのツールは次の場合に役立ちます。
- ログインページに移動せずに認証Cookieを設定する
- クッキーの状態のバックアップと復元
- クッキー関連の問題のデバッグ
- クッキー属性(有効期限、セキュリティフラグなど)の操作
TODO/ロードマップ
- クリック、タイプ、ドラッグ、ホバー、select_option に対して、真の
ref
ベースのインタラクション ロジックを実装します。 ref
を使用して要素固有のスクリーンショットを実装します。- 標準的な MCP ツール (タブ、ナビゲーションなど) を追加します。
- テストを追加します。
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
このサーバーは、Browserbase、Puppeteer、Stagehandを使用したクラウドブラウザ自動化機能を提供します。このサーバーにより、LLMはクラウドブラウザ環境でWebページを操作したり、スクリーンショットを撮ったり、JavaScriptを実行したりできるようになります。
Related MCP Servers
- AsecurityFlicenseAqualityA server that enables browser automation using Playwright, allowing interaction with web pages, capturing screenshots, and executing JavaScript in a browser environment through LLMs.Last updated -129,4571TypeScript
- AsecurityFlicenseAqualityEnables LLMs to perform web browsing tasks, take screenshots, and execute JavaScript using Puppeteer for browser automation.Last updated -415,5021JavaScript
- AsecurityFlicenseAqualityEnables browser automation for LLMs on Linux display servers, supporting web interaction, screenshots, and JavaScript execution in a real browser.Last updated -754JavaScript
- -securityAlicense-qualityA Model Context Protocol server that enables LLMs to automate web browsers using Puppeteer, allowing navigation, screenshots, form filling, and JavaScript execution in a real browser environment.Last updated -JavaScriptMIT License