Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

Playwright Stealth

de pulsemcpversión 0.2.3i★ –iSe ejecuta en tu computadora
Nombre en el registrocom.pulsemcp/playwright-stealth

Instalar

Resumen

Descripción del creador (original en inglés)

Browser automation using Playwright with optional stealth mode to bypass anti-bot protection.

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Web y navegadores
  • Debes completar: PROXY_USERNAME, PROXY_PASSWORD

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

  • Revisiones básicas: 1 de 1 superadas
  • Se ejecuta en tu computadora con los permisos de tu usuario (archivos, red, apps).
  • Debes completar tú: 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_ERRORS

Los valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.

Necesitas

  • npmNode.js instalado (para el comando npx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "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"
      }
    }
  }
}

Ejecuta esto en tu terminal

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-server

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "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"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "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"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Valores que debes completar

  • STEALTH_MODE env
    Enable stealth mode with anti-detection measures.
  • STEALTH_USER_AGENT env
    Custom User-Agent string for stealth mode.
  • STEALTH_MASK_LINUX env
    Mask Linux in User-Agent as Windows to avoid fingerprint mismatch.
  • STEALTH_LOCALE env
    Custom locale for Accept-Language header in stealth mode.
  • HEADLESS env
    Run browser in headless mode.
  • TIMEOUT env
    Default timeout for Playwright actions in milliseconds.
  • NAVIGATION_TIMEOUT env
    Default timeout for page navigation in milliseconds.
  • SCREENSHOT_STORAGE_PATH env
    Directory for storing screenshots.
  • VIDEO_STORAGE_PATH env
    Directory for storing video recordings.
  • PROXY_URL env
    Proxy server URL for connections.
  • PROXY_USERNAME secreto env
    Proxy authentication username.
  • PROXY_PASSWORD secreto env
    Proxy authentication password.
  • PROXY_BYPASS env
    Comma-separated list of hosts to bypass proxy.
  • BROWSER_PERMISSIONS env
    Comma-separated list of browser permissions to grant.
  • IGNORE_HTTPS_ERRORS env
    Ignore HTTPS certificate errors.

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 6 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con el dominio pulsemcp.com (el registro comprueba quién es dueño del dominio)

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Web y navegadoresi

  • Más estrellas que el 0% de los otros 878 servidores de esta categoría
  • Publicado en el registro más recientemente que el 16% de los otros 878 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 878 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro Playwright Stealth?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

Debes completar: PROXY_USERNAME, PROXY_PASSWORD

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (0.2.3) llegó al registro hace 5 meses.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Browser Use, Chrome DevTools MCP, MCP Server Browser

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Browser Use

de browser-use

Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.

Computadora o nube★ 120.087MITActualizado hace 17 días
Instalar

Chrome DevTools MCP

de ChromeDevTools

MCP server for Chrome DevTools

Se ejecuta en tu computadora★ 54.821Apache-2.0Actualizado hace 15 días
Instalar

MCP Server Browser

de bytedance

MCP server for browser use access

Se ejecuta en tu computadora★ 39.550Apache-2.0Actualizado hace 14 meses
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

Playwright Stealth MCP Server

A Model Context Protocol (MCP) server for browser automation using Playwright with optional stealth mode to bypass anti-bot protection.

Features

  • Simplified API: Single browser_execute tool that exposes the full Playwright API instead of many specialized tools
  • Stealth Mode: Optional anti-detection measures using playwright-extra and puppeteer-extra-plugin-stealth
  • Persistent Sessions: Browser session persists across tool calls for multi-step automation
  • Screenshot Support: Capture page screenshots for visual verification
  • Video Recording: Record browser interactions as WebM videos with explicit start/stop controls
  • Code Execution: Run arbitrary Playwright code with access to the page object
  • Full Permissions: All browser permissions (notifications, geolocation, camera, etc.) granted by default for testing web apps

Installation

npx playwright-stealth-mcp-server

Or install globally:

npm install -g playwright-stealth-mcp-server

Configuration

Claude Desktop Configuration

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" } } } }

Environment Variables
VariableDescriptionDefault
STEALTH_MODEEnable stealth mode with anti-detection measuresfalse
STEALTH_USER_AGENTCustom User-Agent string (stealth mode only)Browser default
STEALTH_MASK_LINUXMask Linux in User-Agent as Windows; set to false to avoid fingerprint mismatchtrue
STEALTH_LOCALECustom locale for Accept-Language header (stealth mode only)en-US,en
HEADLESSRun browser in headless modetrue
TIMEOUTDefault timeout for Playwright actions (click, fill, etc.) in milliseconds30000
NAVIGATION_TIMEOUTDefault timeout for page navigation (goto, reload, etc.) in milliseconds60000
SCREENSHOT_STORAGE_PATHDirectory for storing screenshots/tmp/playwright-screenshots
VIDEO_STORAGE_PATHDirectory for storing video recordings/tmp/playwright-videos
PROXY_URLProxy server URL (e.g., http://proxy.example.com:8080)-
PROXY_USERNAMEProxy authentication username-
PROXY_PASSWORDProxy authentication password-
PROXY_BYPASSComma-separated list of hosts to bypass proxy-
BROWSER_PERMISSIONSComma-separated list of browser permissions to grant (see below)All permissions
IGNORE_HTTPS_ERRORSIgnore HTTPS certificate errors (set to false for stricter security)true

Available Tools

browser_execute

Execute 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_screenshot

Take 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: false
  • selector (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 pixels
  • resultHandling (optional): How to handle the result:
  • saveAndReturn (default): Saves to storage AND returns inline base64 image
  • saveOnly: 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:

  • With saveAndReturn: Inline base64 PNG image plus a resource_link with the file URI
  • With saveOnly: Only a resource_link with the file:// URI to the saved screenshot
browser_get_state

Get the current browser state including URL, title, and configuration.

browser_close

Close the browser session. A new browser will be launched on the next browser_execute call.

browser_start_recording

Start 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_recording

Stop 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.

MCP Resources

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 metadata
  • resources/read: Read a screenshot or video by its file:// URI

This allows clients to access previously captured screenshots and recordings without needing to take new ones.

Usage Examples

Navigate and Extract Data
// 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;

Fill and Submit a Form
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();

Handle Dynamic Content
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;

Security Considerations

Important: The browser_execute tool executes arbitrary JavaScript code. This design provides full Playwright API access but has security implications:

  • Only use this server with trusted input (e.g., from an LLM in a controlled environment)
  • The code runs in a Node.js context with access to the page object
  • Do not expose this server to untrusted users or public networks

This is intentional for maximum flexibility - it allows LLMs to leverage their existing Playwright knowledge. For production use, ensure proper access controls are in place.

When to Use Stealth Mode

Enable stealth mode (STEALTH_MODE=true) when:

  • Accessing sites with Cloudflare protection
  • Sites that block automation tools
  • Pages that detect headless browsers
  • OAuth flows that trigger CAPTCHA challenges

Stealth mode includes:

  • WebDriver property masking
  • Chrome automation flag removal
  • User-Agent normalization
  • Plugin/mime type spoofing
  • Navigator property patching
Fingerprint Configuration

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:

  • By default, stealth mode masks Linux as Windows in the User-Agent header only
  • However, navigator.platform still reports the actual OS (e.g., "Linux x86_64")
  • This mismatch between User-Agent and platform triggers bot detection
  • Setting STEALTH_MASK_LINUX=false disables this masking, allowing the real platform to show
  • Combined with a custom STEALTH_USER_AGENT, you can present a consistent fingerprint

When to Use Proxy

Configure proxy settings when:

  • Scraping sites that rate-limit by IP address
  • Accessing geo-restricted content
  • Avoiding IP-based blocks or bans
  • Rotating IPs for large-scale data collection

The server supports HTTP/HTTPS proxies with optional authentication, making it compatible with:

  • BrightData (Residential, Datacenter, ISP proxies)
  • Oxylabs, Smartproxy, and other residential proxy providers
  • Self-hosted proxy servers
  • Corporate HTTP proxies

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.

HTTPS Certificate Errors

By default, the server ignores HTTPS certificate errors (IGNORE_HTTPS_ERRORS=true). This is convenient for common automation scenarios:

  • Docker environments where SSL certificates may not match hostnames
  • Corporate networks with MITM proxies that re-sign certificates
  • Self-signed certificates in development or staging environments
  • Residential proxies that perform HTTPS inspection

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

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx