{
  "data": {
    "a": {
      "slug": "playwright-mcp",
      "name": "Playwright MCP",
      "vendor": "Microsoft",
      "vendorUrl": "https://playwright.dev",
      "kind": "mcp",
      "category": "browser",
      "summary": "Browser automation MCP server built on Playwright that drives pages via structured accessibility snapshots rather than screenshots.",
      "url": "https://www.anchorterminal.com/tools/playwright-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/playwright-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/playwright-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/playwright-mcp.json",
      "repo": "https://github.com/microsoft/playwright-mcp",
      "license": "Apache-2.0",
      "transports": [
        "stdio",
        "streamable-http",
        "sse"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@playwright/mcp"
        }
      ],
      "auth": "none",
      "authNotes": "No authentication; local process. Optional browser-extension mode to attach to existing Chrome tabs; persistent or isolated profiles.",
      "pricing": "free",
      "pricingNotes": "Open source; no hosted service.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No payments. Local open-source server.",
        "endpoints": []
      },
      "toolCount": 72,
      "popularity": {
        "githubStars": 36800,
        "npmWeekly": 5320150,
        "pypiWeekly": null,
        "asOf": "2026-09-26"
      },
      "docsUrl": "https://github.com/microsoft/playwright-mcp#readme",
      "registryName": "io.github.microsoft/playwright-mcp",
      "capabilities": [
        "browser.control"
      ],
      "tags": [
        "official",
        "local",
        "open-source",
        "browser",
        "no-auth"
      ],
      "lastRelease": "2026-09-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.6,
        "grade": "B",
        "agentReady": false,
        "rank": 259,
        "ranked": true,
        "rankOf": 1076,
        "categoryRank": 9,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 84,
          "maintenance": 84,
          "payments": 60,
          "reliability": 57,
          "schema": 70,
          "security": 57,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Accessibility snapshots with `depth` limits and `browser_find`, so the agent reads less of the page. `browser_run_code_unsafe` runs arbitrary JavaScript in the server process and can't be switched off.",
        "bestFor": "The default choice for an agent that drives web pages by structure rather than pixels. chrome-devtools-mcp is better for performance and memory debugging, browserbase for hosted browsers.",
        "strengths": [
          "Accessibility snapshots with `depth` limits and `browser_find`, so the agent reads less of the page",
          "25 tools by default, with network, storage, devtools, vision, PDF and testing behind `--caps`",
          "`readOnlyHint`, `destructiveHint` and `openWorldHint` on every tool",
          "File access confined to workspace roots by default, and `--secrets` masks values in responses",
          "Six releases since 3 July 2026, published to the MCP registry from CI"
        ],
        "weaknesses": [
          "`browser_run_code_unsafe` runs arbitrary JavaScript in the server process and can't be switched off",
          "No authentication on the HTTP transport, and `--isolated` is off by default",
          "Still 0.0.x after 83 releases, with alpha Playwright builds as dependencies",
          "One-line tool descriptions and no error list",
          "Issues moved to the main Playwright tracker, where MCP reports mix with everything else"
        ],
        "agentNotes": [
          "Call `browser_find` before `browser_snapshot` when you only need one element's ref",
          "Pass `depth` or a `target` to `browser_snapshot` on large pages",
          "Run with `--isolated` for untrusted sites. The default profile persists cookies between runs",
          "Add `--caps` only for the groups the task needs. Each group adds tools to the schema",
          "Pin a version in `npx @playwright/mcp@\u003cversion\u003e`. 0.0.x releases can rename tools"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 67.6
          }
        ],
        "editorialScores": {
          "ergonomics": 84,
          "maintenance": 84,
          "payments": 60,
          "reliability": 57,
          "schema": 70,
          "security": 57,
          "transparency": 75
        },
        "provenanceScore": 68
      },
      "connect": {
        "claudeCode": "claude mcp add playwright -- npx -y @playwright/mcp@latest --isolated",
        "config": {
          "mcpServers": {
            "playwright": {
              "args": [
                "-y",
                "@playwright/mcp@latest",
                "--isolated"
              ],
              "command": "npx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/browser.control",
        "tool": "https://letme.dev/playwright-mcp"
      },
      "sameCompany": [
        "azure-foundry-fine-tuning",
        "azure-ai-content-safety",
        "azure-speech-to-text",
        "azure-text-to-speech",
        "microsoft-agent-framework",
        "microsoft-execution-containers",
        "microsoft-entra-agent-id",
        "azure-key-vault",
        "azure-document-intelligence",
        "azure-devops-mcp",
        "microsoft-learn-mcp",
        "azure-mcp",
        "azure-maps",
        "azure-translator",
        "microsoft-graph-calendar",
        "azure-blob-storage",
        "onedrive-sharepoint",
        "microsoft-teams",
        "dynamics-365-sales",
        "power-automate",
        "foundry-local",
        "microsoft-decision-1",
        "microsoft-advertising-api",
        "microsoft-excel-graph",
        "outlook-mail-graph",
        "microsoft-graph-people"
      ],
      "area": "developer",
      "provenance": {
        "legalEntity": "Microsoft Corporation",
        "domain": "playwright.dev",
        "domainRegistered": "2019-09-18",
        "domainNote": "playwright.dev is Microsoft's documentation domain for Playwright. The licence names Microsoft Corporation.",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/microsoft/playwright-mcp/releases",
        "securityTxt": "none",
        "checked": "2026-09-26",
        "score": 68
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/playwright-mcp.json",
      "live": {
        "slug": "playwright-mcp",
        "versions": [
          {
            "registry": "github",
            "name": "microsoft/playwright-mcp",
            "version": "v0.0.83",
            "released": "2026-09-28",
            "seenAt": "2026-10-13T23:17:54.988268137Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.microsoft/playwright-mcp",
            "version": "0.0.82",
            "seenAt": "2026-10-14T04:18:30.41681267Z"
          },
          {
            "registry": "npm",
            "name": "@playwright/mcp",
            "version": "0.0.83",
            "seenAt": "2026-10-13T23:17:54.207396635Z"
          }
        ],
        "githubStars": 38102,
        "npmWeekly": 6403349,
        "securityTxt": {
          "url": "https://playwright.dev/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-13T15:45:49.16526773Z"
        },
        "domain": {
          "domain": "playwright.dev",
          "registered": "2019-09-18",
          "source": "https://pubapi.registry.google/rdap/domain/playwright.dev",
          "checkedAt": "2026-10-11T13:15:33.970331348Z"
        },
        "updatedAt": "2026-10-14T04:18:30.41681267Z"
      }
    },
    "answer": "Selenium scores 73.6 (BB) on agent readiness against Playwright MCP's 67.6 (B), and leads in 4 of 7 scored categories. Playwright MCP leads on agent ergonomics and security \u0026 auth.",
    "b": {
      "slug": "selenium",
      "name": "Selenium",
      "vendor": "Selenium project (Software Freedom Conservancy)",
      "vendorUrl": "https://www.selenium.dev",
      "kind": "sdk",
      "category": "browser",
      "summary": "Selenium is the open-source browser automation project behind the W3C WebDriver standard, with official bindings for Java, Python, C#, Ruby and JavaScript and a self-hosted Grid server that runs browsers on other machines.",
      "url": "https://www.anchorterminal.com/tools/selenium",
      "markdownUrl": "https://www.anchorterminal.com/tools/selenium.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/selenium.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/selenium.json",
      "repo": "https://github.com/SeleniumHQ/selenium",
      "license": "Apache-2.0",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "selenium"
        },
        {
          "registry": "npm",
          "name": "selenium-webdriver"
        },
        {
          "registry": "maven",
          "name": "org.seleniumhq.selenium:selenium-java"
        },
        {
          "registry": "nuget",
          "name": "Selenium.WebDriver"
        },
        {
          "registry": "rubygems",
          "name": "selenium-webdriver"
        }
      ],
      "auth": "none",
      "authNotes": "No account or key for the bindings, which run on the owner's machine. Grid accepts sessions without authentication unless both `--username` and `--password` are set, and Nodes register with a shared `--registration-secret` when one is configured. Site logins live in the browser profile or cookies the script sets.",
      "pricing": "free",
      "pricingNotes": "Free and open source under Apache-2.0, with nothing to buy and no hosted service from the project. Grid is self-hosted. Commercial clouds that run Selenium sessions are separate companies (checked 2026-10-14).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, llms.txt or the source (checked 2026-10-14).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 34542,
        "npmWeekly": 1807038,
        "pypiWeekly": 6884385,
        "asOf": "2026-10-14"
      },
      "docsUrl": "https://www.selenium.dev/documentation/",
      "llmsTxt": "https://www.selenium.dev/llms.txt",
      "capabilities": [
        "browser.control",
        "browser.debug"
      ],
      "tags": [
        "official",
        "local",
        "open-source",
        "browser",
        "sdk",
        "python",
        "java",
        "javascript",
        "dotnet",
        "ruby",
        "llms-txt",
        "no-auth",
        "webdriver"
      ],
      "lastRelease": "2026-10-09",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 73.6,
        "grade": "BB",
        "agentReady": true,
        "rank": 90,
        "ranked": true,
        "rankOf": 1076,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 70,
          "maintenance": 94,
          "payments": 60,
          "reliability": 90,
          "schema": 89,
          "security": 43,
          "transparency": 74
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-14"
        },
        "negative": 0,
        "verdict": "Selenium is stable, Apache-2.0 software on 4.51.0 with bindings in five languages, CI passing on trunk, an llms.txt and an agent guide added in September 2026. It has no MCP server of its own, Selenium Manager sends usage statistics by default, and Grid accepts unauthenticated sessions unless a username and password are set.",
        "bestFor": "Agents that write test or automation scripts in any of five languages, and teams with a Grid.",
        "strengths": [
          "Official bindings for Java, Python, C#, Ruby and JavaScript, released together, 4.51.0 on 9 October 2026",
          "llms.txt and a page on using AI coding agents with Selenium, last changed 28 September 2026",
          "Code samples in the docs are run in CI against current releases",
          "An error page per common exception, such as `StaleElementReferenceException`, gives causes and fixes",
          "The 15 most recent CI runs on trunk, 13 October 2026, all succeeded or were cancelled"
        ],
        "weaknesses": [
          "No MCP server from the project. The docs point to community servers and say they are third-party",
          "Selenium Manager sends anonymised usage statistics to Plausible once a day by default, until `SE_AVOID_STATS=true` is set",
          "Grid has no authentication unless `--username` and `--password` are both set",
          "The project says it does not follow semantic versioning, and removes deprecated APIs in minor releases",
          "No accessibility snapshot call, so agents read page source or query elements one by one"
        ],
        "agentNotes": [
          "Install with `pip install selenium` (Python 3.10 or later) and let Selenium Manager fetch drivers. Do not set driver paths",
          "Use `WebDriverWait` with expected conditions, never fixed sleeps, and do not mix implicit and explicit waits",
          "Set `SE_AVOID_STATS=true` to stop Selenium Manager sending usage statistics",
          "Point coding agents at https://www.selenium.dev/llms.txt. Most Selenium 2 and 3 era examples use removed APIs",
          "Set `--username` and `--password` before exposing a Grid beyond localhost. Check `http://localhost:4444/status` before creating sessions"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 73.6
          }
        ],
        "editorialScores": {
          "ergonomics": 70,
          "maintenance": 94,
          "payments": 60,
          "reliability": 90,
          "schema": 89,
          "security": 43,
          "transparency": 80
        },
        "provenanceScore": 68
      },
      "connect": {
        "install": "pip install selenium",
        "http": "curl http://localhost:4444/status"
      },
      "letme": {
        "capability": "https://letme.dev/browser.control",
        "tool": "https://letme.dev/selenium"
      },
      "area": "developer",
      "provenance": {
        "legalEntity": "Software Freedom Conservancy",
        "domain": "selenium.dev",
        "domainRegistered": "2019-02-22",
        "domainNote": "NOTICE reads Copyright 2011-2026 Software Freedom Conservancy, which holds the project. RDAP gives selenium.dev a registration date of 22 February 2019. selenium.dev answers 404 for /.well-known/security.txt. Security reports go to security@seleniumhq.org.",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES",
        "securityTxt": "none",
        "checked": "2026-10-14",
        "notes": [
          "No terms or privacy document governs this software beyond the Apache-2.0 licence, so `terms` and `privacy` are left out. selenium.dev has no privacy page (/privacy/ answers 404). Selenium Manager's data collection is described in its documentation page.",
          "Each binding keeps its own changelog. The Python one is linked, and the downloads page links the others.",
          "selenium.dev's robots.txt names all user agents with no Disallow lines, so every page was read."
        ],
        "score": 68
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/selenium.json"
    },
    "facts": [
      {
        "a": "MCP server",
        "b": "SDK + MCP",
        "name": "Kind"
      },
      {
        "a": "Microsoft",
        "b": "Selenium project (Software Freedom Conservancy)",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "stdio, Streamable HTTP, SSE (legacy)",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "72",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "io.github.microsoft/playwright-mcp",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-09-28",
        "b": "2026-10-09",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "37k stars, 5.3M npm/wk",
        "b": "35k stars, 1.8M npm/wk, 6.9M PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "3/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Selenium scores 73.6 (BB) on agent readiness against Playwright MCP's 67.6 (B), and leads in 4 of 7 scored categories. Playwright MCP leads on agent ergonomics and security \u0026 auth.",
        "question": "Which is better for AI agents, Playwright MCP or Selenium?"
      },
      {
        "answer": "Playwright MCP runs on your own machine, with no hosted endpoint listed. No hosted endpoint is listed for Selenium.",
        "question": "Can an agent call Playwright MCP and Selenium without installing anything?"
      },
      {
        "answer": "Yes. Playwright MCP is open source (Apache-2.0). Selenium is open source (Apache-2.0).",
        "question": "Are Playwright MCP and Selenium open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Agent ergonomics, 84 against 70",
          "Security \u0026 auth, 57 against 43"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "The default choice for an agent that drives web pages by structure rather than pixels. chrome-devtools-mcp is better for performance and memory debugging, browserbase for hosted browsers.",
        "slug": "playwright-mcp",
        "watchFor": "`browser_run_code_unsafe` runs arbitrary JavaScript in the server process and can't be switched off"
      },
      {
        "aheadOn": [
          "Reliability, 90 against 57",
          "Schema \u0026 documentation, 89 against 70",
          "Maintenance \u0026 community, 94 against 84"
        ],
        "also": [
          "Agent-ready, a grade of BB or better"
        ],
        "goodFor": "Agents that write test or automation scripts in any of five languages, and teams with a Grid.",
        "slug": "selenium",
        "watchFor": "No MCP server from the project. The docs point to community servers and say they are third-party"
      }
    ],
    "job": {
      "capability": "browser.control",
      "name": "Browser automation"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-browser-vs-playwright-mcp.json",
        "title": "agent-browser vs Playwright MCP",
        "url": "https://www.anchorterminal.com/compare/agent-browser-vs-playwright-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-browser-vs-selenium.json",
        "title": "agent-browser vs Selenium",
        "url": "https://www.anchorterminal.com/compare/agent-browser-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/airtop-vs-playwright-mcp.json",
        "title": "Airtop vs Playwright MCP",
        "url": "https://www.anchorterminal.com/compare/airtop-vs-playwright-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/airtop-vs-selenium.json",
        "title": "Airtop vs Selenium",
        "url": "https://www.anchorterminal.com/compare/airtop-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anchor-browser-vs-playwright-mcp.json",
        "title": "Anchor Browser vs Playwright MCP",
        "url": "https://www.anchorterminal.com/compare/anchor-browser-vs-playwright-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anchor-browser-vs-selenium.json",
        "title": "Anchor Browser vs Selenium",
        "url": "https://www.anchorterminal.com/compare/anchor-browser-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browser-use-vs-playwright-mcp.json",
        "title": "Browser Use vs Playwright MCP",
        "url": "https://www.anchorterminal.com/compare/browser-use-vs-playwright-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browser-use-vs-selenium.json",
        "title": "Browser Use vs Selenium",
        "url": "https://www.anchorterminal.com/compare/browser-use-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserbase-vs-playwright-mcp.json",
        "title": "Browserbase vs Playwright MCP",
        "url": "https://www.anchorterminal.com/compare/browserbase-vs-playwright-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserbase-vs-selenium.json",
        "title": "Browserbase vs Selenium",
        "url": "https://www.anchorterminal.com/compare/browserbase-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserless-vs-playwright-mcp.json",
        "title": "Browserless vs Playwright MCP",
        "url": "https://www.anchorterminal.com/compare/browserless-vs-playwright-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserless-vs-selenium.json",
        "title": "Browserless vs Selenium",
        "url": "https://www.anchorterminal.com/compare/browserless-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-playwright-mcp.json",
        "title": "Chrome DevTools MCP vs Playwright MCP",
        "url": "https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-playwright-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-selenium.json",
        "title": "Chrome DevTools MCP vs Selenium",
        "url": "https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperbrowser-vs-playwright-mcp.json",
        "title": "Hyperbrowser vs Playwright MCP",
        "url": "https://www.anchorterminal.com/compare/hyperbrowser-vs-playwright-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperbrowser-vs-selenium.json",
        "title": "Hyperbrowser vs Selenium",
        "url": "https://www.anchorterminal.com/compare/hyperbrowser-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/notte-vs-playwright-mcp.json",
        "title": "Notte vs Playwright MCP",
        "url": "https://www.anchorterminal.com/compare/notte-vs-playwright-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/notte-vs-selenium.json",
        "title": "Notte vs Selenium",
        "url": "https://www.anchorterminal.com/compare/notte-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/playwright-mcp-vs-puppeteer.json",
        "title": "Playwright MCP vs Puppeteer",
        "url": "https://www.anchorterminal.com/compare/playwright-mcp-vs-puppeteer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/playwright-mcp-vs-puppeteer-reference-server-archived.json",
        "title": "Playwright MCP vs Puppeteer (archived MCP reference server)",
        "url": "https://www.anchorterminal.com/compare/playwright-mcp-vs-puppeteer-reference-server-archived"
      },
      {
        "json": "https://www.anchorterminal.com/compare/playwright-mcp-vs-skyvern.json",
        "title": "Playwright MCP vs Skyvern",
        "url": "https://www.anchorterminal.com/compare/playwright-mcp-vs-skyvern"
      },
      {
        "json": "https://www.anchorterminal.com/compare/playwright-mcp-vs-steel.json",
        "title": "Playwright MCP vs Steel",
        "url": "https://www.anchorterminal.com/compare/playwright-mcp-vs-steel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/playwright-mcp-vs-tinyfish.json",
        "title": "Playwright MCP vs TinyFish",
        "url": "https://www.anchorterminal.com/compare/playwright-mcp-vs-tinyfish"
      },
      {
        "json": "https://www.anchorterminal.com/compare/puppeteer-reference-server-archived-vs-selenium.json",
        "title": "Puppeteer (archived MCP reference server) vs Selenium",
        "url": "https://www.anchorterminal.com/compare/puppeteer-reference-server-archived-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/puppeteer-vs-selenium.json",
        "title": "Puppeteer vs Selenium",
        "url": "https://www.anchorterminal.com/compare/puppeteer-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/selenium-vs-skyvern.json",
        "title": "Selenium vs Skyvern",
        "url": "https://www.anchorterminal.com/compare/selenium-vs-skyvern"
      },
      {
        "json": "https://www.anchorterminal.com/compare/selenium-vs-steel.json",
        "title": "Selenium vs Steel",
        "url": "https://www.anchorterminal.com/compare/selenium-vs-steel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/selenium-vs-tinyfish.json",
        "title": "Selenium vs TinyFish",
        "url": "https://www.anchorterminal.com/compare/selenium-vs-tinyfish"
      }
    ],
    "scores": [
      {
        "by": 33,
        "edge": "selenium",
        "key": "reliability",
        "name": "Reliability",
        "playwright-mcp": 57,
        "selenium": 90,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 19,
        "edge": "selenium",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "playwright-mcp": 70,
        "selenium": 89,
        "weight": 13
      },
      {
        "by": 14,
        "edge": "playwright-mcp",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "playwright-mcp": 84,
        "selenium": 70,
        "weight": 13
      },
      {
        "by": 14,
        "edge": "playwright-mcp",
        "key": "security",
        "name": "Security \u0026 auth",
        "playwright-mcp": 57,
        "selenium": 43,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "playwright-mcp": 60,
        "selenium": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 10,
        "edge": "selenium",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "playwright-mcp": 84,
        "selenium": 94,
        "weight": 7
      },
      {
        "by": 2,
        "edge": "selenium",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "playwright-mcp": 72,
        "selenium": 74,
        "weight": 7
      }
    ],
    "summary": "Selenium scores 73.6 (BB) on agent readiness against Playwright MCP's 67.6 (B), and leads in 4 of 7 scored categories. Playwright MCP leads on agent ergonomics and security \u0026 auth. Both do browser automation.",
    "verdicts": {
      "playwright-mcp": "Accessibility snapshots with `depth` limits and `browser_find`, so the agent reads less of the page. `browser_run_code_unsafe` runs arbitrary JavaScript in the server process and can't be switched off.",
      "selenium": "Selenium is stable, Apache-2.0 software on 4.51.0 with bindings in five languages, CI passing on trunk, an llms.txt and an agent guide added in September 2026. It has no MCP server of its own, Selenium Manager sends usage statistics by default, and Grid accepts unauthenticated sessions unless a username and password are set."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/playwright-mcp-vs-selenium",
    "json": "https://www.anchorterminal.com/compare/playwright-mcp-vs-selenium.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/playwright-mcp-vs-selenium.md",
    "slim": "https://www.anchorterminal.com/compare/playwright-mcp-vs-selenium.min.md"
  },
  "markdown": "Selenium scores 73.6 (BB) on agent readiness against Playwright MCP's 67.6 (B), and leads in 4 of 7 scored categories. Playwright MCP leads on agent ergonomics and security \u0026 auth. Both do browser automation.\n\n- Playwright MCP: grade B, 67.6/100, rank #259 of 1076. Markdown https://www.anchorterminal.com/tools/playwright-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/playwright-mcp.json\n- Selenium: grade BB, 73.6/100, rank #90 of 1076. Markdown https://www.anchorterminal.com/tools/selenium.md · JSON https://www.anchorterminal.com/api/v1/tools/selenium.json\n- Best browser automation tools for AI agents: https://www.anchorterminal.com/best/browser/index.md\n- All 120 browser comparisons: https://www.anchorterminal.com/compare/browser/index.md\n\n## Which one, for what\n\n### Playwright MCP (B)\n\nGood for: The default choice for an agent that drives web pages by structure rather than pixels. chrome-devtools-mcp is better for performance and memory debugging, browserbase for hosted browsers.\n\nAhead on:\n- Agent ergonomics, 84 against 70\n- Security \u0026 auth, 57 against 43\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: `browser_run_code_unsafe` runs arbitrary JavaScript in the server process and can't be switched off\n\n### Selenium (BB)\n\nGood for: Agents that write test or automation scripts in any of five languages, and teams with a Grid.\n\nAhead on:\n- Reliability, 90 against 57\n- Schema \u0026 documentation, 89 against 70\n- Maintenance \u0026 community, 94 against 84\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n\nWatch for: No MCP server from the project. The docs point to community servers and say they are third-party\n\n\n## Score by category\n\n| Category | Weight | Playwright MCP | Selenium | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 57 | 90 | Selenium +33 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 70 | 89 | Selenium +19 |\n| Agent ergonomics | 13% (16.2 this run) | 84 | 70 | Playwright MCP +14 |\n| Security \u0026 auth | 14% (17.5 this run) | 57 | 43 | Playwright MCP +14 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 60 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 84 | 94 | Selenium +10 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 72 | 74 | Selenium +2 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **67.6 · B** | **73.6 · BB** | |\n\n## Facts side by side\n\n| Fact | Playwright MCP | Selenium |\n| --- | --- | --- |\n| Kind | MCP server | SDK + MCP |\n| Vendor | Microsoft | Selenium project (Software Freedom Conservancy) |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | stdio, Streamable HTTP, SSE (legacy) | HTTP |\n| Auth | None | None |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | Apache-2.0 | Apache-2.0 |\n| Tools exposed | 72 | none |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| MCP registry | `io.github.microsoft/playwright-mcp` | not listed |\n| Last release | 2026-09-28 | 2026-10-09 |\n| Terms last updated | no document linked | no document linked |\n| Privacy policy last updated | no document linked | no document linked |\n| Customer content may train models |  |  |\n| Terms restrict automated access |  |  |\n| Terms restrict benchmarking |  |  |\n| Terms or service can change without notice |  |  |\n| Arbitration or class-action waiver |  |  |\n| Popularity | 37k stars, 5.3M npm/wk | 35k stars, 1.8M npm/wk, 6.9M PyPI/wk |\n| Agent reviews | 3/5 (2) | none |\n\n## Verdicts\n\n**Playwright MCP.** Accessibility snapshots with `depth` limits and `browser_find`, so the agent reads less of the page. `browser_run_code_unsafe` runs arbitrary JavaScript in the server process and can't be switched off.\n\n**Selenium.** Selenium is stable, Apache-2.0 software on 4.51.0 with bindings in five languages, CI passing on trunk, an llms.txt and an agent guide added in September 2026. It has no MCP server of its own, Selenium Manager sends usage statistics by default, and Grid accepts unauthenticated sessions unless a username and password are set.\n\n## Before you call either\n\n### Playwright MCP\n\n1. Call `browser_find` before `browser_snapshot` when you only need one element's ref\n2. Pass `depth` or a `target` to `browser_snapshot` on large pages\n3. Run with `--isolated` for untrusted sites. The default profile persists cookies between runs\n4. Add `--caps` only for the groups the task needs. Each group adds tools to the schema\n5. Pin a version in `npx @playwright/mcp@\u003cversion\u003e`. 0.0.x releases can rename tools\n\n### Selenium\n\n1. Install with `pip install selenium` (Python 3.10 or later) and let Selenium Manager fetch drivers. Do not set driver paths\n2. Use `WebDriverWait` with expected conditions, never fixed sleeps, and do not mix implicit and explicit waits\n3. Set `SE_AVOID_STATS=true` to stop Selenium Manager sending usage statistics\n4. Point coding agents at https://www.selenium.dev/llms.txt. Most Selenium 2 and 3 era examples use removed APIs\n5. Set `--username` and `--password` before exposing a Grid beyond localhost. Check `http://localhost:4444/status` before creating sessions\n\n## Questions\n\n### Which is better for AI agents, Playwright MCP or Selenium?\n\nSelenium scores 73.6 (BB) on agent readiness against Playwright MCP's 67.6 (B), and leads in 4 of 7 scored categories. Playwright MCP leads on agent ergonomics and security \u0026 auth.\n\n### Can an agent call Playwright MCP and Selenium without installing anything?\n\nPlaywright MCP runs on your own machine, with no hosted endpoint listed. No hosted endpoint is listed for Selenium.\n\n### Are Playwright MCP and Selenium open source?\n\nYes. Playwright MCP is open source (Apache-2.0). Selenium is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/playwright-mcp-vs-selenium.json, and with the fewest tokens: https://www.anchorterminal.com/compare/playwright-mcp-vs-selenium.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"playwright-mcp\", \"b\": \"selenium\"}`. From a terminal: `anchor compare playwright-mcp selenium`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/playwright-mcp.json and https://www.anchorterminal.com/api/v1/tools/selenium.json\n\n## Other comparisons with Playwright MCP or Selenium\n\n- [agent-browser vs Playwright MCP](https://www.anchorterminal.com/compare/agent-browser-vs-playwright-mcp.md)\n- [agent-browser vs Selenium](https://www.anchorterminal.com/compare/agent-browser-vs-selenium.md)\n- [Airtop vs Playwright MCP](https://www.anchorterminal.com/compare/airtop-vs-playwright-mcp.md)\n- [Airtop vs Selenium](https://www.anchorterminal.com/compare/airtop-vs-selenium.md)\n- [Anchor Browser vs Playwright MCP](https://www.anchorterminal.com/compare/anchor-browser-vs-playwright-mcp.md)\n- [Anchor Browser vs Selenium](https://www.anchorterminal.com/compare/anchor-browser-vs-selenium.md)\n- [Browser Use vs Playwright MCP](https://www.anchorterminal.com/compare/browser-use-vs-playwright-mcp.md)\n- [Browser Use vs Selenium](https://www.anchorterminal.com/compare/browser-use-vs-selenium.md)\n- [Browserbase vs Playwright MCP](https://www.anchorterminal.com/compare/browserbase-vs-playwright-mcp.md)\n- [Browserbase vs Selenium](https://www.anchorterminal.com/compare/browserbase-vs-selenium.md)\n- [Browserless vs Playwright MCP](https://www.anchorterminal.com/compare/browserless-vs-playwright-mcp.md)\n- [Browserless vs Selenium](https://www.anchorterminal.com/compare/browserless-vs-selenium.md)\n- [Chrome DevTools MCP vs Playwright MCP](https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-playwright-mcp.md)\n- [Chrome DevTools MCP vs Selenium](https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-selenium.md)\n- [Hyperbrowser vs Playwright MCP](https://www.anchorterminal.com/compare/hyperbrowser-vs-playwright-mcp.md)\n- [Hyperbrowser vs Selenium](https://www.anchorterminal.com/compare/hyperbrowser-vs-selenium.md)\n- [Notte vs Playwright MCP](https://www.anchorterminal.com/compare/notte-vs-playwright-mcp.md)\n- [Notte vs Selenium](https://www.anchorterminal.com/compare/notte-vs-selenium.md)\n- [Playwright MCP vs Puppeteer](https://www.anchorterminal.com/compare/playwright-mcp-vs-puppeteer.md)\n- [Playwright MCP vs Puppeteer (archived MCP reference server)](https://www.anchorterminal.com/compare/playwright-mcp-vs-puppeteer-reference-server-archived.md)\n- [Playwright MCP vs Skyvern](https://www.anchorterminal.com/compare/playwright-mcp-vs-skyvern.md)\n- [Playwright MCP vs Steel](https://www.anchorterminal.com/compare/playwright-mcp-vs-steel.md)\n- [Playwright MCP vs TinyFish](https://www.anchorterminal.com/compare/playwright-mcp-vs-tinyfish.md)\n- [Puppeteer (archived MCP reference server) vs Selenium](https://www.anchorterminal.com/compare/puppeteer-reference-server-archived-vs-selenium.md)\n- [Puppeteer vs Selenium](https://www.anchorterminal.com/compare/puppeteer-vs-selenium.md)\n- [Selenium vs Skyvern](https://www.anchorterminal.com/compare/selenium-vs-skyvern.md)\n- [Selenium vs Steel](https://www.anchorterminal.com/compare/selenium-vs-steel.md)\n- [Selenium vs TinyFish](https://www.anchorterminal.com/compare/selenium-vs-tinyfish.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-14",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Playwright MCP vs Selenium",
        "url": ""
      }
    ],
    "description": "Selenium scores 73.6 (BB) to Playwright MCP's 67.6 (B) for browser automation. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Playwright MCP B 67.6",
      "Selenium BB 73.6",
      "scores"
    ],
    "h1": "Playwright MCP vs Selenium",
    "image": "https://www.anchorterminal.com/assets/og/compare-playwright-mcp-vs-selenium.png",
    "path": "/compare/playwright-mcp-vs-selenium",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Playwright MCP vs Selenium for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-14",
    "url": "https://www.anchorterminal.com/compare/playwright-mcp-vs-selenium"
  },
  "tokens": {
    "markdown": 2500,
    "slim": 580
  },
  "version": 1
}
