Browser Use
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
Beschreibung vom Entwickler (englisches Original)
Browser automation using Playwright with optional stealth mode to bypass anti-bot protection.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
STEALTH_MODE, STEALTH_USER_AGENT, STEALTH_MASK_LINUX, STEALTH_LOCALE, HEADLESS, TIMEOUT, NAVIGATION_TIMEOUT, SCREENSHOT_STORAGE_PATH, VIDEO_STORAGE_PATH, PROXY_URL, PROXY_USERNAME, PROXY_PASSWORD, PROXY_BYPASS, BROWSER_PERMISSIONS, IGNORE_HTTPS_ERRORSAls geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"playwright-stealth": {
"command": "npx",
"args": [
"-y",
"playwright-stealth-mcp-server"
],
"env": {
"STEALTH_MODE": "your-value",
"STEALTH_USER_AGENT": "your-value",
"STEALTH_MASK_LINUX": "your-value",
"STEALTH_LOCALE": "your-value",
"HEADLESS": "your-value",
"TIMEOUT": "your-value",
"NAVIGATION_TIMEOUT": "your-value",
"SCREENSHOT_STORAGE_PATH": "your-value",
"VIDEO_STORAGE_PATH": "your-value",
"PROXY_URL": "your-value",
"PROXY_USERNAME": "your-value",
"PROXY_PASSWORD": "your-value",
"PROXY_BYPASS": "your-value",
"BROWSER_PERMISSIONS": "your-value",
"IGNORE_HTTPS_ERRORS": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add playwright-stealth --env STEALTH_MODE=your-value --env STEALTH_USER_AGENT=your-value --env STEALTH_MASK_LINUX=your-value --env STEALTH_LOCALE=your-value --env HEADLESS=your-value --env TIMEOUT=your-value --env NAVIGATION_TIMEOUT=your-value --env SCREENSHOT_STORAGE_PATH=your-value --env VIDEO_STORAGE_PATH=your-value --env PROXY_URL=your-value --env PROXY_USERNAME=your-value --env PROXY_PASSWORD=your-value --env PROXY_BYPASS=your-value --env BROWSER_PERMISSIONS=your-value --env IGNORE_HTTPS_ERRORS=your-value -- npx -y playwright-stealth-mcp-serverTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"playwright-stealth": {
"command": "npx",
"args": [
"-y",
"playwright-stealth-mcp-server"
],
"env": {
"STEALTH_MODE": "your-value",
"STEALTH_USER_AGENT": "your-value",
"STEALTH_MASK_LINUX": "your-value",
"STEALTH_LOCALE": "your-value",
"HEADLESS": "your-value",
"TIMEOUT": "your-value",
"NAVIGATION_TIMEOUT": "your-value",
"SCREENSHOT_STORAGE_PATH": "your-value",
"VIDEO_STORAGE_PATH": "your-value",
"PROXY_URL": "your-value",
"PROXY_USERNAME": "your-value",
"PROXY_PASSWORD": "your-value",
"PROXY_BYPASS": "your-value",
"BROWSER_PERMISSIONS": "your-value",
"IGNORE_HTTPS_ERRORS": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"playwright-stealth": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"playwright-stealth-mcp-server"
],
"env": {
"STEALTH_MODE": "your-value",
"STEALTH_USER_AGENT": "your-value",
"STEALTH_MASK_LINUX": "your-value",
"STEALTH_LOCALE": "your-value",
"HEADLESS": "your-value",
"TIMEOUT": "your-value",
"NAVIGATION_TIMEOUT": "your-value",
"SCREENSHOT_STORAGE_PATH": "your-value",
"VIDEO_STORAGE_PATH": "your-value",
"PROXY_URL": "your-value",
"PROXY_USERNAME": "your-value",
"PROXY_PASSWORD": "your-value",
"PROXY_BYPASS": "your-value",
"BROWSER_PERMISSIONS": "your-value",
"IGNORE_HTTPS_ERRORS": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
STEALTH_MODE envSTEALTH_USER_AGENT envSTEALTH_MASK_LINUX envSTEALTH_LOCALE envHEADLESS envTIMEOUT envNAVIGATION_TIMEOUT envSCREENSHOT_STORAGE_PATH envVIDEO_STORAGE_PATH envPROXY_URL envPROXY_BYPASS envBROWSER_PERMISSIONS envIGNORE_HTTPS_ERRORS envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 6. Nov. 2026
Der Registry-Name wurde über die Domain pulsemcp.com bestätigt (die Registry prüft, wem die Domain gehört)
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: PROXY_USERNAME, PROXY_PASSWORD
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.2.3) kam vor 5 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
In derselben Kategorie: Browser Use, Chrome DevTools MCP, MCP Server Browser
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
MCP server for Chrome DevTools
MCP server for browser use access
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
A Model Context Protocol (MCP) server for browser automation using Playwright with optional stealth mode to bypass anti-bot protection.
browser_execute tool that exposes the full Playwright API instead of many specialized toolsplaywright-extra and puppeteer-extra-plugin-stealthpage objectnpx playwright-stealth-mcp-server
Or install globally:
npm install -g playwright-stealth-mcp-server
Add to your Claude Desktop config file:
Non-Stealth Mode (Standard Playwright):
{
"mcpServers": { "playwright": { "command": "npx", "args": ["-y", "playwright-stealth-mcp-server"], "env": { "STEALTH_MODE": "false" } } } }
Stealth Mode (Anti-bot bypass):
{
"mcpServers": { "playwright-stealth": { "command": "npx", "args": ["-y", "playwright-stealth-mcp-server"], "env": { "STEALTH_MODE": "true" } } } }
With Proxy (e.g., BrightData Residential Proxy):
{
"mcpServers": { "playwright-proxy": { "command": "npx", "args": ["-y", "playwright-stealth-mcp-server"], "env": { "STEALTH_MODE": "true", "PROXY_URL": "http://brd.superproxy.io:22225", "PROXY_USERNAME": "brd-customer-XXXXX-zone-residential", "PROXY_PASSWORD": "your-password" } } } }
| Variable | Description | Default |
|---|---|---|
STEALTH_MODE | Enable stealth mode with anti-detection measures | false |
STEALTH_USER_AGENT | Custom User-Agent string (stealth mode only) | Browser default |
STEALTH_MASK_LINUX | Mask Linux in User-Agent as Windows; set to false to avoid fingerprint mismatch | true |
STEALTH_LOCALE | Custom locale for Accept-Language header (stealth mode only) | en-US,en |
HEADLESS | Run browser in headless mode | true |
TIMEOUT | Default timeout for Playwright actions (click, fill, etc.) in milliseconds | 30000 |
NAVIGATION_TIMEOUT | Default timeout for page navigation (goto, reload, etc.) in milliseconds | 60000 |
SCREENSHOT_STORAGE_PATH | Directory for storing screenshots | /tmp/playwright-screenshots |
VIDEO_STORAGE_PATH | Directory for storing video recordings | /tmp/playwright-videos |
PROXY_URL | Proxy server URL (e.g., http://proxy.example.com:8080) | - |
PROXY_USERNAME | Proxy authentication username | - |
PROXY_PASSWORD | Proxy authentication password | - |
PROXY_BYPASS | Comma-separated list of hosts to bypass proxy | - |
BROWSER_PERMISSIONS | Comma-separated list of browser permissions to grant (see below) | All permissions |
IGNORE_HTTPS_ERRORS | Ignore HTTPS certificate errors (set to false for stricter security) | true |
browser_executeExecute Playwright code with access to the page object.
Parameters:
code (required): JavaScript code to execute. The page object is available in scope.timeout (optional): Execution timeout in milliseconds.Example:
await page.goto('https://example.com');
const title = await page.title(); return title;
browser_screenshotTake a screenshot of the current page, a specific element, or a page region. Screenshots are saved to filesystem storage and can be accessed later via MCP resources.
Parameters:
fullPage (optional): Capture full scrollable page. Default: falseselector (optional): CSS selector of a specific element to screenshot (e.g., #main-content, .hero-banner, table.results)clip (optional): Region of the page to screenshot as {x, y, width, height} in pixelsresultHandling (optional): How to handle the result:saveAndReturn (default): Saves to storage AND returns inline base64 imagesaveOnly: Saves to storage and returns only the resource URI (more efficient for large screenshots)Note: fullPage, selector, and clip are mutually exclusive. Only one can be specified per call.
Returns:
saveAndReturn: Inline base64 PNG image plus a resource_link with the file URIsaveOnly: Only a resource_link with the file:// URI to the saved screenshotbrowser_get_stateGet the current browser state including URL, title, and configuration.
browser_closeClose the browser session. A new browser will be launched on the next browser_execute call.
browser_start_recordingStart recording the browser session as a WebM video.
This tool recycles the browser context with video recording enabled. Session state (cookies, localStorage, sessionStorage) is automatically preserved across the context recycling.
If called while already recording, the current recording is automatically stopped and saved before starting a new one.
browser_stop_recordingStop recording and save the video.
Returns a resource_link with the file:// URI to the saved video (WebM format). Session state is preserved — the browser navigates back to the previous URL automatically.
Returns an error if no recording is active.
The server exposes saved screenshots and video recordings as MCP resources. Clients can use:
resources/list: List all saved screenshots and videos with their URIs and metadataresources/read: Read a screenshot or video by its file:// URIThis allows clients to access previously captured screenshots and recordings without needing to take new ones.
// Navigate to a page
await page.goto('https://news.ycombinator.com');
// Extract headlines const headlines = await page.$$eval('.titleline > a', (links) => links.slice(0, 5).map((a) => a.textContent) );
return headlines;
await page.goto('https://example.com/login');
// Fill credentials await page.fill('input[name="email"]', 'user@example.com'); await page.fill('input[name="password"]', 'password123');
// Submit form await page.click('button[type="submit"]');
// Wait for navigation await page.waitForNavigation();
return await page.title();
await page.goto('https://spa-example.com');
// Wait for element to appear await page.waitForSelector('.loaded-content');
// Click to load more await page.click('.load-more-button');
// Wait for new content await page.waitForSelector('.new-items');
const items = await page.$$eval('.item', (els) => els.map((el) => el.textContent)); return items;
Important: The browser_execute tool executes arbitrary JavaScript code. This design provides full Playwright API access but has security implications:
page objectThis is intentional for maximum flexibility - it allows LLMs to leverage their existing Playwright knowledge. For production use, ensure proper access controls are in place.
Enable stealth mode (STEALTH_MODE=true) when:
Stealth mode includes:
When running in Docker/Linux environments, bot detection systems may identify a fingerprint mismatch between the User-Agent header and other browser signals like navigator.platform. Use these environment variables to configure consistent fingerprints:
Example: macOS Fingerprint (for Docker/Linux)
{
"mcpServers": { "playwright-stealth": { "command": "npx", "args": ["-y", "playwright-stealth-mcp-server"], "env": { "STEALTH_MODE": "true", "STEALTH_USER_AGENT": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "STEALTH_MASK_LINUX": "false" } } } }
Why this matters:
navigator.platform still reports the actual OS (e.g., "Linux x86_64")STEALTH_MASK_LINUX=false disables this masking, allowing the real platform to showSTEALTH_USER_AGENT, you can present a consistent fingerprintConfigure proxy settings when:
The server supports HTTP/HTTPS proxies with optional authentication, making it compatible with:
Note: When proxy is configured, the server performs a health check on startup to verify the proxy connection works. If the health check fails, the server will exit with an error.
By default, the server ignores HTTPS certificate errors (IGNORE_HTTPS_ERRORS=true). This is convenient for common automation scenarios:
To enable strict certificate validation, set IGNORE_HTTPS_ERRORS=false:
{
"mcpServers": { "playwright": { "command": "npx", "args": ["-y", "playwright-stealth-mcp-server"], "env": { "IGNORE_HTTPS_ERRORS": "false" } } } }
Security Note: For production environments where certificate validation is important, se
Nur der Anfang wird gezeigt; den Rest findest du im Repo