mcpField
S
selenium-mcp

selenium-mcp

ローカル
github.com/pshivaprブラウザ自動化654 週間前に更新

selenium-mcp について

selenium-mcpは、Selenium WebDriverの自動化機能をAIアシスタントやアプリケーションに提供するMCPサーバーです。複数のブラウザーに対応し、ナビゲーション、要素操作、スクレイピング、テストのツールを備えています。

主な機能

  1. 01Chrome、Firefox、Safari、Edgeに対応
  2. 02ブラウザーウィンドウの操作と管理
  3. 03ページ要素の検索と操作
  4. 04Cookie、フレーム、フォームの管理
  5. 05スクリーンショットとJavaScript実行

活用シーン

  1. 01ブラウザーベースのテスト自動化
  2. 02Webページからの情報収集
  3. 03Webフォームの操作
  4. 04ページの撮影とブラウザー状態の確認

MCP 対応

接続したクライアントに、ブラウザー管理、ページ操作、ナビゲーション、スクリーンショットなどのSelenium WebDriver機能をMCPツールとして公開します。

設定

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

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

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

パッケージ
npmselenium-webdriver-mcp0.4.6

ツール

56

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

パラメーター型必須説明
browserenumはい起動するブラウザーchrome | firefox | edge | safari
optionsobjectいいえ
options.headlessbooleanいいえブラウザーをヘッドレスモードで実行します
options.argumentsarrayいいえ追加のブラウザー引数

詳細

Add to Cursor Add to VS Code Add to Claude Add to ChatGPT Add to Codex Add to Gemini

Selenium MCP サーバー

npm version

npm downloads

GitHub issues

smithery badge

これは、MCP クライアント(AI アシスタント)と Selenium WebDriver の間をつなぐサーバー実装です。Selenium WebDriver の機能を MCP ツールとして公開し、AI モデルが次のようなタスクに活用できるようにします。

  • ブラウザーの管理(起動、移動、終了)
  • 要素の操作(クリック、入力、要素の検索)
  • ウェブスクレイピングと自動テスト
  • スクリーンショット、Cookie の管理、JavaScript の実行などの高度な操作

つまり、selenium webdriver mcp のセットアップにより、AI アシスタントは Model Context Protocol を介して専用の Selenium MCP サーバーと通信し、Selenium WebDriver の機能をウェブ自動化に活用できます。これにより、AI が制御する自動ウェブ操作、テスト、データ抽出などのタスクが可能になります。

README の画像

🚀 概要

Selenium 用の Model Context Protocol(MCP)サーバーです。AI アシスタントやアプリケーション向けに、包括的な Selenium WebDriver 自動化ツールを提供します。このサーバーは、標準化されたインターフェースを通じて、自動ウェブブラウザー操作、テスト、スクレイピングを実現します。

TypeScript と最新の ES モジュールで構築されており、Model Context Protocol を通じて型安全なブラウザー自動化機能を提供します。

✨ 主な機能

  • マルチブラウザー対応:Chrome、Firefox、Safari、Edge のブラウザー自動化
  • 包括的な要素操作:クリック、入力、ホバー、ドラッグ&ドロップ、ファイルのアップロード
  • 高度なナビゲーション:前後の移動、更新、ウィンドウ管理
  • 待機戦略:要素やページの状態に応じたインテリジェントな待機
  • 型安全性:Zod による検証を備えた完全な TypeScript 実装

🤝 統合

MCP クライアントとの統合

Selenium サーバーに接続するように MCP クライアントを設定します。

標準設定(Windsurf、Warp、Gemini CLI などに適用)
{
  "servers": {
    "selenium-mcp": {
      "command": "npx",
      "args": ["-y", "selenium-webdriver-mcp@latest"]
    }
  }
}

VS Code へのインストール

以下の設定で、VS Code の mcp.json を更新します。

注記:MCP サーバーを初めて使用する場合は、こちらのリンクに従ってください:VS Code で MCP サーバーを使用する

「stdio」タイプの接続例
{
  "servers": {
    "selenium-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "selenium-webdriver-mcp@latest"
      ],
      "type": "stdio"
    }
  },
  "inputs": []
}

「http」タイプの接続例
{
  "servers": {
    "Selenium": {
      "url": "https://smithery.ai/server/@pshivapr/selenium-mcp",
      "type": "http"
    }
  },
  "inputs": []
}

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

VS Code CLI を使用して Selenium MCP サーバーをインストールする方法
# For VS Code
code --add-mcp '{\"name\":\"selenium-mcp\",\"command\": \"npx\",\"args\": [\"selenium-webdriver-mcp@latest\"]}'

# For VS Code Insiders
vscode-insiders --add-mcp '{\"name\":\"selenium-mcp\",\"command\": \"npx\",\"args\": [\"selenium-webdriver-mcp@latest\"]}'

npm または Smithery を使用してパッケージをインストールする方法

npm を使用する場合:

npm install -g selenium-webdriver-mcp@latest

Smithery を使用する場合

smithery badge を使って、Claude Desktop 用の Selenium MCP を自動的にインストールするには

npx @smithery/cli install @pshivapr/selenium-mcp --client claude

Claude Desktop との統合

Claude Desktop の設定に追加します。

{
  "mcpServers": {
    "selenium-mcp": {
      "command": "npx",
      "args": ["-y", "selenium-webdriver-mcp@latest"]
    }
  }
}

スクリーンショット

Selenium + Claude

プロンプト

AI エージェントとのやり取りを開始するプロンプトの例です。

Using selenium mcp tools, navigate to <https://parabank.parasoft.com/> click the 'Register' link and signup using dynamic test data and click register. Then generate selenium tests in <YOUR_FAVOURITE_PROGRAMMING_LANGUAGE> using pom, create tests using cucumber features, steps and execute the tests.

注:その他のプロンプトについては、プロジェクトの examples ディレクトリをご覧ください。

🛠️ MCP で利用可能なツール

ブラウザー管理ツール
ツール説明パラメーター
browser_open新しいブラウザーセッションを開きますbrowser, options
browser_navigateURL に移動しますurl
browser_navigate_back履歴を戻りますなし
browser_navigate_forward履歴を進みますなし
browser_title現在のページタイトルを取得しますなし
browser_refresh現在のページを再読み込みしますなし
browser_get_url現在のページ URL を取得しますなし
browser_get_page_source現在のページの HTML ソースを取得しますなし
browser_maximizeブラウザーウィンドウを最大化しますなし
browser_resizeブラウザーウィンドウのサイズを変更しますwidth, height
browser_close現在のブラウザーセッションを閉じますなし
Cookie 管理ツール
ツール説明パラメーター
browser_get_cookies現在のブラウザーセッションからすべての Cookie を取得しますなし
browser_get_cookie_by_name名前を指定して Cookie を取得しますcookie(Cookie 名)
browser_add_cookie_by_name新しい Cookie をブラウザーに追加しますcookie(Cookie 名)、value
browser_set_cookie_objectCookie オブジェクトをブラウザーに設定しますcookie(文字列形式の Cookie オブジェクト)
browser_delete_cookie名前を指定して Cookie を削除しますvalue(削除する Cookie 名)
browser_delete_cookies現在のブラウザーセッションからすべての Cookie を削除しますなし
ウィンドウ管理ツール
ツール説明パラメーター
browser_switch_to_windowハンドルを指定して別のブラウザーウィンドウに切り替えますwindowHandle
browser_switch_to_original_window元のブラウザーウィンドウに戻りますなし
browser_switch_to_window_by_titleページタイトルを指定してウィンドウに切り替えますtitle
browser_switch_window_by_indexインデックス位置を指定してウィンドウに切り替えますindex
browser_switch_to_window_by_urlURL を指定してウィンドウに切り替えますurl
要素操作ツール
ツール説明パラメーター
browser_find_elementページ上の要素を検索しますby, value, timeout
browser_find_elementsページ上の複数の要素を検索しますby, value, timeout
browser_click要素をクリックしますby, value, timeout
browser_type要素にテキストを入力しますby, value, text, timeout
browser_get_element_text要素のテキスト内容を取得しますby, value, timeout
browser_file_upload入力要素からファイルをアップロードしますby, value, filePath, timeout
browser_clear要素のテキストを消去しますby, value, timeout
browser_get_attribute要素の属性値を取得しますby, value, attribute, timeout
要素状態の検証ツール
ツール説明パラメーター
browser_element_is_displayed要素がページに表示されているか確認しますby, value, timeout
browser_element_is_enabled要素が操作可能な状態か確認しますby, value, timeout
browser_element_is_selected要素が選択されているか確認します(チェックボックス、ラジオボタン)by, value, timeout
フレーム管理ツール
ツール説明パラメーター
browser_switch_to_frameiframe 要素に切り替えますby, value, timeout
browser_switch_to_parent_frame親フレームに切り替えます(ネストされた iframe から)なし
browser_switch_to_default_contentメインページのコンテンツに戻りますなし
高度な操作ツール
ツール説明パラメーター
browser_hover要素にカーソルを合わせますby, value, timeout
browser_double_click要素をダブルクリックしますby, value, timeout
browser_right_click右クリックします(コンテキストメニュー)by, value, timeout
browser_drag_and_dropドラッグ元からドラッグ先へ移動しますby, value, targetBy, targetValue, timeout
browser_wait_for_element要素が表示されるまで待機しますby, value, timeout
browser_execute_scriptJavaScript コードを実行しますscript, args
browser_screenshotスクリーンショットを撮影しますfilename(任意)
browser_select_dropdown_by_text表示テキストでドロップダウンの選択肢を選択しますby, value, text, timeout
browser_select_dropdown_by_value値でドロップダウンの選択肢を選択しますby, value, dropdownValue, timeout
browser_key_pressブラウザーでキーを押しますkey, timeout
スクロールツール
ツール説明パラメーター
browser_scroll_to_element要素が表示される位置までスクロールしますby, value, timeout
browser_scroll_to_topページの先頭までスクロールしますなし
browser_scroll_to_bottomページの末尾までスクロールしますなし
browser_scroll_to_coordinates指定した座標までスクロールしますx, y
browser_scroll_by_pixels指定したピクセル数だけスクロールしますx, y
フォーム操作ツール
ツール説明パラメーター
browser_select_checkboxチェックボックスを選択/チェックしますby, value, timeout
browser_unselect_checkboxチェックボックスの選択を解除しますby, value, timeout
browser_submit_formフォーム要素を送信しますby, value, timeout
browser_focus_element特定の要素にフォーカスしますby, value, timeout
browser_blur_element特定の要素からフォーカスを外しますby, value, timeout
要素の検索方法
  • id:要素 ID で検索します
  • css:CSS セレクターで検索します
  • xpath:XPath 式で検索します
  • name:name 属性で検索します
  • tag:HTML タグ名で検索します
  • class:CSS クラス名で検索します

📋 要件

  • Node.js:バージョン 18.0.0 以上
  • ブラウザー:Chrome、Firefox、Safari、または Edge がインストールされていること
  • WebDrivers:selenium-webdriver によって自動的に管理されます
  • オペレーティングシステム:Windows、macOS、または Linux

🚦 開発

はじめに
リポジトリをクローンする
git clone https://github.com/pshivapr/selenium-mcp.git
cd selenium-mcp
依存関係をインストールする
npm install
プロジェクトをビルドする
npm run build
サーバーの実行
本番モード
npm start
開発モード(自動リロードあり)
npm run dev
直接実行
node dist/index.js
CLI ツールとして使用する

ビルド後、サーバーをグローバルコマンドとして使用できます。

npx selenium-webdriver-mcp@latest

📝 ライセンス

MIT ライセンスの詳細については、LICENSE ファイルを参照してください。

🤝 貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

  1. リポジトリをフォークします
  2. フィーチャーブランチを作成します(git checkout -b feature/AmazingFeature)
  3. 変更をコミットします(git commit -m 'Add some AmazingFeature')
  4. ブランチにプッシュします(git push origin feature/AmazingFeature)
  5. プルリクエストを作成します

バッジ/掲載情報

MCP Market

Pulse

MCP Badge


Model Context Protocol エコシステムのために ❤️ を込めて構築

コメント

MCP は初めてですか?

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

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