mcpField
S
Selenium MCP

Selenium MCP

ローカル
npmjs.comブラウザ自動化07 週間前に更新

Selenium MCP について

Selenium MCP は、Selenium WebDriver で実ブラウザーを自動操作する TypeScript 製サーバーです。ブラウザー操作に加え、ページスナップショット、セレクターのヒント、複数セッション、操作の一括実行に対応します。

主な機能

  1. 01ブラウザーの移動と操作ツール
  2. 02安定した要素参照付きページスナップショット
  3. 03ドメインごとのセレクターヒント保存
  4. 04並行ブラウザーセッション
  5. 05複数手順の一括実行
  6. 06アサーションと任意の呼び出しトレース

活用シーン

  1. 01ブラウザーベースのワークフロー自動化
  2. 02アサーションを使ったページテスト
  3. 03保存済みセレクターによる作業の反復
  4. 04ブラウザーツール呼び出しのデバッグ

MCP 対応

ブラウザー自動化ツールと `browser-status://current`、`accessibility://current` リソースを MCP クライアントに公開します。クライアントはツールを使ってセッション管理、ページ移動、要素操作、スクリーンショット取得を行えます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"selenium-mcp-gaforov": {
"command": "npx",
"args": [
"-y",
"@gaforov/selenium-mcp"
]
}
}
}
起動コマンドnpx -y @gaforov/selenium-mcp

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

パッケージ
npm@gaforov/selenium-mcp0.3.0

ツール

41

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

パラメーター型必須説明
browserenumいいえ起動するブラウザー:chrome(デフォルト)、firefox、または edge。このコンピューターにインストールされている必要があります。chrome | firefox | edge
headlessbooleanいいえウィンドウを表示せずに実行します(デフォルトは false)。CI やバックグラウンド実行では true、ユーザーが表示を希望する場合は false を使用します。
browserArgsarrayいいえブラウザーに渡す追加のコマンドラインフラグ。例:['--incognito']、['--lang=de']。デフォルトでは指定なしです。
pageLoadTimeoutMsintegerいいえページの読み込みが失敗と判定されるまでの最大時間(ミリ秒、デフォルトは 30000)です。
scriptTimeoutMsintegerいいえ非同期スクリプトの実行を許可する最大時間(ミリ秒、デフォルトは 30000)です。
windowSizeobjectいいえ初期ウィンドウサイズ。例:{ width: 1440, height: 900 }。後で window ツールの resize アクションを使って変更できます。
windowSize.widthintegerはいウィンドウの幅(ピクセル単位、320-7680)。
windowSize.heightintegerはいウィンドウの高さ(ピクセル単位、240-4320)。

詳細

selenium-mcp

AI エージェント向け Selenium MCP サーバー — 実際のブラウザーを自動操作する 41 個のツールを備えています。ナビゲーション、クリック、文字入力、アサーション、スクリーンショット、複数セッションの管理、安定した要素参照を使ったページスナップショット、セレクターヒントの永続化、複数ステップの一括実行に対応しています。

npm version npm downloads CI license node

TypeScript、公式 MCP SDK、Selenium WebDriver を使用して構築されています。LLM エージェント向けに、厳密な zod 入力検証、明示的な待機、構造化されたレスポンスを備えています。

ワンクリックでインストール

Install in Cursor Install in VS Code Install in VS Code Insiders

0.3.0 の新機能

  • 新しいツール: ドロップダウン用の select_option、scroll(無限スクロールのページやスクロール可能なパネルにも対応)、戻る・進む・更新を行う history、リダイレクト後に URL またはタイトルを待機する wait_for_page が追加されました。
  • レスポンシブテスト: window で、390x844 のスマートフォンのような正確なサイズにビューポートを変更したり、最大化したりできるようになりました。
  • AI エージェントがツールを選びやすくなりました: すべてのツールとパラメーターに、機能、返される内容、類似ツールの代わりに使う場面が説明されるようになりました。
  • 破壊的変更: 重複していた open_url と wait_until_visible を削除しました。navigate と、visible: true を指定した wait_for_element を使用してください。
  • 検証済みのリリース: 各リリースは実際のブラウザーでエンドツーエンドテストを行い、npm provenance 付きで公開されます。

詳細はchangelogをご覧ください。

セットアップ

Claude Code
claude mcp add selenium -- npx -y @gaforov/selenium-mcp@latest
Claude Desktop / Cursor / Windsurf / その他の MCP クライアント

クライアントの MCP 設定(例:claude_desktop_config.json または .cursor/mcp.json)に追加します。

{
  "mcpServers": {
    "selenium": {
      "command": "npx",
      "args": ["-y", "@gaforov/selenium-mcp@latest"]
    }
  }
}
VS Code
code --add-mcp '{"name":"selenium","command":"npx","args":["-y","@gaforov/selenium-mcp@latest"]}'
Goose
goose session --with-extension "npx -y @gaforov/selenium-mcp@latest"
IntelliJ IDEA / JetBrains IDE

Settings → Tools → AI Assistant → Model Context Protocol → Add を開き、コマンドに npx、引数に -y @gaforov/selenium-mcp@latest を指定します。詳しい手順はdocs/CLIENT_INTEGRATION.mdをご覧ください。

ソースから実行
git clone https://github.com/gaforov/selenium-mcp.git
cd selenium-mcp
npm install
npm run build

次に、MCP クライアントで node /absolute/path/to/selenium-mcp/dist/server.js を指定します。

## 使用例

AI エージェントに次のように依頼します。

selenium-mcp を使って Chrome を開き、https://example.com に移動して、ページタイトルを読み取り、スクリーンショットを撮影してから、ブラウザーを閉じてください。

エージェントはスクリプトを用意しなくても、start_browser → navigate → get_title → take_screenshot → stop_browser を自動で連鎖させます。

要件

  • Node.js 20+
  • Chrome、Firefox、または Edge がインストールされていること(一致するドライバーは Selenium Manager が自動的に用意します)

比較

ほとんどの Selenium MCP サーバーは、WebDriver の基本コマンドをラップしています。このサーバーは、エージェントの信頼性を高めるレイヤーを追加します。

機能selenium-mcp一般的な Selenium MCP サーバー
安定した要素参照を含むページスナップショット(capture_page)✅まれ
ドメインごとに保持されるセレクターの記憶(selector_hint_*)✅❌
複数セッションでの並列ブラウジング✅まれ
1 回の呼び出しでの複数ステップの一括実行✅❌
組み込みのテストアサーション✅一部
ツール呼び出しのトレース(NDJSON 監査ログ)✅❌
厳格な入力検証+構造化されたエラー✅さまざま
AI エージェント向けに説明されたすべてのツールとパラメーター(テストで検証)✅さまざま
CI で実ブラウザーを使ったエンドツーエンドテスト✅一部

selenium-mcp を選ぶ理由

  • スナップショットを優先するワークフロー — capture_page は、エージェントが直接操作できる安定した要素参照を含むページスナップショットを返すため、壊れやすいセレクターを推測する必要がありません
  • セレクターのヒント — ドメインごとに機能するロケーターを保持するため、同じ自動化を繰り返すほど高速かつ確実になります
  • 一括実行 — batch_execute は、制約された複数ステップのシーケンスを 1 回のツール呼び出しで実行し、往復を減らします
  • 複数セッション — 複数のブラウザーセッションを作成、選択、一覧表示、破棄できます
  • エージェントに配慮したエラー — すべての応答が構造化され、zod で検証されるため、エージェントは停止せずに復旧できます
  • 任意のトレース — デバッグと監査に役立つ、すべてのツール呼び出しの NDJSON トレースを利用できます

ツール(41)

カテゴリツール
ブラウザーのライフサイクルstart_browser、stop_browser、session_create、session_select、session_list、session_destroy
ナビゲーションnavigate、history(戻る/進む/更新)、wait_for_page(URL/タイトル)、get_current_url、get_title
要素の検出find_element、wait_for_element、capture_page、get_page_source
操作click、retry_click、interact(ホバー/ダブルクリック/右クリック)、type、select_option、scroll、press_key、upload_file
読み取りget_text、get_attribute
アサーションassert_text、assert_visible、assert_attribute
スクリプト実行execute_script、batch_execute
セレクターのヒントselector_hint_save、selector_hint_get、selector_hint_list、selector_hint_delete
ウィンドウとコンテキストwindow(タブ、ウィンドウ、サイズ変更/最大化)、frame、alert
Cookieadd_cookie、get_cookies、delete_cookie
キャプチャtake_screenshot

パラメーターの完全なドキュメント:docs/TOOL_REFERENCE.md

MCP リソース

  • browser-status://current — 現在のブラウザー/セッションのリアルタイム状態
  • accessibility://current — 現在のページのアクセシビリティスナップショット

任意のトレース

すべてのツール呼び出しの軽量な NDJSON トレースを有効にします。

SELENIUM_MCP_TRACE=true
SELENIUM_MCP_TRACE_PATH=./logs/selenium-mcp-trace.ndjson

SELENIUM_MCP_TRACE_PATH を省略した場合、既定値は logs/selenium-mcp-trace.ndjson です。

ドキュメント

貢献

バグ報告、機能のリクエスト、プルリクエストなど、貢献を歓迎します。始めるには CONTRIBUTING.md をご覧ください。

npm run typecheck
npm run build
npm test

ライセンス

MIT。LICENSE をご覧ください。

コメント

MCP は初めてですか?

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

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