{
  "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": 203,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 6,
        "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-devops-mcp",
        "microsoft-learn-mcp",
        "azure-mcp",
        "azure-maps",
        "azure-translator",
        "microsoft-graph-calendar",
        "microsoft-teams",
        "dynamics-365-sales",
        "power-automate",
        "microsoft-advertising-api",
        "microsoft-excel-graph",
        "outlook-mail-graph"
      ],
      "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-08T16:25:38.60261262Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.microsoft/playwright-mcp",
            "version": "0.0.82",
            "seenAt": "2026-10-08T02:42:52.272076636Z"
          },
          {
            "registry": "npm",
            "name": "@playwright/mcp",
            "version": "0.0.83",
            "seenAt": "2026-10-08T16:25:36.646336319Z"
          }
        ],
        "githubStars": 37930,
        "npmWeekly": 8987267,
        "securityTxt": {
          "url": "https://playwright.dev/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:56.716588343Z"
        },
        "domain": {
          "domain": "playwright.dev",
          "registered": "2019-09-18",
          "source": "https://pubapi.registry.google/rdap/domain/playwright.dev",
          "checkedAt": "2026-10-04T13:09:32.042470742Z"
        },
        "updatedAt": "2026-10-08T16:25:38.60261262Z"
      }
    },
    "answer": "Steel scores 70.4 (BB) on agent readiness against Playwright MCP's 67.6 (B), and leads in 3 of 7 scored categories. Playwright MCP leads on agent ergonomics and transparency \u0026 trust.",
    "b": {
      "slug": "steel",
      "name": "Steel",
      "vendor": "Nen Labs, Inc.",
      "vendorUrl": "https://steel.dev",
      "kind": "http-api",
      "category": "browser",
      "summary": "Steel runs cloud browser sessions for AI agents, controlled through a REST API, a CDP WebSocket, SDKs, a CLI and an official MCP server. Its browser runtime, steel-browser, is open source and can be self-hosted.",
      "url": "https://www.anchorterminal.com/tools/steel",
      "markdownUrl": "https://www.anchorterminal.com/tools/steel.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/steel.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/steel.json",
      "repo": "https://github.com/steel-dev/steel-browser",
      "license": "Proprietary cloud service under Steel's terms. steel-browser and the Node and Python SDKs are Apache-2.0. The MCP server and the CLI are MIT",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.steel.dev",
      "packages": [
        {
          "registry": "npm",
          "name": "steel-sdk"
        },
        {
          "registry": "pypi",
          "name": "steel-sdk"
        },
        {
          "registry": "npm",
          "name": "@steel-dev/cli"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve API key from the dashboard at app.steel.dev, sent in the `steel-api-key` header. Keys are named, shown once and revoked by deletion, and the dashboard shows when each was last used. A global key covers the whole organisation, and `POST /v1/api-keys` lets a global key create keys bound to one project. No per-permission scopes were found. CDP connections pass the key as the `apiKey` query parameter on `wss://connect.steel.dev`. The x402 endpoints need no key. A self-hosted steel-browser needs no key.",
      "pricing": "freemium",
      "pricingNotes": "Launch is $0 plus usage with $30 of one-time credit valid for 90 days, and the quickstart says no card is required. Browser time is $0.10 an hour on Launch and $0.08 on Scale ($250 a month with $100 of monthly credit), billed by the minute and rounded up. Proxy traffic is $10 or $6 a GB, CAPTCHA solves $3 or $1 per 1,000, and scrape, screenshot and PDF calls $5 per 1,000. CAPTCHA solving and managed proxies on Launch need $10 of paid balance. The same three calls cost $0.01 each by x402. Enterprise is priced through sales. Self-hosted steel-browser is free (https://docs.steel.dev/overview/pricinglimits, checked 2026-10-08).",
      "priceSummary": "$0.01 / call",
      "where": "both",
      "x402": {
        "level": "yes",
        "evidence": "x402 version 2 on https://x402.steel.dev for scrape, screenshot and PDF at $0.01 a call in USDC on Base or Solana, with no account or API key (https://docs.steel.dev/integrations/x402). An unpaid POST to /v1/scrape on 2026-10-08 returned 402 with a payment-required header for 10000 base units on eip155:8453 and Solana mainnet. The header names https://api.paysponge.com/v1/scrape as the resource, so a third party appears to run the payment layer. Browser sessions and api.steel.dev aren't covered.",
        "endpoints": [
          {
            "url": "https://x402.steel.dev/v1/scrape",
            "priceUsd": 0.01,
            "network": "eip155:8453"
          },
          {
            "url": "https://x402.steel.dev/v1/screenshot",
            "priceUsd": 0.01,
            "network": "eip155:8453"
          },
          {
            "url": "https://x402.steel.dev/v1/pdf",
            "priceUsd": 0.01,
            "network": "eip155:8453"
          }
        ]
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 46988,
        "pypiWeekly": 63315,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.steel.dev",
      "llmsTxt": "https://docs.steel.dev/llms.txt",
      "openapi": "https://docs.steel.dev/openapi.json",
      "capabilities": [
        "browser.control",
        "browser.hosted",
        "browser.debug",
        "web.scrape",
        "web.fetch",
        "scraping.proxies",
        "scraping.anti-bot",
        "pdf.generate"
      ],
      "tags": [
        "official",
        "hosted",
        "self-hosted",
        "open-source",
        "freemium",
        "no-card",
        "x402",
        "openapi",
        "llms-txt",
        "mcp",
        "python",
        "typescript",
        "proxies",
        "status-page"
      ],
      "lastRelease": "2026-10-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 70.4,
        "grade": "BB",
        "agentReady": true,
        "rank": 136,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 82,
          "payments": 75,
          "reliability": 58,
          "schema": 86,
          "security": 56,
          "transparency": 64
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The hosted API has a public OpenAPI document, per-unit prices, $30 of starting credit and x402 payment for scrape, screenshot and PDF calls. The status page records three API or session-creation incidents of more than an hour in 90 days, and the documented CDP connection puts the API key in the URL.",
        "bestFor": "Agents that need a real cloud browser with persistent profiles, stored logins, CAPTCHA solving and a human takeover path, and teams that want an open-source runtime they can also self-host.",
        "strengths": [
          "OpenAPI 3.0.3 document with 75 operations, llms.txt and a Markdown twin of every docs page",
          "x402 at x402.steel.dev for scrape, screenshot and PDF at $0.01 a call in USDC on Base or Solana, with no account",
          "Per-unit prices published without login, and $30 of one-time credit on the Launch plan",
          "Official MCP server with 16 annotated tools, a three-tool scrape profile and page content fenced as untrusted",
          "steel-browser, the browser runtime, is Apache-2.0 and self-hostable with Docker"
        ],
        "weaknesses": [
          "Three incidents of more than an hour hit the API or session creation in the 90 days to 8 October 2026, the longest 5 hours 41 minutes",
          "The documented CDP connection passes the API key as `apiKey` in the `wss://connect.steel.dev` URL",
          "x402 covers the three one-shot endpoints only, so a browser session needs an account and a key",
          "The MCP server is not on npm or in the MCP registry, and `mcp.steel.dev` is not live per its README",
          "No deprecation policy or security.txt found, and the trust centre did not render for our reader"
        ],
        "agentNotes": [
          "Use `POST /v1/scrape` for pages you only need to read. It starts no session and costs $5 per 1,000 calls, or $0.01 a call by x402",
          "Release every session with `POST /v1/sessions/{id}/release` and set `inactivityTimeout`. Browser time bills by the minute, rounded up",
          "Build the CDP URL as `wss://connect.steel.dev?apiKey=\u003ckey\u003e\u0026sessionId=\u003cid\u003e` and keep it out of logs, because it carries the key",
          "Launch sessions end after 15 minutes at most, and `timeout` cannot be changed on a live session",
          "CAPTCHA solving and Steel's managed proxies on Launch need $10 of paid balance. Free credit does not count"
        ],
        "metrics": {
          "kind": "remote",
          "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": 70.4
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 82,
          "payments": 75,
          "reliability": 58,
          "schema": 86,
          "security": 56,
          "transparency": 52
        },
        "provenanceScore": 75
      },
      "connect": {
        "install": "npm install steel-sdk",
        "http": "curl -X POST https://api.steel.dev/v1/scrape -H \"steel-api-key: YOUR_KEY\" -H \"Content-Type: application/json\" -d '{\"url\": \"https://example.com\"}'",
        "claudeCode": "claude mcp add steel -e STEEL_API_KEY=your-steel-api-key -- npx -y github:steel-dev/steel-mcp-server",
        "config": {
          "mcpServers": {
            "steel": {
              "args": [
                "-y",
                "github:steel-dev/steel-mcp-server"
              ],
              "command": "npx",
              "env": {
                "STEEL_API_KEY": "\u003cyour-steel-api-key\u003e"
              }
            }
          }
        },
        "x402": "curl -i -X POST https://x402.steel.dev/v1/scrape -H \"Content-Type: application/json\" -d '{\"url\": \"https://example.com\", \"format\": [\"markdown\"]}'"
      },
      "letme": {
        "capability": "https://letme.dev/browser.control",
        "tool": "https://letme.dev/steel"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Browser, Launch plan",
          "unit": "browser-hour",
          "usd": 0.1,
          "note": "Billed by the minute, rounded up"
        },
        {
          "item": "Browser, Scale plan",
          "unit": "browser-hour",
          "usd": 0.08
        },
        {
          "item": "Proxy traffic, Launch",
          "unit": "gb",
          "usd": 10
        },
        {
          "item": "Proxy traffic, Scale",
          "unit": "gb",
          "usd": 6
        },
        {
          "item": "Scrape, screenshot or PDF",
          "unit": "1k-requests",
          "usd": 5
        },
        {
          "item": "Scrape, screenshot or PDF by x402",
          "unit": "call",
          "usd": 0.01,
          "note": "USDC on Base or Solana, no account"
        },
        {
          "item": "CAPTCHA solves, Launch",
          "unit": "1k-requests",
          "usd": 3
        },
        {
          "item": "CAPTCHA solves, Scale",
          "unit": "1k-requests",
          "usd": 1
        },
        {
          "item": "Scale plan",
          "unit": "month",
          "usd": 250,
          "note": "$100 of usage credit each month"
        },
        {
          "item": "Dedicated IP, Scale",
          "unit": "month",
          "usd": 5,
          "note": "Per IP"
        }
      ],
      "provenance": {
        "legalEntity": "Nen Labs, Inc.",
        "domain": "steel.dev",
        "domainRegistered": "2024-07-22",
        "endpointOnVendorDomain": true,
        "terms": "https://steel.dev/terms",
        "privacy": "https://steel.dev/privacy",
        "statusPage": "https://status.steel.dev",
        "changelog": "https://docs.steel.dev/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms (last updated 5 February 2025) and the privacy notice (last updated 5 February 2026) name Nen Labs, Inc., 9450 SW Gemini Dr, PMB 34667, Beaverton, OR 97008, United States, and the terms choose Delaware law.",
          "The docs Legal page links to Google Docs copies of the terms and privacy policy and not to steel.dev/terms and steel.dev/privacy. We read the steel.dev pages.",
          "The API answers at api.steel.dev, CDP at connect.steel.dev and x402 at x402.steel.dev. The x402 payment header names api.paysponge.com as the resource.",
          "steel.dev/.well-known/security.txt and docs.steel.dev/.well-known/security.txt both return 404. The site footer's Security link goes to a Vanta trust centre at trust.steel.dev.",
          "RDAP for steel.dev gives a registration date of 2024-07-22.",
          "Changelog entries are numbered and carry dates in page metadata. Number 038 is dated 2 October 2026."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/steel.json",
      "live": {
        "slug": "steel",
        "probe": {
          "target": "https://api.steel.dev",
          "method": "get",
          "lastAt": "2026-10-08T23:26:45.365685851Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 435,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 434,
          "p95ms24h": 532,
          "samples24h": 87,
          "samples30d": 87,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 87,
              "ok": 87
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.steel.dev",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:39:13.93384351Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "steel-dev/steel-browser",
            "version": "v0.5.4-beta",
            "released": "2026-08-25",
            "seenAt": "2026-10-08T16:30:24.00662318Z"
          },
          {
            "registry": "npm",
            "name": "@steel-dev/cli",
            "version": "0.3.1",
            "seenAt": "2026-10-08T16:30:22.800432877Z"
          },
          {
            "registry": "npm",
            "name": "steel-sdk",
            "version": "0.18.0",
            "seenAt": "2026-10-08T16:30:21.796405435Z"
          },
          {
            "registry": "pypi",
            "name": "steel-sdk",
            "version": "0.19.0",
            "released": "2026-06-23",
            "seenAt": "2026-10-08T16:30:22.613655125Z"
          }
        ],
        "githubStars": 7756,
        "npmWeekly": 46988,
        "pypiWeekly": 63315,
        "securityTxt": {
          "url": "https://steel.dev/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:32.828125596Z"
        },
        "pages": [
          {
            "url": "https://docs.steel.dev/changelog",
            "kind": "changelog",
            "status": 404,
            "checkedAt": "2026-10-08T18:19:29.693209384Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://docs.steel.dev/overview/pricinglimits",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:19:31.90717024Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b8c6356ee458"
          },
          {
            "url": "https://steel.dev/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:24:47.574475358Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "574556e30b0e"
          },
          {
            "url": "https://steel.dev/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:24:50.029723662Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d797ea62e1fb"
          }
        ],
        "updatedAt": "2026-10-08T23:26:45.365685851Z"
      }
    },
    "facts": [
      {
        "a": "MCP server",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Microsoft",
        "b": "Nen Labs, Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.steel.dev",
        "name": "Hosted endpoint"
      },
      {
        "a": "stdio, Streamable HTTP, SSE (legacy)",
        "b": "HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "yes, from $0.01/call",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "b": "Proprietary cloud service under Steel's terms. steel-browser and the Node and Python SDKs are Apache-2.0. The MCP server and the CLI are MIT",
        "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-02",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "2025-02-05",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2026-02-05",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "37k stars, 5.3M npm/wk",
        "b": "47k npm/wk, 63k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "3/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Steel scores 70.4 (BB) on agent readiness against Playwright MCP's 67.6 (B), and leads in 3 of 7 scored categories. Playwright MCP leads on agent ergonomics and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Playwright MCP or Steel?"
      },
      {
        "answer": "Playwright MCP needs no key. Steel needs an API key. An agent can also pay Steel per call over x402, with no account.",
        "question": "Do Playwright MCP and Steel need an API key?"
      },
      {
        "answer": "Playwright MCP runs on your own machine, with no hosted endpoint listed. Steel has a hosted endpoint at https://api.steel.dev.",
        "question": "Can an agent call Playwright MCP and Steel without installing anything?"
      },
      {
        "answer": "Yes. Playwright MCP is open source (Apache-2.0). Steel is open source (Proprietary cloud service under Steel's terms. steel-browser and the Node and Python SDKs are Apache-2.0. The MCP server and the CLI are MIT).",
        "question": "Are Playwright MCP and Steel open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Agent ergonomics, 84 against 79",
          "Transparency \u0026 trust, 72 against 64"
        ],
        "also": [
          "No key needed to call it"
        ],
        "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": [
          "Schema \u0026 documentation, 86 against 70",
          "Payments \u0026 pricing, 75 against 60"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "An agent can pay per call over x402, with no account",
          "A hosted endpoint, with nothing to install",
          "Free to start without a card"
        ],
        "goodFor": "Agents that need a real cloud browser with persistent profiles, stored logins, CAPTCHA solving and a human takeover path, and teams that want an open-source runtime they can also self-host.",
        "slug": "steel",
        "watchFor": "Three incidents of more than an hour hit the API or session creation in the 90 days to 8 October 2026, the longest 5 hours 41 minutes"
      }
    ],
    "job": {
      "capability": "browser.control",
      "name": "Browser automation"
    },
    "others": [
      {
        "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-steel.json",
        "title": "Airtop vs Steel",
        "url": "https://www.anchorterminal.com/compare/airtop-vs-steel"
      },
      {
        "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-steel.json",
        "title": "Anchor Browser vs Steel",
        "url": "https://www.anchorterminal.com/compare/anchor-browser-vs-steel"
      },
      {
        "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-steel.json",
        "title": "Browser Use vs Steel",
        "url": "https://www.anchorterminal.com/compare/browser-use-vs-steel"
      },
      {
        "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/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-steel.json",
        "title": "Browserless vs Steel",
        "url": "https://www.anchorterminal.com/compare/browserless-vs-steel"
      },
      {
        "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-steel.json",
        "title": "Chrome DevTools MCP vs Steel",
        "url": "https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-steel"
      },
      {
        "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-steel.json",
        "title": "Hyperbrowser vs Steel",
        "url": "https://www.anchorterminal.com/compare/hyperbrowser-vs-steel"
      },
      {
        "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-steel.json",
        "title": "Notte vs Steel",
        "url": "https://www.anchorterminal.com/compare/notte-vs-steel"
      },
      {
        "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/puppeteer-reference-server-archived-vs-steel.json",
        "title": "Puppeteer (archived MCP reference server) vs Steel",
        "url": "https://www.anchorterminal.com/compare/puppeteer-reference-server-archived-vs-steel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/skyvern-vs-steel.json",
        "title": "Skyvern vs Steel",
        "url": "https://www.anchorterminal.com/compare/skyvern-vs-steel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserbase-vs-steel.json",
        "title": "Browserbase vs Steel",
        "url": "https://www.anchorterminal.com/compare/browserbase-vs-steel"
      }
    ],
    "scores": [
      {
        "by": 1,
        "edge": "steel",
        "key": "reliability",
        "name": "Reliability",
        "playwright-mcp": 57,
        "steel": 58,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 16,
        "edge": "steel",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "playwright-mcp": 70,
        "steel": 86,
        "weight": 13
      },
      {
        "by": 5,
        "edge": "playwright-mcp",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "playwright-mcp": 84,
        "steel": 79,
        "weight": 13
      },
      {
        "by": 1,
        "edge": "playwright-mcp",
        "key": "security",
        "name": "Security \u0026 auth",
        "playwright-mcp": 57,
        "steel": 56,
        "weight": 14
      },
      {
        "by": 15,
        "edge": "steel",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "playwright-mcp": 60,
        "steel": 75,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 2,
        "edge": "playwright-mcp",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "playwright-mcp": 84,
        "steel": 82,
        "weight": 7
      },
      {
        "by": 8,
        "edge": "playwright-mcp",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "playwright-mcp": 72,
        "steel": 64,
        "weight": 7
      }
    ],
    "summary": "Steel scores 70.4 (BB) on agent readiness against Playwright MCP's 67.6 (B), and leads in 3 of 7 scored categories. Playwright MCP leads on agent ergonomics and transparency \u0026 trust. Both do browser automation. Steel accepts x402. Playwright MCP doesn't.",
    "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.",
      "steel": "The hosted API has a public OpenAPI document, per-unit prices, $30 of starting credit and x402 payment for scrape, screenshot and PDF calls. The status page records three API or session-creation incidents of more than an hour in 90 days, and the documented CDP connection puts the API key in the URL."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/playwright-mcp-vs-steel",
    "json": "https://www.anchorterminal.com/compare/playwright-mcp-vs-steel.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/playwright-mcp-vs-steel.md",
    "slim": "https://www.anchorterminal.com/compare/playwright-mcp-vs-steel.min.md"
  },
  "markdown": "Steel scores 70.4 (BB) on agent readiness against Playwright MCP's 67.6 (B), and leads in 3 of 7 scored categories. Playwright MCP leads on agent ergonomics and transparency \u0026 trust. Both do browser automation. Steel accepts x402. Playwright MCP doesn't.\n\n- Playwright MCP: grade B, 67.6/100, rank #203 of 722. Markdown https://www.anchorterminal.com/tools/playwright-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/playwright-mcp.json\n- Steel: grade BB, 70.4/100, rank #136 of 722. Markdown https://www.anchorterminal.com/tools/steel.md · JSON https://www.anchorterminal.com/api/v1/tools/steel.json\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 79\n- Transparency \u0026 trust, 72 against 64\n\nAlso in its favour:\n- No key needed to call it\n\nWatch for: `browser_run_code_unsafe` runs arbitrary JavaScript in the server process and can't be switched off\n\n### Steel (BB)\n\nGood for: Agents that need a real cloud browser with persistent profiles, stored logins, CAPTCHA solving and a human takeover path, and teams that want an open-source runtime they can also self-host.\n\nAhead on:\n- Schema \u0026 documentation, 86 against 70\n- Payments \u0026 pricing, 75 against 60\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- An agent can pay per call over x402, with no account\n- A hosted endpoint, with nothing to install\n- Free to start without a card\n\nWatch for: Three incidents of more than an hour hit the API or session creation in the 90 days to 8 October 2026, the longest 5 hours 41 minutes\n\n\n## Score by category\n\n| Category | Weight | Playwright MCP | Steel | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 57 | 58 | Steel +1 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 70 | 86 | Steel +16 |\n| Agent ergonomics | 13% (16.2 this run) | 84 | 79 | Playwright MCP +5 |\n| Security \u0026 auth | 14% (17.5 this run) | 57 | 56 | Playwright MCP +1 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 75 | Steel +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 84 | 82 | Playwright MCP +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 72 | 64 | Playwright MCP +8 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **67.6 · B** | **70.4 · BB** | |\n\n## Facts side by side\n\n| Fact | Playwright MCP | Steel |\n| --- | --- | --- |\n| Kind | MCP server | HTTP API |\n| Vendor | Microsoft | Nen Labs, Inc. |\n| Hosted endpoint | no (local only) | `https://api.steel.dev` |\n| Transports | stdio, Streamable HTTP, SSE (legacy) | HTTP, stdio |\n| Auth | None | API key |\n| Pricing | Free | Freemium |\n| x402 | no | yes, from $0.01/call |\n| Licence | Apache-2.0 | Proprietary cloud service under Steel's terms. steel-browser and the Node and Python SDKs are Apache-2.0. The MCP server and the CLI are MIT |\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-02 |\n| Terms last updated | no document linked | 2025-02-05 |\n| Privacy policy last updated | no document linked | 2026-02-05 |\n| Customer content may train models |  | not found in the text |\n| Terms restrict automated access |  | yes |\n| Terms restrict benchmarking |  | yes |\n| Terms or service can change without notice |  | yes |\n| Arbitration or class-action waiver |  | yes |\n| Popularity | 37k stars, 5.3M npm/wk | 47k npm/wk, 63k 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**Steel.** The hosted API has a public OpenAPI document, per-unit prices, $30 of starting credit and x402 payment for scrape, screenshot and PDF calls. The status page records three API or session-creation incidents of more than an hour in 90 days, and the documented CDP connection puts the API key in the URL.\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### Steel\n\n1. Use `POST /v1/scrape` for pages you only need to read. It starts no session and costs $5 per 1,000 calls, or $0.01 a call by x402\n2. Release every session with `POST /v1/sessions/{id}/release` and set `inactivityTimeout`. Browser time bills by the minute, rounded up\n3. Build the CDP URL as `wss://connect.steel.dev?apiKey=\u003ckey\u003e\u0026sessionId=\u003cid\u003e` and keep it out of logs, because it carries the key\n4. Launch sessions end after 15 minutes at most, and `timeout` cannot be changed on a live session\n5. CAPTCHA solving and Steel's managed proxies on Launch need $10 of paid balance. Free credit does not count\n\n## Questions\n\n### Which is better for AI agents, Playwright MCP or Steel?\n\nSteel scores 70.4 (BB) on agent readiness against Playwright MCP's 67.6 (B), and leads in 3 of 7 scored categories. Playwright MCP leads on agent ergonomics and transparency \u0026 trust.\n\n### Do Playwright MCP and Steel need an API key?\n\nPlaywright MCP needs no key. Steel needs an API key. An agent can also pay Steel per call over x402, with no account.\n\n### Can an agent call Playwright MCP and Steel without installing anything?\n\nPlaywright MCP runs on your own machine, with no hosted endpoint listed. Steel has a hosted endpoint at https://api.steel.dev.\n\n### Are Playwright MCP and Steel open source?\n\nYes. Playwright MCP is open source (Apache-2.0). Steel is open source (Proprietary cloud service under Steel's terms. steel-browser and the Node and Python SDKs are Apache-2.0. The MCP server and the CLI are MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/playwright-mcp-vs-steel.json, and with the fewest tokens: https://www.anchorterminal.com/compare/playwright-mcp-vs-steel.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"playwright-mcp\", \"b\": \"steel\"}`. From a terminal: `anchor compare playwright-mcp steel`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/playwright-mcp.json and https://www.anchorterminal.com/api/v1/tools/steel.json\n\n## Other comparisons with Playwright MCP or Steel\n\n- [Airtop vs Playwright MCP](https://www.anchorterminal.com/compare/airtop-vs-playwright-mcp.md)\n- [Airtop vs Steel](https://www.anchorterminal.com/compare/airtop-vs-steel.md)\n- [Anchor Browser vs Playwright MCP](https://www.anchorterminal.com/compare/anchor-browser-vs-playwright-mcp.md)\n- [Anchor Browser vs Steel](https://www.anchorterminal.com/compare/anchor-browser-vs-steel.md)\n- [Browser Use vs Playwright MCP](https://www.anchorterminal.com/compare/browser-use-vs-playwright-mcp.md)\n- [Browser Use vs Steel](https://www.anchorterminal.com/compare/browser-use-vs-steel.md)\n- [Browserbase vs Playwright MCP](https://www.anchorterminal.com/compare/browserbase-vs-playwright-mcp.md)\n- [Browserless vs Playwright MCP](https://www.anchorterminal.com/compare/browserless-vs-playwright-mcp.md)\n- [Browserless vs Steel](https://www.anchorterminal.com/compare/browserless-vs-steel.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 Steel](https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-steel.md)\n- [Hyperbrowser vs Playwright MCP](https://www.anchorterminal.com/compare/hyperbrowser-vs-playwright-mcp.md)\n- [Hyperbrowser vs Steel](https://www.anchorterminal.com/compare/hyperbrowser-vs-steel.md)\n- [Notte vs Playwright MCP](https://www.anchorterminal.com/compare/notte-vs-playwright-mcp.md)\n- [Notte vs Steel](https://www.anchorterminal.com/compare/notte-vs-steel.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- [Puppeteer (archived MCP reference server) vs Steel](https://www.anchorterminal.com/compare/puppeteer-reference-server-archived-vs-steel.md)\n- [Skyvern vs Steel](https://www.anchorterminal.com/compare/skyvern-vs-steel.md)\n- [Browserbase vs Steel](https://www.anchorterminal.com/compare/browserbase-vs-steel.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "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 Steel",
        "url": ""
      }
    ],
    "description": "Steel scores 70.4 (BB) on agent readiness against Playwright MCP's 67.6 (B), and leads in 3 of 7 scored categories. Playwright MCP leads on agent ergonomics and transparency \u0026 trust. Both do browser automation. Steel accepts x402. Playwright MCP doesn't. Category scores, facts…",
    "facts": [
      "Playwright MCP B 67.6",
      "Steel BB 70.4",
      "scores"
    ],
    "h1": "Playwright MCP vs Steel",
    "image": "https://www.anchorterminal.com/assets/og/compare-playwright-mcp-vs-steel.png",
    "path": "/compare/playwright-mcp-vs-steel",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Playwright MCP vs Steel for AI agents, B 67.6 vs BB 70.4",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/playwright-mcp-vs-steel"
  },
  "tokens": {
    "markdown": 2400,
    "slim": 830
  },
  "version": 1
}
