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"]
}
}
}発達
このプロジェクトに取り組むには:
リポジトリをクローンする
依存関係をインストール:
npm installサーバーを実行します:
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": {}
}ライセンス
マサチューセッツ工科大学