mcpField
P
playwright-mcp

playwright-mcp

ローカル
github.com/dinesh-nalla-seブラウザ自動化050 週間前に更新

playwright-mcp について

Playwright MCPは、スクリーンショットベースの操作ではなく、構造化されたアクセシビリティスナップショットを使うLLM向けブラウザー自動化サーバーです。ビジョンモデルなしで、決定的なページ操作を行えます。

主な機能

  1. 01アクセシビリティスナップショットによる操作
  2. 02Playwrightによるブラウザー操作の自動化
  3. 03ブラウザーコンソールメッセージの取得
  4. 04永続または分離プロファイルの利用
  5. 05拡張機能による既存タブへの接続

活用シーン

  1. 01LLMによるウェブページ操作の自動化
  2. 02分離ストレージを使ったブラウザーセッション
  3. 03ログイン済みの既存ブラウザータブの利用

MCP 対応

MCPクライアントに、ナビゲーション、操作、スクリプト実行、コンソール確認などのPlaywrightブラウザー自動化・ページ検査ツールを提供します。ローカル実行またはHTTP MCPエンドポイントとして利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"dinesh-nalla-se-playwright": {
"command": "npx",
"args": [
"-y",
"@dinesh-nalla-se/playwright-mcp"
],
"env": {
"YOUR_API_KEY": "<YOUR_API_KEY>"
}
}
}
}
起動コマンドnpx -y @dinesh-nalla-se/playwright-mcp
設定が必要な環境変数
YOUR_API_KEYシークレットYour API key for the service

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@dinesh-nalla-se/playwright-mcp0.0.47
ocidocker.io/dineshn51331/playwright-mcp:1.0.0

ツール

22

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

Playwright MCP

Playwright を使用してブラウザー自動化機能を提供する Model Context Protocol(MCP)サーバーです。このサーバーを使うと、LLM は構造化されたアクセシビリティスナップショットを通じてウェブページを操作できるため、スクリーンショットや視覚的に調整されたモデルは必要ありません。

主な機能
  • 高速で軽量です。ピクセルベースの入力ではなく、Playwright のアクセシビリティツリーを使用します。
  • LLM に適しています。ビジョンモデルは不要で、構造化データのみを使って動作します。
  • 決定論的なツール操作。スクリーンショットベースのアプローチでよくある曖昧さを回避します。
必要条件
  • Node.js 18 以降
  • VS Code、Cursor、Windsurf、Claude Desktop、Goose、またはその他の MCP クライアント
はじめに

まず、お使いのクライアントで Playwright MCP サーバーをインストールします。

標準設定は、ほとんどのツールで使用できます。

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "@playwright/mcp@latest"
      ]
    }
  }
}

VS Code にインストール VS Code Insiders にインストール

Amp

Amp の VS Code 拡張機能の設定画面から追加するか、settings.json ファイルを更新します。

"amp.mcpServers": {
  "playwright": {
    "command": "npx",
    "args": [
      "@playwright/mcp@latest"
    ]
  }
}

Amp CLI のセットアップ:

以下の amp mcp addcommand を使って追加します。

amp mcp add playwright -- npx @playwright/mcp@latest
Claude Code

Claude Code CLI を使って Playwright MCP サーバーを追加します。

claude mcp add playwright npx @playwright/mcp@latest
Claude Desktop

MCP のインストールガイドに従い、上記の標準設定を使用します。

Codex

Codex CLI を使って Playwright MCP サーバーを追加します。

codex mcp add playwright npx "@playwright/mcp@latest"

または、設定ファイル ~/.codex/config.toml を作成または編集して、次の内容を追加します。

[mcp_servers.playwright]
command = "npx"
args = ["@playwright/mcp@latest"]

詳しくは、Codex MCP のドキュメントを参照してください。

Cursor
ボタンをクリックしてインストールします。

Cursor にインストール

または手動でインストールします。

Cursor Settings -> MCP -> Add new MCP Server に移動します。任意の名前を付け、command タイプを選択して、コマンド npx @playwright/mcp@latest を使用します。Edit をクリックすると、設定を確認したり、コマンド引数などを追加したりすることもできます。

Factory

Factory CLI を使って Playwright MCP サーバーを追加します。

droid mcp add playwright "npx @playwright/mcp@latest"

または、Factory droid 内で /mcp と入力すると、MCP サーバーを管理するためのインタラクティブな UI が開きます。

詳しくは、Factory MCP のドキュメントを参照してください。

Gemini CLI

MCP のインストールガイドに従い、上記の標準設定を使用します。

Goose
ボタンをクリックしてインストールします。

Goose にインストール

または、手動でインストールします:

Advanced settings -> Extensions -> Add custom extension に移動します。名前は任意に設定し、種類に STDIO を選択して、command に npx @playwright/mcp を設定します。「Add Extension」をクリックします。

Kiro

MCP サーバーのドキュメントに従ってください。たとえば、.kiro/settings/mcp.json の場合:

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "@playwright/mcp@latest"
      ]
    }
  }
}
LM Studio
ボタンをクリックしてインストールします:

LM Studio に MCP Server playwright を追加

または、手動でインストールします:

右側のサイドバーで Program -> Install -> Edit mcp.json に移動します。上記の標準設定を使用します。

opencode

MCP サーバーのドキュメントに従ってください。たとえば、~/.config/opencode/opencode.json の場合:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "playwright": {
      "type": "local",
      "command": [
        "npx",
        "@playwright/mcp@latest"
      ],
      "enabled": true
    }
  }
}

Qodo Gen

VSCode または IntelliJ で Qodo Gen のチャットパネルを開き、Connect more tools → + Add new MCP → 上記の標準設定を貼り付けます。

Save をクリックします。

VS Code
ボタンをクリックしてインストールします:

VS Code にインストール VS Code Insiders にインストール

または、手動でインストールします:

MCP のインストールガイドに従い、上記の標準設定を使用します。VS Code CLI を使って Playwright MCP サーバーをインストールすることもできます:

# For VS Code
code --add-mcp '{"name":"playwright","command":"npx","args":["@playwright/mcp@latest"]}'

インストール後、VS Code で GitHub Copilot エージェントと一緒に Playwright MCP サーバーを使用できるようになります。

Warp

Settings -> AI -> Manage MCP Servers -> + Add に移動し、MCP サーバーを追加します。上記の標準設定を使用します。

または、Warp のプロンプトでスラッシュコマンド /add-mcp を使用し、上記の標準設定を貼り付けます:

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "@playwright/mcp@latest"
      ]
    }
  }
}
Windsurf

Windsurf MCP のドキュメントに従ってください。上記の標準設定を使用します。

設定

Playwright MCP サーバーでは、次の引数をサポートしています。上記の JSON 設定の "args" リストの一部として指定できます:

> npx @playwright/mcp@latest --help
  --allowed-hosts <hosts...>            comma-separated list of hosts this
                                        server is allowed to serve from.
                                        Defaults to the host the server is bound
                                        to. Pass '*' to disable the host check.
  --block-service-workers               block service workers
  --browser <browser>                   browser or chrome channel to use,
                                        possible values: chrome, firefox,
                                        webkit, msedge.
  --caps <caps>                         comma-separated list of additional
                                        capabilities to enable, possible values:
                                        vision, pdf.
  --cdp-endpoint <endpoint>             CDP endpoint to connect to.
  --cdp-header <headers...>             CDP headers to send with the connect
                                        request, multiple can be specified.
  --config <path>                       path to the configuration file.
  --device <device>                     device to emulate, for example: "iPhone
                                        15"
  --executable-path <path>              path to the browser executable.
  --extension                           Connect to a running browser instance
                                        (Edge/Chrome only). Requires the
                                        "Playwright MCP Bridge" browser
                                        extension to be installed.
  --grant-permissions <permissions...>  List of permissions to grant to the
                                        browser context, for example
                                        "geolocation", "clipboard-read",
                                        "clipboard-write".
  --headless                            run browser in headless mode, headed by
                                        default
  --host <host>                         host to bind server to. Default is
                                        localhost. Use 0.0.0.0 to bind to all
                                        interfaces.
  --ignore-https-errors                 ignore https errors
  --init-page <path...>                 path to TypeScript file to evaluate on
                                        Playwright page object
  --init-script <path...>               path to JavaScript file to add as an
                                        initialization script. The script will
                                        be evaluated in every page before any of
                                        the page's scripts. Can be specified
                                        multiple times.
  --isolated                            keep the browser profile in memory, do
                                        not save it to disk.
  --image-responses <mode>              whether to send image responses to the
                                        client. Can be "allow" or "omit",
                                        Defaults to "allow".
  --no-sandbox                          disable the sandbox for all process
                                        types that are normally sandboxed.
  --output-dir <path>                   path to the directory for output files.
  --port <port>                         port to listen on for SSE transport.
  --proxy-bypass <bypass>               comma-separated domains to bypass proxy,
                                        for example
                                        ".com,chromium.org,.domain.com"
  --proxy-server <proxy>                specify proxy server, for example
                                        "http://myproxy:3128" or
                                        "socks5://myproxy:8080"
  --save-session                        Whether to save the Playwright MCP
                                        session into the output directory.
  --save-trace                          Whether to save the Playwright Trace of
                                        the session into the output directory.
  --save-video <size>                   Whether to save the video of the session
                                        into the output directory. For example
                                        "--save-video=800x600"
  --secrets <path>                      path to a file containing secrets in the
                                        dotenv format
  --shared-browser-context              reuse the same browser context between
                                        all connected HTTP clients.
  --storage-state <path>                path to the storage state file for
                                        isolated sessions.
  --test-id-attribute <attribute>       specify the attribute to use for test
                                        ids, defaults to "data-testid"
  --timeout-action <timeout>            specify action timeout in milliseconds,
                                        defaults to 5000ms
  --timeout-navigation <timeout>        specify navigation timeout in
                                        milliseconds, defaults to 60000ms
  --user-agent <ua string>              specify user agent string
  --user-data-dir <path>                path to the user data directory. If not
                                        specified, a temporary directory will be
                                        created.
  --viewport-size <size>                specify browser viewport size in pixels,
                                        for example "1280x720"
ユーザープロファイル

通常のブラウザーと同様の永続プロファイル、テストセッション用の分離コンテキスト、またはブラウザー拡張機能を使用して既存のブラウザーに接続する方法で、Playwright MCP を実行できます。

永続プロファイル

ログイン情報はすべて永続プロファイルに保存されます。オフライン状態をクリアしたい場合は、セッション間に削除できます。 永続プロファイルは次の場所にあり、--user-data-dir 引数で変更できます。

# Windows
%USERPROFILE%\AppData\Local\ms-playwright\mcp-{channel}-profile

# macOS
- ~/Library/Caches/ms-playwright/mcp-{channel}-profile

# Linux
- ~/.cache/ms-playwright/mcp-{channel}-profile

分離モード

分離モードでは、各セッションが分離プロファイルで開始されます。MCP にブラウザーを閉じるよう指示すると、セッションが終了し、そのセッションのストレージ状態はすべて失われます。設定の contextOptions または --storage-state 引数を使って、初期ストレージ状態をブラウザーに渡すことができます。ストレージ状態の詳細についてはこちらをご覧ください。

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "@playwright/mcp@latest",
        "--isolated",
        "--storage-state={path/to/storage.json}"
      ]
    }
  }
}

ブラウザー拡張機能

Playwright MCP Chrome Extension を使用すると、既存のブラウザータブに接続し、ログイン済みセッションとブラウザー状態を活用できます。インストールとセットアップの手順については、extension/README.mdをご覧ください。

初期状態

ブラウザーコンテキストまたはページに初期状態を渡す方法はいくつかあります。

ストレージ状態については、次のいずれかを使用できます。

  • --user-data-dir 引数を使ってユーザーデータディレクトリで開始します。セッション間でブラウザーデータがすべて保持されます。
  • --storage-state 引数を使ってストレージ状態ファイルで開始します。ファイルから Cookie とローカルストレージを分離ブラウザーコンテキストに読み込みます。

ページ状態については、次の方法を使用できます。

  • --init-page を使って、Playwright のページオブジェクト上で評価される TypeScript ファイルを指定します。これにより、ページをセットアップする任意のコードを実行できます。
// init-page.ts
export default async ({ page }) => {
  await page.context().grantPermissions(['geolocation']);
  await page.context().setGeolocation({ latitude: 37.7749, longitude: -122.4194 });
  await page.setViewportSize({ width: 1280, height: 720 });
};
  • --init-script を使って、初期化スクリプトとして追加する JavaScript ファイルを指定します。このスクリプトは、ページ内のほかのスクリプトより前に、すべてのページで評価されます。 ブラウザー API のオーバーライドや環境のセットアップに便利です。
// init-script.js
window.isPlaywrightMCP = true;
設定ファイル

Playwright MCP サーバーは JSON 設定ファイルを使って設定できます。--config コマンドラインオプションを使って、設定ファイルを指定できます。

npx @playwright/mcp@latest --config path/to/config.json
設定ファイルのスキーマ
{
  // Browser configuration
  browser?: {
    // Browser type to use (chromium, firefox, or webkit)
    browserName?: 'chromium' | 'firefox' | 'webkit';

    // Keep the browser profile in memory, do not save it to disk.
    isolated?: boolean;

    // Path to user data directory for browser profile persistence
    userDataDir?: string;

    // Browser launch options (see Playwright docs)
    // @see https://playwright.dev/docs/api/class-browsertype#browser-type-launch
    launchOptions?: {
      channel?: string;        // Browser channel (e.g. 'chrome')
      headless?: boolean;      // Run in headless mode
      executablePath?: string; // Path to browser executable
      // ... other Playwright launch options
    };

    // Browser context options
    // @see https://playwright.dev/docs/api/class-browser#browser-new-context
    contextOptions?: {
      viewport?: { width: number, height: number };
      // ... other Playwright context options
    };

    // CDP endpoint for connecting to existing browser
    cdpEndpoint?: string;

    // Remote Playwright server endpoint
    remoteEndpoint?: string;
  },

  // Server configuration
  server?: {
    port?: number;  // Port to listen on
    host?: string;  // Host to bind to (default: localhost)
  },

  // List of additional capabilities
  capabilities?: Array<
    'tabs' |    // Tab management
    'install' | // Browser installation
    'pdf' |     // PDF generation
    'vision' |  // Coordinate-based interactions
  >;

  // Directory for output files
  outputDir?: string;

  // Network configuration
  network?: {
    // List of origins to allow the browser to request. Default is to allow all. Origins matching both `allowedOrigins` and `blockedOrigins` will be blocked.
    allowedOrigins?: string[];

    // List of origins to block the browser to request. Origins matching both `allowedOrigins` and `blockedOrigins` will be blocked.
    blockedOrigins?: string[];
  };
 
  /**
   * Whether to send image responses to the client. Can be "allow" or "omit". 
   * Defaults to "allow".
   */
  imageResponses?: 'allow' | 'omit';
}
スタンドアロン MCP サーバー

ディスプレイのないシステムでヘッド付きブラウザーを実行する場合や、IDE のワーカープロセスから実行する場合は、DISPLAY が設定された環境から MCP サーバーを実行し、HTTP トランスポートを有効にするために --port フラグを渡してください。

npx @playwright/mcp@latest --port 8931

次に、MCP クライアントの設定で、url に HTTP エンドポイントを設定します。

{
  "mcpServers": {
    "playwright": {
      "url": "http://localhost:8931/mcp"
    }
  }
}
Docker

注記: Docker 実装では、現時点でヘッドレス Chromium のみがサポートされています。

{
  "mcpServers": {
    "playwright": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "--init", "--pull=always", "mcr.microsoft.com/playwright/mcp"]
    }
  }
}

MCP クライアントにコンテナを起動させるのではなく、長時間稼働するサービスとしてコンテナを実行したい場合は、次を使用してください。

docker run -d -i --rm --init --pull=always \
  --entrypoint node \
  --name playwright \
  -p 8931:8931 \
  mcr.microsoft.com/playwright/mcp \
  cli.js --headless --browser chromium --no-sandbox --port 8931

サーバーはホストのポート 8931 で待ち受け、任意の MCP クライアントからアクセスできます。

Docker イメージを自分でビルドすることもできます。

docker build -t mcr.microsoft.com/playwright/mcp .
プログラムからの使用
import http from 'http';

import { createConnection } from '@playwright/mcp';
import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js';

http.createServer(async (req, res) => {
  // ...

  // Creates a headless Playwright MCP server with SSE transport
  const connection = await createConnection({ browser: { launchOptions: { headless: true } } });
  const transport = new SSEServerTransport('/messages', res);
  await connection.connect(transport);

  // ...
});
ツール
コア自動化
  • browser_click

    • タイトル:クリック
    • 説明:ウェブページ上でクリックを実行します
    • パラメーター:
      • element(string):要素とのインタラクション許可を得るために使用する、人が読める要素の説明
      • ref(string):ページのスナップショットにある、対象要素の正確な参照
      • doubleClick(boolean、任意):シングルクリックの代わりにダブルクリックを実行するかどうか
      • button(string、任意):クリックするボタン。デフォルトは左ボタンです
      • modifiers(array、任意):押す修飾キー
    • 読み取り専用:false
  • browser_close

    • タイトル:ブラウザーを閉じる
    • 説明:ページを閉じます
    • パラメーター:なし
    • 読み取り専用:false
  • browser_console_messages

    • タイトル:コンソールメッセージを取得
    • 説明:すべてのコンソールメッセージを返します
    • パラメーター:
      • onlyErrors (boolean, optional):エラーメッセージのみを返します
    • 読み取り専用:true
  • browser_drag

    • タイトル:マウスをドラッグ
    • 説明:2つの要素間でドラッグ&ドロップを実行します
    • パラメーター:
      • startElement (string):要素とやり取りする許可を得るために使用する、始点要素の人間が読める説明
      • startRef (string):ページスナップショットにある始点要素の正確な参照
      • endElement (string):要素とやり取りする許可を得るために使用する、対象要素の人間が読める説明
      • endRef (string):ページスナップショットにある対象要素の正確な参照
    • 読み取り専用:false
  • browser_evaluate

    • タイトル:JavaScriptを評価
    • 説明:ページまたは要素上でJavaScript式を評価します
    • パラメーター:
      • function (string):要素が指定されている場合は、() => { /* code / } または (element) => { / code */ }
      • element (string, optional):要素とやり取りする許可を得るために使用する、要素の人間が読める説明
      • ref (string, optional):ページスナップショットにある対象要素の正確な参照
    • 読み取り専用:false
  • browser_file_upload

    • タイトル:ファイルをアップロード
    • 説明:1つ以上のファイルをアップロードします
    • パラメーター:
      • paths (array, optional):アップロードするファイルの絶対パスです。単一ファイルまたは複数ファイルを指定できます。省略した場合、ファイル選択ダイアログはキャンセルされます。
    • 読み取り専用:false
  • browser_fill_form

    • タイトル:フォームに入力
    • 説明:複数のフォームフィールドに入力します
    • パラメーター:
      • fields (array):入力するフィールド
    • 読み取り専用:false
  • browser_handle_dialog

    • タイトル:ダイアログを処理
    • 説明:ダイアログを処理します
    • パラメーター:
      • accept (boolean):ダイアログを受け入れるかどうか。
      • promptText (string, optional):プロンプトダイアログの場合に使用するテキスト。
    • 読み取り専用:false
  • browser_hover

    • タイトル:マウスをホバー
    • 説明:ページ上の要素にホバーします
    • パラメーター:
      • element (string):要素とやり取りする許可を得るために使用する、要素の人間が読める説明
      • ref (string):ページスナップショットにある対象要素の正確な参照
    • 読み取り専用:false
  • browser_navigate

    • タイトル:URLに移動
    • 説明:URLに移動します
    • パラメーター:
      • url (string):移動先のURL
    • 読み取り専用:false
  • browser_navigate_back

    • タイトル:戻る
    • 説明:前のページに戻ります
    • パラメーター:なし
    • 読み取り専用:false
  • browser_network_requests

    • タイトル:ネットワークリクエストを一覧表示
    • 説明:ページの読み込み後に発生したすべてのネットワークリクエストを返します
    • パラメーター:なし
    • 読み取り専用:true
  • browser_press_key

    • タイトル:キーを押す
    • 説明:キーボードのキーを押します
    • パラメーター:
      • key (string):押すキーの名前、または生成する文字。例:ArrowLeft または a
    • 読み取り専用:false
  • browser_resize

    • タイトル:ブラウザーウィンドウのサイズを変更
    • 説明:ブラウザーウィンドウのサイズを変更します
    • パラメーター:
      • width (number):ブラウザーウィンドウの幅
      • height (number):ブラウザーウィンドウの高さ
    • 読み取り専用:false
  • browser_run_code

    • タイトル:Playwrightコードを実行
    • 説明:Playwrightコードスニペットを実行します
    • パラメーター:
      • code (string):実行するPlaywrightコードスニペットです。ページとやり取りするには、page オブジェクトにアクセスしてください。複数の文を記述できます。例:await page.getByRole('button', { name: 'Submit' }).click();
    • 読み取り専用:false
  • browser_select_option

    • タイトル:オプションを選択
    • 説明:ドロップダウンからオプションを選択します
    • パラメーター:
      • element (string):要素を操作する許可を得るために使用する、人が読んで理解できる要素の説明
      • ref (string):ページスナップショットに記載された、対象要素の正確な参照
      • values (array):ドロップダウンで選択する値の配列。単一の値または複数の値を指定できます。
    • 読み取り専用:false
  • browser_snapshot

    • タイトル:ページスナップショット
    • 説明:現在のページのアクセシビリティスナップショットをキャプチャします。スクリーンショットよりも優れています
    • パラメーター:なし
    • 読み取り専用:true
  • browser_take_screenshot

    • タイトル:スクリーンショットを撮影
    • 説明:現在のページのスクリーンショットを撮影します。スクリーンショットに基づいて操作することはできません。操作には browser_snapshot を使用してください。
    • パラメーター:
      • type (string, optional):スクリーンショットの画像形式です。デフォルトは png です。
      • filename (string, optional):スクリーンショットの保存先ファイル名です。指定しない場合は page-{timestamp}.{png|jpeg} が使用されます。出力ディレクトリ内に保存するため、相対ファイル名を推奨します。
      • element (string, optional):要素のスクリーンショットを撮影する許可を得るために使用する、人が読んで理解できる要素の説明です。指定しない場合は、ビューポートのスクリーンショットが撮影されます。指定する場合は、ref も指定する必要があります。
      • ref (string, optional):ページスナップショットに記載された、対象要素の正確な参照です。指定しない場合は、ビューポートのスクリーンショットが撮影されます。指定する場合は、element も指定する必要があります。
      • fullPage (boolean, optional):true の場合、現在表示されているビューポートではなく、スクロール可能なページ全体のスクリーンショットを撮影します。要素のスクリーンショットとは併用できません。
    • 読み取り専用:true
  • browser_type

    • タイトル:テキストを入力
    • 説明:編集可能な要素にテキストを入力します
    • パラメーター:
      • element (string):要素を操作する許可を得るために使用する、人が読んで理解できる要素の説明
      • ref (string):ページスナップショットに記載された、対象要素の正確な参照
      • text (string):要素に入力するテキスト
      • submit (boolean, optional):入力したテキストを送信するかどうか(送信する場合は Enter キーを押します)
      • slowly (boolean, optional):1 文字ずつ入力するかどうか。ページ内のキーイベントハンドラーを起動する場合に便利です。デフォルトではテキスト全体を一度に入力します。
    • 読み取り専用:false
  • browser_wait_for

    • タイトル:待機
    • 説明:テキストの表示または非表示、あるいは指定した時間の経過を待ちます
    • パラメーター:
      • time (number, optional):待機する時間(秒)
      • text (string, optional):表示されるのを待つテキスト
      • textGone (string, optional):非表示になるのを待つテキスト
    • 読み取り専用:false
タブ管理
  • browser_tabs
    • タイトル:タブを管理
    • 説明:ブラウザーのタブを一覧表示、作成、閉じる、または選択します。
    • パラメーター:
      • action (string):実行する操作
      • index (number, optional):閉じる/選択するタブのインデックスです。閉じる場合に省略すると、現在のタブが閉じられます。
    • 読み取り専用:false
ブラウザーのインストール
  • browser_install
    • タイトル:設定で指定されたブラウザーをインストール
    • 説明:設定で指定されたブラウザーをインストールします。ブラウザーがインストールされていないというエラーが発生した場合に呼び出してください。
    • パラメーター:なし
    • 読み取り専用:false
座標ベース(--caps=vision でオプトイン)
  • browser_mouse_click_xy

    • タイトル:クリック
    • 説明:指定した位置でマウスの左ボタンをクリックします
    • パラメーター:
      • element (string):要素を操作する許可を得るために使用する、人が読んで理解できる要素の説明
      • x (number):X 座標
      • y (number):Y 座標
    • 読み取り専用:false
  • browser_mouse_drag_xy

    • Title: マウスをドラッグ
    • Description: 左マウスボタンをドラッグして指定した位置まで移動します
    • Parameters:
      • element (string): 要素とのインタラクション許可を得るために使用する、人が理解できる要素の説明
      • startX (number): 開始位置の X 座標
      • startY (number): 開始位置の Y 座標
      • endX (number): 終了位置の X 座標
      • endY (number): 終了位置の Y 座標
    • Read-only: false
  • browser_mouse_move_xy

    • Title: マウスを移動
    • Description: マウスを指定した位置に移動します
    • Parameters:
      • element (string): 要素とのインタラクション許可を得るために使用する、人が理解できる要素の説明
      • x (number): X 座標
      • y (number): Y 座標
    • Read-only: false
PDF 生成(--caps=pdf でオプトイン)
  • browser_pdf_save
    • Title: PDF として保存
    • Description: ページを PDF として保存します
    • Parameters:
      • filename (string, optional): PDF の保存先ファイル名です。指定しない場合は page-{timestamp}.pdf がデフォルトで使用されます。出力ディレクトリ内に保存するため、相対ファイル名を推奨します。
    • Read-only: true
テストアサーション(--caps=testing でオプトイン)
  • browser_generate_locator

    • Title: 要素のロケーターを作成
    • Description: テストで使用する、指定した要素のロケーターを生成します
    • Parameters:
      • element (string): 要素とのインタラクション許可を得るために使用する、人が理解できる要素の説明
      • ref (string): ページスナップショット内にある、対象要素の正確な参照
    • Read-only: true
  • browser_verify_element_visible

    • Title: 要素の表示を確認
    • Description: 要素がページに表示されていることを確認します
    • Parameters:
      • role (string): 要素の ROLE です。スナップショット内では - {ROLE} "Accessible Name": のように確認できます
      • accessibleName (string): 要素の ACCESSIBLE_NAME です。スナップショット内では - role "{ACCESSIBLE_NAME}" のように確認できます
    • Read-only: false
  • browser_verify_list_visible

    • Title: リストの表示を確認
    • Description: リストがページに表示されていることを確認します
    • Parameters:
      • element (string): 人が理解できるリストの説明
      • ref (string): リストを指す対象要素の正確な参照
      • items (array): 確認する項目
    • Read-only: false
  • browser_verify_text_visible

    • Title: テキストの表示を確認
    • Description: テキストがページに表示されていることを確認します。可能な場合は browser_verify_element_visible を優先してください。
    • Parameters:
      • text (string): 確認する TEXT です。スナップショット内では - role "Accessible Name": {TEXT} または - text: {TEXT} のように確認できます
    • Read-only: false
  • browser_verify_value

    • Title: 値を確認
    • Description: 要素の値を確認します
    • Parameters:
      • type (string): 要素の種類
      • element (string): 人が理解できる要素の説明
      • ref (string): 要素を指す対象要素の正確な参照
      • value (string): 確認する値です。チェックボックスの場合は "true" または "false" を使用します。
    • Read-only: false
トレーシング(--caps=tracing でオプトイン)
  • browser_start_tracing

    • Title: トレーシングを開始
    • Description: トレースの記録を開始します
    • Parameters: なし
    • Read-only: true
  • browser_stop_tracing

    • Title: トレーシングを停止
    • Description: トレースの記録を停止します
    • Parameters: なし
    • Read-only: true

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。