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