Daytona Playwright MCP Server
Daytona Playwright MCPサーバー
Daytonaクラウドサンドボックス内で実行されるフル機能のChromeブラウザを制御できるMCP(Model Context Protocol)サーバーです。Claude Code、Claude Desktop、またはMCP互換クライアントで使用して、Webブラウジング、スクリーンショット撮影、フォーム入力などを行うことができます。
機能
フルChromiumブラウザ: 仮想ディスプレイ上で(ヘッドレスではない)実際のChromiumインスタンスを実行
クラウドサンドボックス: ブラウザはローカルマシンから隔離されたDaytonaサンドボックス内で安全に実行
豊富なツールセット: ナビゲーション、クリック、入力、スクロール、スクリーンショット撮影、コンテンツ抽出、タブ管理
スクリーンショット対応: Claudeが確認・分析できる画像としてスクリーンショットを返却
複数のトランスポート: stdio(デフォルト)、SSE、HTTPに対応
クイックスタート
1. パッケージのインストール
# Using uv (recommended)
uv pip install git+https://github.com/YOUR_USERNAME/daytona-playwright-mcp.git
# Or with pip
pip install git+https://github.com/YOUR_USERNAME/daytona-playwright-mcp.git
# Or install from source
git clone https://github.com/YOUR_USERNAME/daytona-playwright-mcp.git
cd daytona-playwright-mcp
uv pip install -e .2. Daytona APIキーの取得
daytona.ioでサインアップ
ダッシュボードに移動してAPIキーを生成
環境変数として設定:
export DAYTONA_API_KEY="your-api-key-here"3. Claude Codeの設定
Claude CodeのMCP設定(~/.claude/claude_desktop_config.json またはClaude Codeの設定経由)に追加します:
{
"mcpServers": {
"daytona-playwright": {
"command": "daytona-playwright-mcp",
"env": {
"DAYTONA_API_KEY": "your-api-key-here"
}
}
}
}または、uvを使用してソースから実行する場合:
{
"mcpServers": {
"daytona-playwright": {
"command": "uv",
"args": ["run", "--directory", "/path/to/daytona-playwright-mcp", "daytona-playwright-mcp"],
"env": {
"DAYTONA_API_KEY": "your-api-key-here"
}
}
}
}4. Claude Desktopの設定
Claude Desktopの場合、設定ファイルに追加します:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"daytona-playwright": {
"command": "daytona-playwright-mcp",
"env": {
"DAYTONA_API_KEY": "your-api-key-here"
}
}
}
}使用方法
設定が完了したら、ClaudeにWebブラウジングを依頼できます:
"Start a browser and go to https://news.ycombinator.com"
"Take a screenshot of the page"
"Click on the first article link"
"Search for 'AI news' on Google and show me the results"
"Fill out the contact form on example.com with test data"ワークフロー
ブラウザの起動: Claudeが
browser_startを呼び出し、Chromiumを含むDaytonaサンドボックスを作成しますナビゲーションと操作: ナビゲーション、クリック、入力などのツールを使用します
スクリーンショット撮影:
browser_screenshotでページの内容を確認しますクリーンアップ: 完了したら
browser_stopを呼び出してサンドボックスを削除します
利用可能なツール
ブラウザのライフサイクル
ツール | 説明 |
| Daytonaサンドボックスで新しいブラウザセッションを開始 |
| ブラウザを停止し、サンドボックスをクリーンアップ |
| ブラウザが実行中か確認 |
ナビゲーション
ツール | 説明 |
| URLへ移動 |
| 履歴を戻る |
| 履歴を進む |
| 現在のページを更新 |
操作
ツール | 説明 |
| 要素をクリック(CSS、XPath、またはテキストセレクタ) |
| 入力フィールドにテキストを入力 |
| キーボードキーを押す(Enter、Tabなど) |
| 要素にホバー |
| ドロップダウンから選択 |
| ページまたは要素をスクロール |
コンテンツ抽出
ツール | 説明 |
| スクリーンショットを撮影(ページ全体または要素) |
| ページからテキストコンテンツを取得 |
| HTMLコンテンツを取得 |
| 要素の属性を取得 |
| JavaScriptを実行して結果を取得 |
待機
ツール | 説明 |
| 要素が表示/非表示になるのを待機 |
| ナビゲーションの完了を待機 |
タブ管理
ツール | 説明 |
| 新しいタブを開く |
| 開いているすべてのタブを一覧表示 |
| 別のタブに切り替え |
| タブを閉じる |
ファイル操作
ツール | 説明 |
| ファイル入力にファイルをアップロード |
異なるトランスポートでの実行
Stdio(デフォルト - Claude Code/Desktop用)
daytona-playwright-mcp
# or
uv run daytona-playwright-mcpHTTPトランスポート(リモート接続用)
daytona-playwright-mcp --transport http --host 0.0.0.0 --port 8765その後、以下から接続: http://localhost:8765/mcp
SSEトランスポート(レガシー)
daytona-playwright-mcp --transport sse --host 0.0.0.0 --port 8765環境変数
変数 | 説明 | デフォルト |
| Daytona APIキー(必須) | - |
| Daytona APIサーバーURL |
|
開発
ソースから実行
# Clone the repository
git clone https://github.com/YOUR_USERNAME/daytona-playwright-mcp.git
cd daytona-playwright-mcp
# Install dependencies
uv sync
# Run the server
uv run daytona-playwright-mcpテストの実行
uv run pytest仕組み
browser_startを呼び出すと、サーバーは以下の処理を行います:Daytonaサンドボックスを作成(デフォルトのPythonサンドボックスにはChromium + Xvfbがプリインストールされています)
リモートデバッグを有効にしてChromiumを起動
TCPプロキシを開始してCDPポートを外部に公開
Daytonaの安全な署名付きURLを通じてCDP(Chrome DevTools Protocol)経由でChromiumに接続
すべてのブラウザコマンドは、リモートブラウザに接続されたPlaywright APIを通じて実行されます
スクリーンショットはPNG画像としてキャプチャされ、MCPの画像コンテンツタイプを通じて返却されます
browser_stopを呼び出すと、サンドボックスが削除され、すべてのリソースが解放されます
トラブルシューティング
"DAYTONA_API_KEY environment variable is not set"
APIキーがシェルだけでなく、MCPサーバーの設定にも構成されていることを確認してください。
ブラウザが起動しない
Daytona APIキーが有効であることを確認してください
初回使用時はブラウザイメージのプロビジョニングに1〜2分かかる場合があります
必要に応じて
timeoutパラメータを増やしてください
スクリーンショットが表示されない
MCP画像をサポートする最新バージョンのClaude Code/Desktopを使用していることを確認してください
browser_screenshotツールは自動的にレンダリングされるはずのImageタイプを返します
接続タイムアウト
デフォルトのタイムアウトは60秒です。接続が遅い場合や初回イメージビルド時は、以下のように増やしてください:
"Start a browser with a 120 second timeout"ライセンス
MIT
クレジット
synacktraaによるDaytona browser-in-sandboxパターンに基づいています
Playwright CDP接続にPatchrightを使用しています
MCPサーバーにはFastMCPを使用しています
Daytonaクラウドサンドボックスを搭載しています
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/jamesmurdza/playwright-daytona-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server