Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Infy Mcp Playwright

FreeMaintained

MCP Playwright server for web app testing automation via HTTP API

GitHubEmbed

About

MCP Playwright server for web app testing automation via HTTP API

README

MCP Playwright server for web app testing automation. Exposes an HTTP API to run Playwright tests (navigation, clicks, link checks, screenshots). This tool can be used for quick website validation, smoke testing, link validation, accessibility testing, performance checks, and basic SEO testing. It reduces the need to manually create a separate Playwright framework for every small testing requirement.

Install

npm install infy-mcp-playwright

Or install globally:

npm install -g infy-mcp-playwright

Start the server

Local project:

npm start

Global CLI:

infy-mcp-playwright

The server prints:

MCP Server Running on Port 3000

Set PORT to change the listen port (default: 3000). Set HEADLESS=false to open a visible browser window.

Health check

Verify the server is running without starting a browser test:

curl http://localhost:3000/health

Expected response:

{
  "status": "ok",
  "service": "infy-mcp-playwright"
}

Run a test request

curl -X POST http://localhost:3000/run-test \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://perfectqaservices.com",
    "checkLinks": {
      "selector": "a"
    }
  }'

Request body options

Field Description
url Page URL to open (required)
steps Array of user actions to run after the page loads (see below)
type { selector, value } — fill an input (legacy single-step shortcut)
press Keyboard key (e.g. "Enter")
click { selector } — click an element
checkLinks { selector } — visit each matching link and report status

Multi-step actions

After the page loads, steps runs a real user flow. Each step is recorded in stepResults. If a step fails, the test stops and returns status: "failed" with the failed step.

action Fields What it does
click selector, optional timeout Click an element
type / fill selector, value, optional timeout Clear and type into an input
press key (or value), optional selector Press a keyboard key
wait selector and/or timeout Wait for an element, or wait a number of ms
assertText selector, text Fail if the element does not contain text
screenshot optional name Save a full-page screenshot under artifacts/
curl -X POST http://localhost:3000/run-test \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/login",
    "steps": [
      { "action": "type", "selector": "#email", "value": "[email protected]" },
      { "action": "type", "selector": "#password", "value": "secret" },
      { "action": "click", "selector": "button[type=submit]" },
      { "action": "wait", "selector": ".dashboard", "timeout": 10000 },
      { "action": "assertText", "selector": "h1", "text": "Welcome" },
      { "action": "screenshot", "name": "after-login" }
    ]
  }'

Programmatic API

const { runTest } = require('infy-mcp-playwright');

const result = await runTest({
  url: 'https://example.com',
  checkLinks: { selector: 'a' }
});

Enhanced checks and outputs

worker.js performs additional runtime checks and produces reports and artifacts automatically. Notable request options and outputs:

  • Request body options:

    • browser: chromium|firefox|webkit — choose the engine (default: chromium).
    • headless: boolean — run with a visible browser when false (default: true).
    • mobile: boolean — emulate iPhone 13 when true.
    • darkMode: boolean — set page color scheme to dark when true.
    • slowMo: number — slow motion in ms for Playwright (default: 200).
  • Runtime checks performed: performance metrics (dns, tcp, ttfb, dom/load times), memory usage, empty-page detection, infinite-loader detection (common loader selectors), basic SEO extraction (title, meta description, h1, canonical), broken images, console errors, page JS errors, failed requests and network failures (status >= 400), slow API detection (>5s), and accessibility scans via axe-core.

  • Link checking: visits links matched by checkLinks.selector (default a) with up to 3 retries, captures a screenshot per visited page, and marks each as PASSED or FAILED.

  • Artifacts & reports: saved under artifacts/, videos/, json-reports/ and reports/. The worker writes a JSON report (json-reports/report-<ts>.json) and an HTML report (reports/report-<ts>.html) and stores screenshots in artifacts/.

  • Response object: the API returns a structured object containing status, browser, loadTime, performanceMetrics, memoryUsage, seo, totalPages, passed, failed, brokenImages, consoleErrors, jsErrors, failedRequests, networkFailures, slowApis, accessibilityIssues, stepResults, checkedPages, aiSummary, htmlReport, jsonReport, and screenshot (final screenshot path).

Example curl request using the new options:

curl -X POST http://localhost:3000/run-test \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "browser": "firefox",
    "headless": false,
    "mobile": false,
    "darkMode": true,
    "slowMo": 100,
    "checkLinks": { "selector": "a" }
  }'

Publish to npm

  1. Log in: npm login
  2. Dry-run: npm pack --dry-run
  3. Publish: npm publish

License

ISC

from github.com/sujeet0414/Infy_mcp_playwright

Install Infy Mcp Playwright in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install infy-mcp-playwright

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add infy-mcp-playwright -- npx -y infy-mcp-playwright

Step-by-step: how to install Infy Mcp Playwright

FAQ

Is Infy Mcp Playwright MCP free?

Yes, Infy Mcp Playwright MCP is free — one-click install via Unyly at no cost.

Does Infy Mcp Playwright need an API key?

No, Infy Mcp Playwright runs without API keys or environment variables.

Is Infy Mcp Playwright hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Infy Mcp Playwright in Claude Desktop, Claude Code or Cursor?

Open Infy Mcp Playwright on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Changes

Versions and requested access over time.

  • New version published
  • New version published
  • New version published
  • New version published
  • New version published
  • New version published
  • New version published
  • New version published

Related MCPs

Compare Infy Mcp Playwright with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All browse MCPs