Daytona Playwright MCP Server
Daytona Playwright MCP-Server
Ein MCP-Server (Model Context Protocol), mit dem Sie einen vollständigen Chrome-Browser steuern können, der in einer Daytona-Cloud-Sandbox läuft. Verwenden Sie ihn mit Claude Code, Claude Desktop oder einem beliebigen MCP-kompatiblen Client, um im Web zu surfen, Screenshots zu erstellen, Formulare auszufüllen und mehr.
Funktionen
Vollständiger Chromium-Browser: Führt eine echte Chromium-Instanz (nicht headless) in einer virtuellen Anzeige aus
Cloud-Sandbox: Der Browser läuft sicher in einer Daytona-Sandbox, isoliert von Ihrem lokalen Computer
Umfangreiches Tool-Set: Navigieren, klicken, tippen, scrollen, Screenshots erstellen, Inhalte extrahieren, Tabs verwalten
Screenshot-Unterstützung: Gibt Screenshots als Bilder zurück, die Claude sehen und analysieren kann
Mehrere Transporte: Funktioniert mit stdio (Standard), SSE oder HTTP
Schnellstart
1. Installieren Sie das Paket
# 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. Holen Sie sich einen Daytona-API-Schlüssel
Registrieren Sie sich unter daytona.io
Gehen Sie zu Ihrem Dashboard und generieren Sie einen API-Schlüssel
Setzen Sie ihn als Umgebungsvariable:
export DAYTONA_API_KEY="your-api-key-here"3. Konfigurieren Sie Claude Code
Fügen Sie dies zu Ihren Claude Code MCP-Einstellungen hinzu (~/.claude/claude_desktop_config.json oder über die Claude Code-Einstellungen):
{
"mcpServers": {
"daytona-playwright": {
"command": "daytona-playwright-mcp",
"env": {
"DAYTONA_API_KEY": "your-api-key-here"
}
}
}
}Oder wenn Sie es aus dem Quellcode mit uv ausführen:
{
"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. Konfigurieren Sie Claude Desktop
Für Claude Desktop fügen Sie dies zu Ihrer Konfigurationsdatei hinzu:
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"
}
}
}
}Verwendung
Sobald die Konfiguration abgeschlossen ist, können Sie Claude bitten, im Web zu surfen:
"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"Arbeitsablauf
Browser starten: Claude ruft
browser_startauf, um eine Daytona-Sandbox mit Chromium zu erstellenNavigieren und interagieren: Verwenden Sie Navigation, Klicken, Tippen und andere Tools
Screenshots erstellen: Sehen Sie mit
browser_screenshot, was auf der Seite zu sehen istAufräumen: Rufen Sie
browser_stopauf, wenn Sie fertig sind, um die Sandbox zu löschen
Verfügbare Tools
Browser-Lebenszyklus
Tool | Beschreibung |
| Startet eine neue Browsersitzung in einer Daytona-Sandbox |
| Stoppt den Browser und bereinigt die Sandbox |
| Überprüft, ob der Browser läuft |
Navigation
Tool | Beschreibung |
| Navigiert zu einer URL |
| Geht in der Historie zurück |
| Geht in der Historie vorwärts |
| Aktualisiert die aktuelle Seite |
Interaktion
Tool | Beschreibung |
| Klickt auf ein Element (CSS-, XPath- oder Text-Selektor) |
| Gibt Text in ein Eingabefeld ein |
| Drückt Tastaturtasten (Enter, Tab, etc.) |
| Fährt mit der Maus über ein Element |
| Wählt aus einem Dropdown-Menü aus |
| Scrollt die Seite oder ein Element |
Inhaltsextraktion
Tool | Beschreibung |
| Erstellt einen Screenshot (ganze Seite oder Element) |
| Ruft Textinhalte von der Seite ab |
| Ruft HTML-Inhalte ab |
| Ruft das Attribut eines Elements ab |
| Führt JavaScript aus und erhält Ergebnisse |
Warten
Tool | Beschreibung |
| Wartet darauf, dass ein Element erscheint/verschwindet |
| Wartet auf den Abschluss der Navigation |
Tab-Verwaltung
Tool | Beschreibung |
| Öffnet einen neuen Tab |
| Listet alle offenen Tabs auf |
| Wechselt zu einem anderen Tab |
| Schließt einen Tab |
Dateivorgänge
Tool | Beschreibung |
| Lädt eine Datei in ein Datei-Eingabefeld hoch |
Ausführung mit verschiedenen Transporten
Stdio (Standard - für Claude Code/Desktop)
daytona-playwright-mcp
# or
uv run daytona-playwright-mcpHTTP-Transport (für Remote-Verbindungen)
daytona-playwright-mcp --transport http --host 0.0.0.0 --port 8765Verbinden Sie sich dann über: http://localhost:8765/mcp
SSE-Transport (veraltet)
daytona-playwright-mcp --transport sse --host 0.0.0.0 --port 8765Umgebungsvariablen
Variable | Beschreibung | Standard |
| Ihr Daytona-API-Schlüssel (erforderlich) | - |
| Daytona-API-Server-URL |
|
Entwicklung
Aus dem Quellcode ausführen
# 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-mcpTests ausführen
uv run pytestFunktionsweise
Wenn Sie
browser_startaufrufen, führt der Server folgende Schritte aus:Erstellt eine Daytona-Sandbox (die Standard-Python-Sandbox hat Chromium + Xvfb vorinstalliert)
Startet Chromium mit aktiviertem Remote-Debugging
Startet einen TCP-Proxy, um den CDP-Port extern verfügbar zu machen
Verbindet sich über CDP (Chrome DevTools Protocol) durch die sicheren signierten URLs von Daytona mit Chromium
Alle Browser-Befehle werden über die Playwright-API ausgeführt, die mit dem Remote-Browser verbunden ist
Screenshots werden als PNG-Bilder aufgenommen und über den Bild-Inhaltstyp von MCP zurückgegeben
Wenn Sie
browser_stopaufrufen, wird die Sandbox gelöscht und alle Ressourcen werden freigegeben
Fehlerbehebung
"DAYTONA_API_KEY environment variable is not set"
Stellen Sie sicher, dass Ihr API-Schlüssel in den MCP-Servereinstellungen konfiguriert ist, nicht nur in Ihrer Shell.
Browser startet nicht
Überprüfen Sie, ob Ihr Daytona-API-Schlüssel gültig ist
Das Browser-Image kann bei der ersten Verwendung 1-2 Minuten zur Bereitstellung benötigen
Erhöhen Sie bei Bedarf den
timeout-Parameter
Screenshots erscheinen nicht
Stellen Sie sicher, dass Sie eine aktuelle Version von Claude Code/Desktop verwenden, die MCP-Bilder unterstützt
Das Tool
browser_screenshotgibt einen Bildtyp zurück, der automatisch gerendert werden sollte
Verbindungs-Timeouts
Das Standard-Timeout beträgt 60 Sekunden. Bei langsameren Verbindungen oder beim ersten Erstellen des Images erhöhen Sie es:
"Start a browser with a 120 second timeout"Lizenz
MIT
Credits
Basiert auf dem Daytona browser-in-sandbox-Muster von synacktraa
Verwendet Patchright für die Playwright-CDP-Konnektivität
Erstellt mit FastMCP für den MCP-Server
Unterstützt durch Daytona-Cloud-Sandboxes
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