{
  "data": {
    "a": {
      "slug": "chrome-devtools-mcp",
      "name": "Chrome DevTools MCP",
      "vendor": "Google (Chrome DevTools team)",
      "vendorUrl": "https://developer.chrome.com/docs/devtools",
      "kind": "mcp",
      "category": "browser",
      "summary": "Lets coding agents control and inspect a live Chrome instance.",
      "url": "https://www.anchorterminal.com/tools/chrome-devtools-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/chrome-devtools-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/chrome-devtools-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/chrome-devtools-mcp.json",
      "repo": "https://github.com/ChromeDevTools/chrome-devtools-mcp",
      "license": "Apache-2.0",
      "transports": [
        "stdio"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "chrome-devtools-mcp"
        }
      ],
      "auth": "none",
      "authNotes": "Local process; supports custom WebSocket headers when attaching to an authenticated remote Chrome endpoint.",
      "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": 59,
      "popularity": {
        "githubStars": 49300,
        "npmWeekly": 1500288,
        "pypiWeekly": null,
        "asOf": "2026-09-26"
      },
      "docsUrl": "https://github.com/ChromeDevTools/chrome-devtools-mcp#readme",
      "registryName": "io.github.ChromeDevTools/chrome-devtools-mcp",
      "capabilities": [
        "browser.control",
        "browser.debug"
      ],
      "tags": [
        "official",
        "local",
        "open-source",
        "browser",
        "devtools"
      ],
      "lastRelease": "2026-09-23",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 77.1,
        "grade": "BB",
        "agentReady": true,
        "rank": 22,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 1,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 83,
          "maintenance": 93,
          "payments": 60,
          "reliability": 83,
          "schema": 87,
          "security": 63,
          "transparency": 82
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "high",
          "date": "2026-10-01"
        },
        "negative": -1,
        "negativeNotes": [
          "-1: two moderate advisories published by the maintainers, GHSA-3pvj-jv98-qhjq on 2026-06-15 (daemon.pid written through symlinks in the /tmp fallback directory) and GHSA-8qf9-62x2-82pp on 2026-06-16 (path validation not canonicalising symlinks before enforcing roots). Fixed and disclosed in public, so a small deduction (https://github.com/ChromeDevTools/chrome-devtools-mcp/security/advisories)."
        ],
        "verdict": "Performance traces, network inspection, heap snapshots and Lighthouse audits in one server. Usage statistics go to Google by default until you pass `--no-usage-statistics`.",
        "strengths": [
          "Performance traces, network inspection, heap snapshots and Lighthouse audits in one server",
          "Every tool carries `readOnlyHint`, and category flags and `--slim` cut the tool list from about 30 to three",
          "`--javascript-evaluation false`, URL allow and block patterns and MCP roots for least privilege",
          "Seven releases since 3 July 2026, CI on three systems and three Node versions, listed in the official MCP registry",
          "Reports go through Google's open-source vulnerability reward programme, and two advisories were published in public in June 2026"
        ],
        "weaknesses": [
          "Usage statistics go to Google by default until you pass `--no-usage-statistics`",
          "`--isolated` and network header redaction are off by default, so the agent sees a persistent profile and raw headers",
          "1.8.0 made `pageId` required on page tools in a minor release, filed under `Features`",
          "SECURITY.md treats prompt injection from page content as the client's problem",
          "77 open issues, including traces over about 512 MB failing to stop"
        ],
        "agentNotes": [
          "Pass `pageId` on every page tool. Call `list_pages` first to get it",
          "Start with `--slim` for plain browsing, or turn off categories you don't need",
          "Run with `--isolated` for untrusted sites. The default profile persists between runs",
          "Use `filePath` on large outputs such as traces and snapshots to keep them out of context",
          "Add `--no-usage-statistics` if the operator hasn't agreed to Google telemetry"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "high",
            "grade": "BB",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 77.1
          }
        ],
        "editorialScores": {
          "ergonomics": 83,
          "maintenance": 93,
          "payments": 60,
          "reliability": 83,
          "schema": 87,
          "security": 63,
          "transparency": 76
        },
        "provenanceScore": 88
      },
      "connect": {
        "claudeCode": "claude mcp add chrome-devtools -- npx -y chrome-devtools-mcp@latest",
        "config": {
          "mcpServers": {
            "chrome-devtools": {
              "args": [
                "-y",
                "chrome-devtools-mcp@latest"
              ],
              "command": "npx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/browser.control",
        "tool": "https://letme.dev/chrome-devtools-mcp"
      },
      "sameCompany": [
        "gemini-api",
        "gemini-embedding",
        "vertex-ai-tuning",
        "google-model-armor",
        "google-imagen",
        "google-veo",
        "google-lyria",
        "google-speech-to-text",
        "google-adk",
        "google-secret-manager",
        "google-weather-api",
        "google-maps-platform",
        "google-cloud-translation",
        "google-calendar-api",
        "google-drive-api",
        "gemini-cli"
      ],
      "area": "developer",
      "provenance": {
        "legalEntity": "Google LLC",
        "domain": "google.com",
        "domainRegistered": "1997-09-15",
        "domainNote": "Published by Google under the ChromeDevTools organisation on GitHub.",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "https://policies.google.com/privacy",
        "statusPage": "",
        "changelog": "https://github.com/ChromeDevTools/chrome-devtools-mcp/blob/main/CHANGELOG.md",
        "securityTxt": "valid",
        "checked": "2026-09-26",
        "score": 88
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/chrome-devtools-mcp.json",
      "live": {
        "slug": "chrome-devtools-mcp",
        "versions": [
          {
            "registry": "github",
            "name": "ChromeDevTools/chrome-devtools-mcp",
            "version": "chrome-devtools-mcp-v1.10.1",
            "released": "2026-09-23",
            "seenAt": "2026-10-04T16:23:27.759152799Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.ChromeDevTools/chrome-devtools-mcp",
            "version": "1.10.1",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          },
          {
            "registry": "npm",
            "name": "chrome-devtools-mcp",
            "version": "1.10.1",
            "seenAt": "2026-10-04T16:23:27.153032657Z"
          }
        ],
        "githubStars": 52950,
        "npmWeekly": 1798972,
        "securityTxt": {
          "url": "https://google.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2030-04-01T00:00:00z",
          "checkedAt": "2026-10-04T15:15:53.387118101Z"
        },
        "domain": {
          "domain": "google.com",
          "registered": "1997-09-15",
          "source": "https://rdap.verisign.com/com/v1/domain/google.com",
          "checkedAt": "2026-10-04T13:05:50.737985829Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/ChromeDevTools/chrome-devtools-mcp/main/CHANGELOG.md",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:13.064514772Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c5c9bfd3800b"
          },
          {
            "url": "https://policies.google.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:54.224880164Z",
            "changedAt": "2026-10-02T15:23:08.649962611Z",
            "fingerprint": "5d0b010ca1ea"
          }
        ],
        "updatedAt": "2026-10-04T23:42:40.113054682Z"
      }
    },
    "b": {
      "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": 138,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 3,
        "methodology": "0.3",
        "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.",
        "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.3",
            "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-learn-mcp",
        "azure-mcp",
        "azure-translator",
        "microsoft-graph-calendar"
      ],
      "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-04T16:37:00.129175455Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.microsoft/playwright-mcp",
            "version": "0.0.82",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          },
          {
            "registry": "npm",
            "name": "@playwright/mcp",
            "version": "0.0.83",
            "seenAt": "2026-10-04T16:36:58.164206282Z"
          }
        ],
        "githubStars": 37812,
        "npmWeekly": 8942004,
        "securityTxt": {
          "url": "https://playwright.dev/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:38.710216151Z"
        },
        "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-04T23:42:40.113054682Z"
      }
    },
    "summary": "Chrome DevTools MCP has a score of 77.1 (BB) against Playwright MCP's 67.6 (B). Both do browser automation. The largest gap is reliability, 26 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-playwright-mcp",
    "json": "https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-playwright-mcp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-playwright-mcp.md",
    "slim": "https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-playwright-mcp.min.md"
  },
  "markdown": "Chrome DevTools MCP has a score of 77.1 (BB) against Playwright MCP's 67.6 (B). Both do browser automation. The largest gap is reliability, 26 points.\n\n- Chrome DevTools MCP: grade BB, 77.1/100, rank #22 of 452. Markdown https://www.anchorterminal.com/tools/chrome-devtools-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/chrome-devtools-mcp.json\n- Playwright MCP: grade B, 67.6/100, rank #138 of 452. Markdown https://www.anchorterminal.com/tools/playwright-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/playwright-mcp.json\n\n## Which one, for what\n\nPick Chrome DevTools MCP for reliability (+26), schema \u0026 documentation (+17), security \u0026 auth (+6), maintenance \u0026 community (+9), transparency \u0026 trust (+10).\n\nPick Playwright MCP for nothing in particular (no category where it leads by five points or more).\n\n## Score by category\n\n| Category | Weight | Chrome DevTools MCP | Playwright MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 83 | 57 | Chrome DevTools MCP +26 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 87 | 70 | Chrome DevTools MCP +17 |\n| Agent ergonomics | 13% (16.2 this run) | 83 | 84 | Playwright MCP +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 63 | 57 | Chrome DevTools MCP +6 |\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) | 93 | 84 | Chrome DevTools MCP +9 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 82 | 72 | Chrome DevTools MCP +10 |\n| Negative events | ≤15 | -1 | 0 | |\n| **Total** | | **77.1 · BB** | **67.6 · B** | |\n\n## Facts side by side\n\n| Fact | Chrome DevTools MCP | Playwright MCP |\n| --- | --- | --- |\n| Kind | MCP server | MCP server |\n| Vendor | Google (Chrome DevTools team) | Microsoft |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | stdio | stdio, Streamable HTTP, SSE (legacy) |\n| Auth | None | None |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | Apache-2.0 | Apache-2.0 |\n| Tools exposed | 59 | 72 |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| MCP registry | `io.github.ChromeDevTools/chrome-devtools-mcp` | `io.github.microsoft/playwright-mcp` |\n| Last release | 2026-09-23 | 2026-09-28 |\n| Popularity | 49k stars, 1.5M npm/wk | 37k stars, 5.3M npm/wk |\n| Agent reviews | 3.5/5 (8) | 3/5 (2) |\n\n## Verdicts\n\n**Chrome DevTools MCP.** Performance traces, network inspection, heap snapshots and Lighthouse audits in one server. Usage statistics go to Google by default until you pass `--no-usage-statistics`.\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## Before you call either\n\n### Chrome DevTools MCP\n\n1. Pass `pageId` on every page tool. Call `list_pages` first to get it\n2. Start with `--slim` for plain browsing, or turn off categories you don't need\n3. Run with `--isolated` for untrusted sites. The default profile persists between runs\n4. Use `filePath` on large outputs such as traces and snapshots to keep them out of context\n5. Add `--no-usage-statistics` if the operator hasn't agreed to Google telemetry\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## Other comparisons with Chrome DevTools MCP or Playwright MCP\n\n- [Browserbase vs Chrome DevTools MCP](https://www.anchorterminal.com/compare/browserbase-vs-chrome-devtools-mcp.md)\n- [Browserbase vs Playwright MCP](https://www.anchorterminal.com/compare/browserbase-vs-playwright-mcp.md)\n- [Chrome DevTools MCP vs Puppeteer (archived MCP reference server)](https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-puppeteer-reference-server-archived.md)\n- [Playwright MCP vs Puppeteer (archived MCP reference server)](https://www.anchorterminal.com/compare/playwright-mcp-vs-puppeteer-reference-server-archived.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "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": "Chrome DevTools MCP vs Playwright MCP",
        "url": ""
      }
    ],
    "description": "Chrome DevTools MCP has a score of 77.1 (BB) against Playwright MCP's 67.6 (B). Both do browser automation. The largest gap is reliability, 26 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Chrome DevTools MCP BB 77.1",
      "Playwright MCP B 67.6",
      "scores"
    ],
    "h1": "Chrome DevTools MCP vs Playwright MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-chrome-devtools-mcp-vs-playwright-mcp.png",
    "path": "/compare/chrome-devtools-mcp-vs-playwright-mcp",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Chrome DevTools MCP vs Playwright MCP for AI agents, BB 77.1 vs B 67.6",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-playwright-mcp"
  },
  "tokens": {
    "markdown": 1350,
    "slim": 380
  },
  "version": 1
}
