Configurable Puppeteer MCP Server について
Configurable Puppeteer MCP Serverは、PuppeteerでLLMから実ブラウザーを操作できるMCPサーバーです。ページ操作やスクリーンショット、コンソールログ取得に加え、環境変数で起動オプションを設定できます。
主な機能
- 01URLへの移動
- 02ページや要素のスクリーンショット
- 03要素のクリック、ホバー、入力、選択
- 04ブラウザー内でのJavaScript実行
- 05ブラウザーコンソールログの取得
- 06Puppeteer起動オプションの設定
活用シーン
- 01ブラウザー操作によるページ確認
- 02ページや要素の画像取得
- 03フォームやページコントロールの操作
- 04ブラウザー起動動作の調整
MCP 対応
MCPクライアントにPuppeteerのブラウザー操作ツールと、コンソールログおよびスクリーンショットのリソースを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
設定可能な Puppeteer MCP サーバー
Puppeteer を使用したブラウザー自動化機能を、設定可能なオプションとともに提供する Model Context Protocol サーバーです。このサーバーを使用すると、LLM は実際のブラウザー環境でウェブページを操作し、スクリーンショットを撮影して、JavaScript を実行できます。また、環境変数を使って Puppeteer の起動オプションをカスタマイズできます。
コンポーネント
ツール
-
puppeteer_navigate
- ブラウザーで任意の URL に移動します
- 入力:
url(文字列)
-
puppeteer_screenshot
- ページ全体または特定の要素のスクリーンショットを撮影します
- 入力:
name(文字列、必須):スクリーンショットの名前selector(文字列、任意):スクリーンショットを撮影する要素の CSS セレクターwidth(数値、任意、デフォルト:800):スクリーンショットの幅height(数値、任意、デフォルト:600):スクリーンショットの高さ
-
puppeteer_click
- ページ上の要素をクリックします
- 入力:
selector(文字列):クリックする要素の CSS セレクター
-
puppeteer_hover
- ページ上の要素にカーソルを合わせます
- 入力:
selector(文字列):カーソルを合わせる要素の CSS セレクター
-
puppeteer_fill
- 入力フィールドに値を入力します
- 入力:
selector(文字列):入力フィールドの CSS セレクターvalue(文字列):入力する値
-
puppeteer_select
- SELECT タグの要素を選択します
- 入力:
selector(文字列):選択する要素の CSS セレクターvalue(文字列):選択する値
-
puppeteer_evaluate
- ブラウザーのコンソールで JavaScript を実行します
- 入力:
script(文字列):実行する JavaScript コード
リソース
サーバーは、次の 2 種類のリソースへのアクセスを提供します。
-
コンソールログ(
console://logs)- ブラウザーのコンソール出力をテキスト形式で提供します
- ブラウザーからのすべてのコンソールメッセージが含まれます
-
スクリーンショット(
screenshot://<name>)- 撮影したスクリーンショットの PNG 画像です
- 撮影時に指定したスクリーンショット名でアクセスできます
主な機能
- ブラウザー自動化
- コンソールログの監視
- スクリーンショット機能
- JavaScript の実行
- 基本的なウェブ操作(移動、クリック、フォーム入力)
- 環境変数による Puppeteer オプションの設定
設定
カスタム Puppeteer オプションを使用する
PUPPETEER_ARGS 環境変数に JSON 文字列を指定すると、Puppeteer の起動オプションを設定できます。これにより、サーバーコードを変更せずにブラウザーの動作をカスタマイズできます。
例:Chrome の代わりに Firefox を使用する
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "github:afshawnlotfi/mcp-configurable-puppeteer"],
"env": {
"PUPPETEER_ARGS": "{\"browser\": \"firefox\"}"
}
}
}
}
例:ブラウザーウィンドウのサイズを設定する
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "github:afshawnlotfi/mcp-configurable-puppeteer"],
"env": {
"PUPPETEER_ARGS": "{\"defaultViewport\": {\"width\": 1280, \"height\": 800}}"
}
}
}
}
標準設定
NPX
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "github:afshawnlotfi/mcp-configurable-puppeteer"]
}
}
}
ブランチ、タグ、またはコミットを指定することもできます。
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "github:afshawnlotfi/mcp-configurable-puppeteer#main"]
}
}
}
ライセンス
この MCP サーバーは MIT License の下でライセンスされています。つまり、MIT License の利用規約に従うことを条件として、このソフトウェアを自由に使用、変更、配布できます。詳細については、プロジェクトリポジトリ内の LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。