{
  "slug": "playwright",
  "name": "Playwright",
  "author": "microsoft (GitHub)",
  "category": "Browser automation",
  "tier": "checkable",
  "kind": "stdio",
  "packageSpec": "npm:@playwright/mcp@0.0.83",
  "sourceUrl": "https://registry.modelcontextprotocol.io/v0/servers/io.github.microsoft%2Fplaywright-mcp/versions/latest",
  "repoUrl": "https://github.com/microsoft/playwright-mcp",
  "enrichment": {},
  "current": {
    "verdict": "alive",
    "reason": "all_passed",
    "failedChecks": [],
    "untestedTools": 20,
    "checkedAt": "2026-10-29T06:45:46.979Z",
    "methodologyVersion": "1.0.0",
    "serverVersion": "1.64.0-alpha-1790635538000",
    "checks": [
      {
        "id": "L0.reachable",
        "detail": "http undefined",
        "status": "pass",
        "durationMs": 4266
      },
      {
        "id": "L0.tls",
        "status": "skipped"
      },
      {
        "id": "L0.initialize",
        "status": "pass",
        "evidence": {
          "raw": "{\"result\":{\"protocolVersion\":\"2025-11-25\",\"capabilities\":{\"tools\":{\"listChanged\":true}},\"serverInfo\":{\"name\":\"Playwright\",\"version\":\"1.64.0-alpha-1790635538000\"}},\"jsonrpc\":\"2.0\",\"id\":1}"
        },
        "durationMs": 4266
      },
      {
        "id": "L0.protocol_version",
        "detail": "server reported \"2025-11-25\"; published versions: 2024-11-05, 2025-03-26, 2025-06-18, 2025-11-25",
        "status": "pass"
      },
      {
        "id": "L0.capabilities",
        "detail": "tools",
        "status": "pass"
      },
      {
        "id": "L1.server_info",
        "detail": "Playwright 1.64.0-alpha-1790635538000",
        "status": "pass"
      },
      {
        "id": "L1.tools_list",
        "detail": "25 tools",
        "status": "pass"
      },
      {
        "id": "L1.tool_schemas",
        "detail": "25 schemas valid",
        "status": "pass"
      },
      {
        "id": "L1.resources_list",
        "detail": "resources capability not declared",
        "status": "skipped"
      },
      {
        "id": "L1.prompts_list",
        "detail": "prompts capability not declared",
        "status": "skipped"
      },
      {
        "id": "L1.unknown_method",
        "status": "pass",
        "evidence": {
          "raw": "{\"jsonrpc\":\"2.0\",\"id\":3,\"error\":{\"code\":-32601,\"message\":\"Method not found\"}}"
        },
        "durationMs": 2
      },
      {
        "id": "L1.envelope",
        "detail": "3 replies valid",
        "status": "pass"
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_click",
        "detail": "mutation_name",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_close",
        "detail": "mutation_name",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_console_messages",
        "status": "pass",
        "evidence": {
          "raw": "{\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"### Error\\nError: async initializeServer: Chromium distribution 'chrome' is not found at /opt/google/chrome/chrome\\nRun \\\"npx playwright install chrome\\\"\"}],\"isError\":true},\"jsonrpc\":\"2.0\",\"id\":4}",
          "arguments": {
            "level": "info"
          }
        },
        "durationMs": 59
      },
      {
        "id": "L2.bad_input",
        "tool": "browser_console_messages",
        "status": "pass",
        "evidence": {
          "raw": "{\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"### Error\\nError: async initializeServer: Chromium distribution 'chrome' is not found at /opt/google/chrome/chrome\\nRun \\\"npx playwright install chrome\\\"\"}],\"isError\":true},\"jsonrpc\":\"2.0\",\"id\":5}",
          "arguments": {}
        },
        "durationMs": 9
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_drag",
        "detail": "mutation_name",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_drop",
        "detail": "mutation_name",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_emulate_media",
        "detail": "not_annotated_read_only",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_evaluate",
        "detail": "not_annotated_read_only",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_file_upload",
        "detail": "mutation_name",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_fill_form",
        "detail": "mutation_name",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_find",
        "status": "pass",
        "evidence": {
          "raw": "{\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"### Error\\nError: async initializeServer: Chromium distribution 'chrome' is not found at /opt/google/chrome/chrome\\nRun \\\"npx playwright install chrome\\\"\"}],\"isError\":true},\"jsonrpc\":\"2.0\",\"id\":6}",
          "arguments": {}
        },
        "durationMs": 8
      },
      {
        "id": "L2.bad_input",
        "tool": "browser_find",
        "status": "pass",
        "evidence": {
          "raw": "{\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"### Error\\nError: async initializeServer: Chromium distribution 'chrome' is not found at /opt/google/chrome/chrome\\nRun \\\"npx playwright install chrome\\\"\"}],\"isError\":true},\"jsonrpc\":\"2.0\",\"id\":7}",
          "arguments": {
            "text": 12345
          }
        },
        "durationMs": 5
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_handle_dialog",
        "detail": "not_annotated_read_only",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_hover",
        "detail": "not_annotated_read_only",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_navigate",
        "detail": "mutation_name",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_navigate_back",
        "detail": "mutation_name",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_network_request",
        "status": "pass",
        "evidence": {
          "raw": "{\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"### Error\\nError: async initializeServer: Chromium distribution 'chrome' is not found at /opt/google/chrome/chrome\\nRun \\\"npx playwright install chrome\\\"\"}],\"isError\":true},\"jsonrpc\":\"2.0\",\"id\":8}",
          "arguments": {
            "index": 1
          }
        },
        "durationMs": 6
      },
      {
        "id": "L2.bad_input",
        "tool": "browser_network_request",
        "status": "pass",
        "evidence": {
          "raw": "{\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"### Error\\nError: async initializeServer: Chromium distribution 'chrome' is not found at /opt/google/chrome/chrome\\nRun \\\"npx playwright install chrome\\\"\"}],\"isError\":true},\"jsonrpc\":\"2.0\",\"id\":9}",
          "arguments": {}
        },
        "durationMs": 9
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_network_requests",
        "status": "pass",
        "evidence": {
          "raw": "{\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"### Error\\nError: async initializeServer: Chromium distribution 'chrome' is not found at /opt/google/chrome/chrome\\nRun \\\"npx playwright install chrome\\\"\"}],\"isError\":true},\"jsonrpc\":\"2.0\",\"id\":10}",
          "arguments": {
            "static": false
          }
        },
        "durationMs": 7
      },
      {
        "id": "L2.bad_input",
        "tool": "browser_network_requests",
        "status": "pass",
        "evidence": {
          "raw": "{\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"### Error\\nError: async initializeServer: Chromium distribution 'chrome' is not found at /opt/google/chrome/chrome\\nRun \\\"npx playwright install chrome\\\"\"}],\"isError\":true},\"jsonrpc\":\"2.0\",\"id\":11}",
          "arguments": {}
        },
        "durationMs": 5
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_press_key",
        "detail": "mutation_name",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_resize",
        "detail": "not_annotated_read_only",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_run_code_unsafe",
        "detail": "mutation_name",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_select_option",
        "detail": "not_annotated_read_only",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_snapshot",
        "status": "pass",
        "evidence": {
          "raw": "{\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"### Error\\nError: async initializeServer: Chromium distribution 'chrome' is not found at /opt/google/chrome/chrome\\nRun \\\"npx playwright install chrome\\\"\"}],\"isError\":true},\"jsonrpc\":\"2.0\",\"id\":12}",
          "arguments": {}
        },
        "durationMs": 6
      },
      {
        "id": "L2.bad_input",
        "tool": "browser_snapshot",
        "status": "pass",
        "evidence": {
          "raw": "{\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"### Error\\nError: async initializeServer: Chromium distribution 'chrome' is not found at /opt/google/chrome/chrome\\nRun \\\"npx playwright install chrome\\\"\"}],\"isError\":true},\"jsonrpc\":\"2.0\",\"id\":13}",
          "arguments": {
            "target": 12345
          }
        },
        "durationMs": 5
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_tabs",
        "detail": "not_annotated_read_only",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_take_screenshot",
        "detail": "per_run_cap",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_type",
        "detail": "mutation_name",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "browser_wait_for",
        "detail": "per_run_cap",
        "status": "untested"
      },
      {
        "id": "L2.timeout",
        "detail": "5 calls answered within 30000 ms",
        "status": "pass"
      }
    ],
    "metrics": {
      "callMs": [
        59,
        9,
        8,
        5,
        6,
        9,
        7,
        5,
        6,
        5
      ],
      "toolsListMs": 9,
      "initializeMs": 4266
    },
    "facts": {
      "authModel": "none",
      "transport": "stdio",
      "capabilities": [
        "tools"
      ],
      "toolAnnotations": {
        "readOnly": 7,
        "unmarked": 0,
        "destructive": 18
      },
      "credentialsInUrl": false
    }
  },
  "l3": {
    "uptime": {
      "24h": null,
      "7d": 1,
      "30d": 1
    },
    "sampleSize": {
      "24h": 0,
      "7d": 1,
      "30d": 1
    },
    "latency": {
      "initialize": {
        "p50": null,
        "p95": null
      },
      "calls": {
        "p50": 6,
        "p95": 59
      }
    },
    "flakiness": null,
    "versionDrift": []
  },
  "history": [
    {
      "startedAt": "2026-10-29T06:45:42.503Z",
      "runKind": "full",
      "l0Ok": true,
      "verdict": "alive"
    }
  ]
}