MCP Webブラウザサーバー
Playwright を搭載した Model Context Protocol (MCP) 用の高度な Web ブラウジング サーバーで、柔軟で安全な API を通じてヘッドレス ブラウザー インタラクションが可能になります。
🌐 特徴
ヘッドレスWebブラウジング:SSL証明書の検証をバイパスして任意のWebサイトに移動する
フルページコンテンツ抽出: 動的に読み込まれたJavaScriptを含む完全なHTMLコンテンツを取得します。
マルチタブサポート: 複数のブラウザタブを作成、管理、切り替え
高度なWebインタラクションツール:
テキストコンテンツを抽出する
ページ要素をクリック
フォームフィールドにテキストを入力する
スクリーンショットをキャプチャする
フィルタリング機能を使用してページリンクを抽出します
ページを任意の方向にスクロールします
ページでJavaScriptを実行する
ページを更新
ナビゲーションが完了するまでお待ちください
リソース管理: 非アクティブ後の未使用リソースの自動クリーンアップ
拡張ページ情報: 現在のページに関する詳細なメタデータを取得します
🚀 クイックスタート
前提条件
Python 3.10以上
MCP SDK
劇作家
インストール
Claudeデスクトップの設定
claude_desktop_config.json
に追加します:
💡 使用例
基本的なウェブナビゲーション
ウェブインタラクション
スクリーンショットキャプチャ
リンク抽出
マルチタブブラウジング
高度なインタラクション
🛡️ セキュリティ機能
SSL証明書検証バイパス
安全なブラウザコンテキスト管理
カスタムユーザーエージェント構成
エラー処理と包括的なログ記録
設定可能なタイムアウト設定
CSPバイパス制御
クッキー盗難防止
🔧 トラブルシューティング
よくある問題
SSL証明書エラー: 自動的にバイパスされます
ページの読み込みが遅い:
browse_to()
メソッドのタイムアウトを調整する要素が見つかりません: セレクターを慎重に確認してください
ブラウザのリソース使用状況: 非アクティブ期間後の自動クリーンアップ
ログ記録
すべての重要なイベントは詳細な情報とともに記録され、デバッグが容易になります。
📋 ツールパラメータ
browse_to(url: str, context: Optional[Any] = None)
url
: 移動するウェブサイトcontext
: オプションのコンテキストオブジェクト(現在は未使用)
extract_text_content(selector: Optional[str] = None, context: Optional[Any] = None)
selector
: 特定のコンテンツを抽出するためのオプションのCSSセレクターcontext
: オプションのコンテキストオブジェクト(現在は未使用)
click_element(selector: str, context: Optional[Any] = None)
selector
: クリックする要素のCSSセレクターcontext
: オプションのコンテキストオブジェクト(現在は未使用)
get_page_screenshots(full_page: bool = False, selector: Optional[str] = None, context: Optional[Any] = None)
full_page
: ページ全体のスクリーンショットをキャプチャするselector
: スクリーンショットのオプション要素context
: オプションのコンテキストオブジェクト(現在は未使用)
get_page_links(filter_pattern: Optional[str] = None, context: Optional[Any] = None)
filter_pattern
: リンクをフィルタリングするためのオプションのテキストパターンcontext
: オプションのコンテキストオブジェクト(現在は未使用)
input_text(selector: str, text: str, context: Optional[Any] = None)
selector
: 入力要素のCSSセレクターtext
: 入力するテキストcontext
: オプションのコンテキストオブジェクト(現在は未使用)
create_new_tab(url: Optional[str] = None, context: Optional[Any] = None)
url
: 新しいタブで移動するオプションのURLcontext
: オプションのコンテキストオブジェクト(現在は未使用)
switch_tab(tab_id: str, context: Optional[Any] = None)
tab_id
: 切り替えるタブのIDcontext
: オプションのコンテキストオブジェクト(現在は未使用)
list_tabs(context: Optional[Any] = None)
context
: オプションのコンテキストオブジェクト(現在は未使用)
close_tab(tab_id: Optional[str] = None, context: Optional[Any] = None)
tab_id
: 閉じるタブのオプションID(デフォルトは現在のタブ)context
: オプションのコンテキストオブジェクト(現在は未使用)
refresh_page(context: Optional[Any] = None)
context
: オプションのコンテキストオブジェクト(現在は未使用)
get_page_info(context: Optional[Any] = None)
context
: オプションのコンテキストオブジェクト(現在は未使用)
scroll_page(direction: str = "down", amount: str = "page", context: Optional[Any] = None)
direction
: スクロールする方向('up'、'down'、'left'、'right')amount
: スクロールする量(「page」、「half」、または数値)context
: オプションのコンテキストオブジェクト(現在は未使用)
wait_for_navigation(timeout_ms: int = 10000, context: Optional[Any] = None)
timeout_ms
: 最大待機時間(ミリ秒)context
: オプションのコンテキストオブジェクト(現在は未使用)
execute_javascript(script: str, context: Optional[Any] = None)
script
: 実行するJavaScriptコードcontext
: オプションのコンテキストオブジェクト(現在は未使用)
🤝 貢献する
貢献を歓迎します!お気軽にプルリクエストを送信してください。
開発セットアップ
📄 ライセンス
MITライセンス
🔗 関連プロジェクト
💬 サポート
問題や質問については、GitHub で問題を開いてください。
local-only server
The server can only run on the client's local machine because it depends on local resources.
安全な API を介してヘッドレス ブラウザー インタラクションを可能にする高度な Web ブラウジング サーバーで、ナビゲーション、コンテンツの抽出、要素のインタラクション、スクリーンショットのキャプチャなどの機能を提供します。
- 🌐 特徴
- 🚀 クイックスタート
- 💡 使用例
- 🛡️ セキュリティ機能
- 🔧 トラブルシューティング
- 📋 ツールパラメータ
- browse_to(url: str, context: Optional[Any] = None)
- extract_text_content(selector: Optional[str] = None, context: Optional[Any] = None)
- click_element(selector: str, context: Optional[Any] = None)
- get_page_screenshots(full_page: bool = False, selector: Optional[str] = None, context: Optional[Any] = None)
- get_page_links(filter_pattern: Optional[str] = None, context: Optional[Any] = None)
- input_text(selector: str, text: str, context: Optional[Any] = None)
- create_new_tab(url: Optional[str] = None, context: Optional[Any] = None)
- switch_tab(tab_id: str, context: Optional[Any] = None)
- list_tabs(context: Optional[Any] = None)
- close_tab(tab_id: Optional[str] = None, context: Optional[Any] = None)
- refresh_page(context: Optional[Any] = None)
- get_page_info(context: Optional[Any] = None)
- scroll_page(direction: str = "down", amount: str = "page", context: Optional[Any] = None)
- wait_for_navigation(timeout_ms: int = 10000, context: Optional[Any] = None)
- execute_javascript(script: str, context: Optional[Any] = None)
- 🤝 貢献する
- 📄 ライセンス
- 🔗 関連プロジェクト
- 💬 サポート
Related Resources
Related MCP Servers
- AsecurityFlicenseAqualityEnables AI agents to interact with web browsers using natural language, featuring automated browsing, form filling, vision-based element detection, and structured JSON responses for systematic browser control.Last updated -55
- -securityAlicense-qualityEnables browser automation and real-time computer vision tasks through AI-driven commands, offering zero-cost digital navigation and interaction for enhanced web experiences.
- AsecurityAlicenseAqualityA headless browser MCP server that allows AI agents to fetch web content and perform Google searches without API keys, supporting various output formats like Markdown, JSON, HTML, and text.Last updated -217MIT License
- AsecurityAlicenseAqualityA headless server that enables reading and sending Gmail emails through API calls without requiring local credentials or browser access, designed to run remotely in containerized environments.Last updated -4553MIT License