Puppeteer MCP Server
Puppeteer MCP サーバー
この MCP サーバーは、Puppeteer を通じてブラウザ自動化機能を提供し、新しいブラウザ インスタンスと既存の Chrome ウィンドウの両方との対話を可能にします。
了承
このプロジェクトは、@modelcontextprotocol/server-puppeteerに触発された実験的な実装です。同様の目標とコンセプトを共有しながらも、モデルコンテキストプロトコルを介したブラウザ自動化への代替アプローチを模索しています。
Related MCP server: Steel Puppeteer
特徴
ウェブページをナビゲートする
スクリーンショットを撮る
要素をクリック
フォームに記入する
オプションを選択
ホバー要素
JavaScriptを実行する
スマートな Chrome タブ管理:
アクティブなChromeタブに接続する
既存の Chrome インスタンスを保持する
インテリジェントな接続処理
プロジェクト構造
/
├── src/
│ ├── config/ # Configuration modules
│ ├── tools/ # Tool definitions and handlers
│ ├── browser/ # Browser connection management
│ ├── types/ # TypeScript type definitions
│ ├── resources/ # Resource handlers
│ └── server.ts # Server initialization
├── index.ts # Entry point
└── README.md # Documentationインストール
オプション1: npmからインストールする
npm install -g puppeteer-mcp-servernpx を使用すると、インストールせずに直接実行することもできます。
npx puppeteer-mcp-serverオプション2: ソースからインストールする
このリポジトリをクローンするか、ソースコードをダウンロードしてください
依存関係をインストールします:
npm installプロジェクトをビルドします。
npm run buildサーバーを実行します。
npm startMCP サーバーの構成
このツールを Claude で使用するには、MCP 設定構成ファイルに追加する必要があります。
Claudeデスクトップアプリ用
Claude Desktop 構成ファイル (Windows の場合は%APPDATA%\Claude\claude_desktop_config.json 、macOS の場合は~/Library/Application Support/Claude/claude_desktop_config.json ) に次のコードを追加します。
npm 経由でグローバルにインストールした場合:
{
"mcpServers": {
"puppeteer": {
"command": "puppeteer-mcp-server",
"args": [],
"env": {}
}
}
}npx を使用する (インストールなし):
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "puppeteer-mcp-server"],
"env": {}
}
}
}ソースからインストールした場合:
{
"mcpServers": {
"puppeteer": {
"command": "node",
"args": ["path/to/puppeteer-mcp-server/dist/index.js"],
"env": {
"NODE_OPTIONS": "--experimental-modules"
}
}
}
}Claude VSCode拡張機能
Claude VSCode 拡張機能 MCP 設定ファイル (Windows の場合は%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json macOS の場合は~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json ) に次の内容を追加します。
npm 経由でグローバルにインストールした場合:
{
"mcpServers": {
"puppeteer": {
"command": "puppeteer-mcp-server",
"args": [],
"env": {}
}
}
}npx を使用する (インストールなし):
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "puppeteer-mcp-server"],
"env": {}
}
}
}ソースからインストールした場合:
{
"mcpServers": {
"puppeteer": {
"command": "node",
"args": ["path/to/puppeteer-mcp-server/dist/index.js"],
"env": {
"NODE_OPTIONS": "--experimental-modules"
}
}
}
}ソースインストールの場合は、 path/to/puppeteer-mcp-serverこのツールをインストールした実際のパスに置き換えます。
使用法
標準モード
デフォルトでは、サーバーは新しいブラウザ インスタンスを起動します。
アクティブタブモード
既存の Chrome ウィンドウに接続するには:
既存のChromeインスタンスを完全に閉じます
リモート デバッグを有効にして Chrome を起動します。
# Windows "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 # macOS /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 # Linux google-chrome --remote-debugging-port=9222Chromeで目的のウェブページに移動します
puppeteer_connect_active_tabツールを使用して接続します。{ "targetUrl": "https://example.com", // Optional: specific tab URL "debugPort": 9222 // Optional: defaults to 9222 }
サーバーは次のことを行います。
リモートデバッグが有効になっているChromeインスタンスを検出して接続します
Chrome インスタンスを保存します(閉じません)
拡張機能以外のタブを見つけて接続する
接続に失敗した場合は明確なエラーメッセージを表示する
利用可能なツール
操り人形師_connect_active_tab
リモート デバッグが有効になっている既存の Chrome インスタンスに接続します。
オプション:
targetUrl- 接続する特定のタブのURLdebugPort- Chrome デバッグ ポート (デフォルト: 9222)
操り人形師ナビゲート
URL に移動します。
必須:
url- 移動先のURL
操り人形師のスクリーンショット
現在のページまたは特定の要素のスクリーンショットを撮ります。
必須:
name- スクリーンショットの名前オプション:
selector- スクリーンショットを撮る要素の CSS セレクターwidth- ピクセル単位の幅(デフォルト: 800)height- ピクセル単位の高さ(デフォルト: 600)
操り人形師クリック
ページ上の要素をクリックします。
必須:
selector- クリックする要素の CSS セレクター
操り人形師の塗りつぶし
入力フィールドに入力します。
必須:
selector- 入力フィールドの CSS セレクターvalue- 入力するテキスト
操り人形師の選択
ドロップダウンメニューを使用します。
必須:
selector- 選択要素の CSS セレクターvalue- 選択するオプション値
操り人形師_hover
要素の上にマウスを置きます。
必須:
selector- 要素をホバーするための CSS セレクター
操り人形師の評価
ブラウザコンソールで JavaScript を実行します。
必須:
script- 実行するJavaScriptコード
セキュリティに関する考慮事項
リモート デバッグを使用する場合:
信頼できるネットワークでのみ有効にする
固有のデバッグポートを使用する
使用していないときはデバッグポートを閉じる
デバッグポートをパブリックネットワークに公開しないでください
ログ記録とデバッグ
ファイルベースのログ記録
サーバーは Winston を使用して包括的なログ記録を実装します。
場所:
logs/ディレクトリファイルパターン:
mcp-puppeteer-YYYY-MM-DD.logログローテーション:
毎日のローテーション
最大サイズ: ファイルあたり20MB
保存期間: 14日間
古いログの自動圧縮
ログレベル
DEBUG: 詳細なデバッグ情報
情報: 一般的な運用情報
警告: 警告メッセージ
エラー: エラーイベントと例外
記録された情報
サーバーの起動/シャットダウンイベント
ブラウザ操作(起動、接続、閉じる)
ナビゲーションの試みと結果
ツールの実行と結果
スタックトレースを含むエラーの詳細
ブラウザコンソール出力
リソース使用量(スクリーンショット、コンソールログ)
エラー処理
サーバーは、次の詳細なエラー メッセージを提供します。
接続失敗
欠けている要素
無効なセレクタ
JavaScript実行エラー
スクリーンショットの失敗
各ツール呼び出しは次を返します:
成功/失敗ステータス
失敗した場合の詳細なエラーメッセージ
成功した場合の操作結果データ
すべてのエラーは、次のログ ファイルにも記録されます。
タイムスタンプ
エラーメッセージ
スタック トレース (利用可能な場合)
コンテキスト情報
貢献
貢献を歓迎します!プルリクエストの送信方法、問題の報告方法、プロジェクトへの貢献方法の詳細については、貢献ガイドラインをお読みください。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/merajmehrabi/puppeteer-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server