MCP Browser Automation Server について
MCP Browser Automation Serverは、HTTP APIでブラウザーセッションを操作し、ページ移動、スクリーンショット、クリック、フォーム入力を行います。コンソールログのリアルタイム監視を伴う自動化にも利用できます。
主な機能
- 01ブラウザーセッションの作成と終了
- 02URLへの移動
- 03ページ全体または要素の撮影
- 04要素のクリックと入力欄への記入
- 05WebSocketによるログ配信
活用シーン
- 01ブラウザー移動とフォーム入力の自動化
- 02ページ全体または要素の撮影
- 03セッション中のコンソール出力監視
MCP 対応
プロジェクト名はMCPサーバーを示していますが、READMEにはREST APIとWebSocketによるブラウザー操作が記載され、MCPツールや通信方式の説明はありません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
インストール方法は未掲載です
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP ブラウザー自動化サーバー
REST API を通じてブラウザーを操作し、スクリーンショットを撮影し、コンソールログを監視できる、シンプルながら強力なブラウザー自動化サーバーです。
機能
- ブラウザーセッションを作成する
- URL に移動する
- スクリーンショットを撮影する(ページ全体または特定の要素)
- 要素をクリックする
- フォーム入力欄に入力する
- WebSocket を通じてコンソールログをリアルタイムで監視する
- セッションを終了する
インストール
- このリポジトリをクローンします:
git clone https://github.com/weir1/mcp-browser-automation.git
cd mcp-browser-automation
- 仮想環境を作成して有効化します:
python -m venv venv
.\venv\Scripts\Activate
- 依存関係をインストールします:
pip install -r requirements.txt
- Playwright のブラウザーをインストールします:
playwright install
使用方法
- サーバーを起動します:
python server.py
サーバーは http://localhost:8000 で起動します。
API エンドポイント
新しいセッションを作成する
POST /session/create
Response: { "session_id": "..." }
URL に移動する
POST /session/{session_id}/navigate?url=https://example.com
スクリーンショットを撮影する
POST /session/{session_id}/screenshot?name=screenshot1&selector=.my-element
セレクターが指定されていない場合は、ページ全体のスクリーンショットを撮影します。
要素をクリックする
POST /session/{session_id}/click?selector=.my-button
入力欄に入力する
POST /session/{session_id}/fill?selector=input[name="username"]&value=myuser
コンソールログを監視する
WebSocket /session/{session_id}/console
セッションを終了する
POST /session/{session_id}/close
Python での使用例
import requests
import websockets
import asyncio
import json
# Create a session
response = requests.post("http://localhost:8000/session/create")
session_id = response.json()["session_id"]
# Navigate to a URL
requests.post(f"http://localhost:8000/session/{session_id}/navigate?url=https://example.com")
# Take a screenshot
response = requests.post(f"http://localhost:8000/session/{session_id}/screenshot?name=example")
with open("screenshot.png", "wb") as f:
f.write(response.content)
# Monitor console logs
async def monitor_console():
async with websockets.connect(f"ws://localhost:8000/session/{session_id}/console") as ws:
while True:
message = await ws.recv()
print(json.loads(message))
asyncio.get_event_loop().run_until_complete(monitor_console())
ライセンス
MIT
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。