MCP Selenium

by angiejones
Verified

local-only server

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

Integrations

  • Supports launching and controlling Firefox browser sessions with customizable options through Selenium WebDriver.

  • Allows AI agents to control web browsers through the Selenium WebDriver. Supports starting browser sessions, navigating to URLs, finding elements, clicking, typing, and performing various mouse and keyboard actions.

MCP セレンサーバー

Selenium WebDriver 用のモデルコンテキストプロトコル (MCP) サーバー実装。標準化された MCP クライアントを通じてブラウザの自動化を可能にします。

特徴

  • カスタマイズ可能なオプションでブラウザセッションを開始する
  • URLに移動する
  • さまざまなロケーター戦略を使用して要素を検索する
  • クリック、入力、要素の操作
  • マウス操作を実行する(ホバー、ドラッグ&ドロップ)
  • キーボード入力を処理する
  • スクリーンショットを撮る
  • ファイルをアップロードする
  • ヘッドレスモードのサポート

サポートされているブラウザ

  • クロム
  • ファイアフォックス

グースと一緒に使う

オプション1: ワンクリックインストール

この拡張機能を Goose Desktop に追加するには、以下のリンクをコピーしてブラウザのアドレス バーに貼り付けます。

goose://extension?cmd=npx&arg=-y&arg=%40angiejones%2Fmcp-selenium&id=selenium-mcp&name=Selenium%20MCP&description=automates%20browser%20interactions

オプション2: デスクトップまたはCLIに手動で追加する

  • 名前: Selenium MCP
  • 説明: automates browser interactions
  • コマンド: npx -y @angiejones/mcp-selenium

他の MCP クライアント (例: Claude Desktop など) と併用する

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

発達

このプロジェクトに取り組むには:

  1. リポジトリをクローンする
  2. 依存関係をインストール: npm install
  3. サーバーを実行します: npm start

インストール

Smithery経由でインストール

Smithery経由で Claude Desktop 用の MCP Selenium を自動的にインストールするには:

npx -y @smithery/cli install @angiejones/mcp-selenium --client claude

手動インストール

npm install -g @angiejones/mcp-selenium

使用法

次のコマンドを実行してサーバーを起動します。

mcp-selenium

または、MCP 構成で NPX を使用します。

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

ツール

ブラウザを起動する

ブラウザ セッションを起動します。

パラメータ:

  • browser (必須): 起動するブラウザ
    • タイプ: 文字列
    • 列挙型: ["chrome", "firefox"]
  • options : ブラウザの設定オプション
    • タイプ: オブジェクト
    • プロパティ:
      • headless : ブラウザをヘッドレスモードで実行する
        • 型: ブール値
      • arguments : 追加のブラウザ引数
        • タイプ: 文字列の配列

例:

{ "tool": "start_browser", "parameters": { "browser": "chrome", "options": { "headless": true, "arguments": ["--no-sandbox"] } } }

ナビゲート

URL に移動します。

パラメータ:

  • url (必須): 移動先のURL
    • タイプ: 文字列

例:

{ "tool": "navigate", "parameters": { "url": "https://www.example.com" } }

要素を見つける

ページ上の要素を検索します。

パラメータ:

  • by (必須): ロケーター戦略
    • タイプ: 文字列
    • 列挙型: ["id", "css", "xpath", "name", "tag", "class"]
  • value (必須): ロケータ戦略の値
    • タイプ: 文字列
  • timeout : 要素を待機する最大時間(ミリ秒)
    • タイプ: 数値
    • デフォルト: 10000

例:

{ "tool": "find_element", "parameters": { "by": "id", "value": "search-input", "timeout": 5000 } }

クリック要素

要素をクリックします。

パラメータ:

  • by (必須): ロケーター戦略
    • タイプ: 文字列
    • 列挙型: ["id", "css", "xpath", "name", "tag", "class"]
  • value (必須): ロケータ戦略の値
    • タイプ: 文字列
  • timeout : 要素を待機する最大時間(ミリ秒)
    • タイプ: 数値
    • デフォルト: 10000

例:

{ "tool": "click_element", "parameters": { "by": "css", "value": ".submit-button" } }

送信キー

要素にキーを送信します (入力)。

パラメータ:

  • by (必須): ロケーター戦略
    • タイプ: 文字列
    • 列挙型: ["id", "css", "xpath", "name", "tag", "class"]
  • value (必須): ロケータ戦略の値
    • タイプ: 文字列
  • text (必須): 要素に入力するテキスト
    • タイプ: 文字列
  • timeout : 要素を待機する最大時間(ミリ秒)
    • タイプ: 数値
    • デフォルト: 10000

例:

{ "tool": "send_keys", "parameters": { "by": "name", "value": "username", "text": "testuser" } }

要素テキストを取得する

要素の text() を取得します。

パラメータ:

  • by (必須): ロケーター戦略
    • タイプ: 文字列
    • 列挙型: ["id", "css", "xpath", "name", "tag", "class"]
  • value (必須): ロケータ戦略の値
    • タイプ: 文字列
  • timeout : 要素を待機する最大時間(ミリ秒)
    • タイプ: 数値
    • デフォルト: 10000

例:

{ "tool": "get_element_text", "parameters": { "by": "css", "value": ".message" } }

ホバー

マウスを移動して要素の上に置きます。

パラメータ:

  • by (必須): ロケーター戦略
    • タイプ: 文字列
    • 列挙型: ["id", "css", "xpath", "name", "tag", "class"]
  • value (必須): ロケータ戦略の値
    • タイプ: 文字列
  • timeout : 要素を待機する最大時間(ミリ秒)
    • タイプ: 数値
    • デフォルト: 10000

例:

{ "tool": "hover", "parameters": { "by": "css", "value": ".dropdown-menu" } }

ドラッグアンドドロップ

要素をドラッグして別の要素にドロップします。

パラメータ:

  • by (必須): ソース要素のロケータ戦略
    • タイプ: 文字列
    • 列挙型: ["id", "css", "xpath", "name", "tag", "class"]
  • value (必須): ソースロケータ戦略の値
    • タイプ: 文字列
  • targetBy (必須): ターゲット要素のロケータ戦略
    • タイプ: 文字列
    • 列挙型: ["id", "css", "xpath", "name", "tag", "class"]
  • targetValue (必須): ターゲットロケータ戦略の値
    • タイプ: 文字列
  • timeout : 要素を待機する最大時間(ミリ秒)
    • タイプ: 数値
    • デフォルト: 10000

例:

{ "tool": "drag_and_drop", "parameters": { "by": "id", "value": "draggable", "targetBy": "id", "targetValue": "droppable" } }

ダブルクリック

要素をダブルクリックします。

パラメータ:

  • by (必須): ロケーター戦略
    • タイプ: 文字列
    • 列挙型: ["id", "css", "xpath", "name", "tag", "class"]
  • value (必須): ロケータ戦略の値
    • タイプ: 文字列
  • timeout : 要素を待機する最大時間(ミリ秒)
    • タイプ: 数値
    • デフォルト: 10000

例:

{ "tool": "double_click", "parameters": { "by": "css", "value": ".editable-text" } }

右クリック

要素上で右クリック (コンテキスト クリック) を実行します。

パラメータ:

  • by (必須): ロケーター戦略
    • タイプ: 文字列
    • 列挙型: ["id", "css", "xpath", "name", "tag", "class"]
  • value (必須): ロケータ戦略の値
    • タイプ: 文字列
  • timeout : 要素を待機する最大時間(ミリ秒)
    • タイプ: 数値
    • デフォルト: 10000

例:

{ "tool": "right_click", "parameters": { "by": "css", "value": ".context-menu-trigger" } }

キーを押す

キーボードのキーを押す動作をシミュレートします。

パラメータ:

  • key (必須): 押すキー (例: 'Enter'、'Tab'、'a' など)
    • タイプ: 文字列

例:

{ "tool": "press_key", "parameters": { "key": "Enter" } }

アップロードファイル

ファイル入力要素を使用してファイルをアップロードします。

パラメータ:

  • by (必須): ロケーター戦略
    • タイプ: 文字列
    • 列挙型: ["id", "css", "xpath", "name", "tag", "class"]
  • value (必須): ロケータ戦略の値
    • タイプ: 文字列
  • filePath (必須): アップロードするファイルへの絶対パス
    • タイプ: 文字列
  • timeout : 要素を待機する最大時間(ミリ秒)
    • タイプ: 数値
    • デフォルト: 10000

例:

{ "tool": "upload_file", "parameters": { "by": "id", "value": "file-input", "filePath": "/path/to/file.pdf" } }

スクリーンショット

現在のページのスクリーンショットをキャプチャします。

パラメータ:

  • outputPath (オプション): スクリーンショットを保存するパス。指定されていない場合は、base64データを返します。
    • タイプ: 文字列

例:

{ "tool": "take_screenshot", "parameters": { "outputPath": "/path/to/screenshot.png" } }

セッションを閉じる

現在のブラウザ セッションを閉じて、リソースをクリーンアップします。

**パラメータ:**不要

例:

{ "tool": "close_session", "parameters": {} }

ライセンス

マサチューセッツ工科大学

-
security - not tested
A
license - permissive license
-
quality - not tested

MCP を介して Selenium WebDriver を使用してブラウザーの自動化を可能にし、ブラウザー管理、要素の場所、および基本的および高度なユーザー操作をサポートします。

  1. Features
    1. Supported Browsers
      1. Use with Goose
        1. Option 1: One-click install
        2. Option 2: Add manually to desktop or CLI
      2. Use with other MCP clients (e.g. Claude Desktop, etc)
        1. Development
          1. Installation
          2. Usage
        2. Tools
          1. start_browser
          2. navigate
          3. find_element
          4. click_element
          5. send_keys
          6. get_element_text
          7. hover
          8. drag_and_drop
          9. double_click
          10. right_click
          11. press_key
          12. upload_file
          13. take_screenshot
          14. close_session
        3. License
          ID: s2em7b2kwf