microsoft/playwright-mcp
Powerful capabilities — review before trusting.
View source ↗AI review
This is a legitimate Microsoft Playwright MCP server extension with no deceptive or malicious intent. The static findings show standard development patterns (CI checks, child_process usage in build scripts, environment variable access) that are expected for a browser automation tool. The release instructions and contributing guidelines are transparent about the project's purpose and workflow.
- low No prompt injection or hidden instructions detected — All instructions in CLAUDE.md, release.md, and CONTRIBUTING.md are standard development workflow documentation for maintaining the Playwright MCP project. No attempts to manipulate the agent or exfiltrate data were found.
- low Standard development patterns in static analysis — The flagged items (child_process usage, env access) are used in build scripts (roll.js, update-readme.js) and test files, which is expected for a Node.js project that needs to run shell commands for version rolling, README generation, and CI checks. These are not indicators of malicious behavior.
- low No credential exfiltration or deceptive tool descriptions — The extension's stated purpose matches its actual functionality: providing browser automation via Playwright through MCP. No instructions to read or send secrets/credentials were found. Tool descriptions in the codebase are accurate and match the project's documented capabilities.
Model: deepseek-chat
Static findings
Environment variables (config / keys) · Reads environment variables (config / API keys)
playwright.config.ts:24
forbidOnly: !!process.env.CI,
tests/fixtures.ts:83
if (process.env.CI && process.platform === 'linux')
update-readme.js:186
if (process.env.PRINT_ENV) {
Shell / command execution · Executes shell / system commands
roll.js:3
const { execSync } = require('child_process');
tests/cli.spec.ts:16
import child_process from 'child_process';
tests/library.spec.ts:16
import child_process from 'child_process';
update-readme.js:21
const { execSync } = require('child_process');
Scanning every extension your team installs?
Pro & Team add monitoring, private scans, and a CI gate for unsafe extensions.
MCPVet is a heuristic aid, not a security guarantee. A clean grade does not prove an extension is safe; always review code and instructions you don't trust.