Skip to main content
Glama

MCP セレンサーバー

鍛冶屋のバッジ

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

特徴

  • カスタマイズ可能なオプションでブラウザセッションを開始する

  • URLに移動する

  • さまざまなロケーター戦略を使用して要素を検索する

  • クリック、入力、要素の操作

  • マウス操作を実行する(ホバー、ドラッグ&ドロップ)

  • キーボード入力を処理する

  • スクリーンショットを撮る

  • ファイルをアップロードする

  • ヘッドレスモードのサポート

Related MCP server: MCP Servers with Pyppeteer

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

  • クロム

  • ファイアフォックス

グースと一緒に使う

オプション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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/angiejones/mcp-selenium'

If you have feedback or need assistance with the MCP directory API, please join our Discord server