playwright stealth for VS Code
com.pulsemcp/playwright-stealth
Browser automation using Playwright with optional stealth mode to bypass anti-bot protection.
client:VS Code
transport:stdio
runtime:npm
Install playwright stealth in VS Code
.vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "stealth-mode",
"description": "STEALTH_MODE",
"password": true
},
{
"type": "promptString",
"id": "stealth-user-agent",
"description": "STEALTH_USER_AGENT",
"password": true
},
{
"type": "promptString",
"id": "stealth-mask-linux",
"description": "STEALTH_MASK_LINUX",
"password": true
},
{
"type": "promptString",
"id": "stealth-locale",
"description": "STEALTH_LOCALE",
"password": true
},
{
"type": "promptString",
"id": "headless",
"description": "HEADLESS",
"password": true
},
{
"type": "promptString",
"id": "timeout",
"description": "TIMEOUT",
"password": true
},
{
"type": "promptString",
"id": "navigation-timeout",
"description": "NAVIGATION_TIMEOUT",
"password": true
},
{
"type": "promptString",
"id": "screenshot-storage-path",
"description": "SCREENSHOT_STORAGE_PATH",
"password": true
},
{
"type": "promptString",
"id": "video-storage-path",
"description": "VIDEO_STORAGE_PATH",
"password": true
},
{
"type": "promptString",
"id": "proxy-url",
"description": "PROXY_URL",
"password": true
},
{
"type": "promptString",
"id": "proxy-username",
"description": "PROXY_USERNAME",
"password": true
},
{
"type": "promptString",
"id": "proxy-password",
"description": "PROXY_PASSWORD",
"password": true
},
{
"type": "promptString",
"id": "proxy-bypass",
"description": "PROXY_BYPASS",
"password": true
},
{
"type": "promptString",
"id": "browser-permissions",
"description": "BROWSER_PERMISSIONS",
"password": true
},
{
"type": "promptString",
"id": "ignore-https-errors",
"description": "IGNORE_HTTPS_ERRORS",
"password": true
}
],
"servers": {
"playwright-stealth": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"playwright-stealth-mcp-server"
],
"env": {
"STEALTH_MODE": "${input:stealth-mode}",
"STEALTH_USER_AGENT": "${input:stealth-user-agent}",
"STEALTH_MASK_LINUX": "${input:stealth-mask-linux}",
"STEALTH_LOCALE": "${input:stealth-locale}",
"HEADLESS": "${input:headless}",
"TIMEOUT": "${input:timeout}",
"NAVIGATION_TIMEOUT": "${input:navigation-timeout}",
"SCREENSHOT_STORAGE_PATH": "${input:screenshot-storage-path}",
"VIDEO_STORAGE_PATH": "${input:video-storage-path}",
"PROXY_URL": "${input:proxy-url}",
"PROXY_USERNAME": "${input:proxy-username}",
"PROXY_PASSWORD": "${input:proxy-password}",
"PROXY_BYPASS": "${input:proxy-bypass}",
"BROWSER_PERMISSIONS": "${input:browser-permissions}",
"IGNORE_HTTPS_ERRORS": "${input:ignore-https-errors}"
}
}
}
}
VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs