Guide

Browser Automation MCP Servers Compared (2026): Playwright, Browserbase, Browserless, Browser Use, Bright Data and Chrome DevTools

Which browser automation MCP server should my AI agent use, and how do I set it up?

For local testing and CI, use Playwright MCP from Microsoft: it is open source, runs on your machine, needs no account, and drives pages through the accessibility tree. For debugging and performance work in Chrome, add Google's Chrome DevTools MCP. For sites that block bots, use Bright Data's browser tools or Browserless, which both list CAPTCHA solving in their free tiers. For cloud scale, Browserbase and Browserless run many browsers at once, and for plain-English tasks, Browser Use runs a full agent session from one instruction.

Compare: the best MCP servers for scraping, search, browser automation and databases →

Coding agent settings change often

Get one email a week when a setting, flag or permission rule changes, checked against the vendor docs.

Try it

  • Bright Data: remote browser with anti-bot, CAPTCHA handling and proxy rotation for sites that block automation

Partner links: AgentAtlas may earn a commission. It does not change what we recommend.

Quick comparison

  • Playwright MCP (Microsoft): local browser control with tools like browser_navigate, browser_click and browser_snapshot. Runs on your machine. Free and open source (Apache License 2.0). No paid plan.
  • Chrome DevTools MCP (Google): local Chrome control plus performance traces, network and console inspection, Lighthouse audits and memory snapshots. Runs on your machine. Free and open source (Apache License 2.0). No paid plan.
  • Browserbase MCP: cloud browsers driven by natural-language tools (navigate, act, observe, extract), built on Stagehand. Hosted endpoint or local npx. Free: 1 browser hour and 3 concurrent browsers, no CAPTCHA solving. Paid: Developer, $20/month for 100 browser hours.
  • Browserless MCP: cloud browsers with a stateful browserless_agent tool plus scrape, search, crawl, export and performance tools. Hosted endpoint or local npx. Free: 1k units/month and 2 concurrent browsers, with CAPTCHA solving. Paid: Prototyping, $25/month billed annually for 20k units.
  • Browser Use MCP: hosted endpoint; you send a task in plain English and a Browser Use agent runs it in a cloud browser (run_session, send_task). Free: a one-time $1 credit for eligible signups, no subscription. Paid: pay as you go, with no monthly plan; cloud browsers cost $0.02 per browser-hour plus model tokens.
  • Bright Data browser tools: 13 scraping_browser_* tools that drive a remote browser through Bright Data's unblocking network. Hosted endpoint or local npx. Free: 5,000 requests/month, no credit card, browser automation included. Paid: pay as you go, $8/GB for browser navigation; the Scale plan is $499/month.
  • Prices and free tiers were checked on each vendor's pricing or docs page on 2026-10-23 and change often.

Playwright MCP (Microsoft)

Playwright MCP runs a real browser on your machine. It reads pages through Playwright's accessibility tree instead of screenshots, so the model does not need vision. The browser opens with a visible window by default; add --headless for servers and CI.

Claude Code

claude mcp add playwright npx @playwright/mcp@latest

Any agent (mcpServers JSON)

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@playwright/mcp@latest"]
    }
  }
}
  • Main tools: browser_navigate, browser_snapshot, browser_click, browser_type, browser_fill_form, browser_select_option, browser_take_screenshot, browser_wait_for, browser_tabs, browser_network_requests, browser_console_messages, browser_evaluate.
  • Options: --headless, --browser (chrome, firefox, webkit, msedge), --isolated (keep the profile in memory), --user-data-dir, --caps (vision, pdf, devtools), --cdp-endpoint (connect to an existing browser), --port.
  • Each option has a matching env var, such as PLAYWRIGHT_MCP_HEADLESS, PLAYWRIGHT_MCP_BROWSER and PLAYWRIGHT_MCP_CDP_ENDPOINT.
  • Gotcha: browser_run_code_unsafe is in the core tool set and runs arbitrary code in the Playwright server process; the README calls it RCE-equivalent. Use it only with prompts you trust.
  • Gotcha: the README says coding agents increasingly favor Playwright's CLI with skills over MCP; MCP still fits loops that need persistent state.
  • Requires Node.js 18 or newer. No cloud browsers, proxies or CAPTCHA solving.

Chrome DevTools MCP (Google)

Chrome DevTools MCP gives the agent a Chrome browser plus DevTools: performance traces, network requests, console messages, Lighthouse audits and heap snapshots. Pick it to debug or speed up your own site, not to scrape other sites.

Claude Code

claude mcp add chrome-devtools --scope user npx chrome-devtools-mcp@latest

Any agent (mcpServers JSON)

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": ["-y", "chrome-devtools-mcp@latest"]
    }
  }
}
  • Main tools: navigate_page, new_page, click, fill, fill_form, type_text, take_snapshot, take_screenshot, evaluate_script, list_network_requests, list_console_messages, performance_start_trace, performance_stop_trace, lighthouse_audit, take_heapsnapshot.
  • Options: --headless, --isolated, --slim (a smaller tool set), --no-usage-statistics, --no-performance-crux.
  • Gotcha: usage statistics are on by default. Turn them off with --no-usage-statistics or the CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS env var.
  • Gotcha: performance tools may send trace URLs to the Google CrUX API; use --no-performance-crux to stop that.
  • Officially supports Google Chrome and Chrome for Testing only. Needs Node.js LTS and current stable Chrome.

Browserbase MCP

Browserbase runs the browser in its cloud. Its MCP server is built on Stagehand, so tools take plain-English instructions such as "click the login button" instead of selectors. Browserbase recommends the hosted endpoint.

Claude Code, hosted endpoint

claude mcp add --transport http browserbase "https://mcp.browserbase.com/mcp?browserbaseApiKey=YOUR_BROWSERBASE_API_KEY"

Any agent, local (mcpServers JSON)

{
  "mcpServers": {
    "browserbase": {
      "command": "npx",
      "args": ["@browserbasehq/mcp"],
      "env": {
        "BROWSERBASE_API_KEY": "YOUR_BROWSERBASE_API_KEY",
        "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY"
      }
    }
  }
}
  • Main tools: start, navigate, act, observe, extract, end. Each accepts an optional sessionId.
  • Env vars for local use: BROWSERBASE_API_KEY and GEMINI_API_KEY (the model Stagehand uses).
  • Local flags listed in the GitHub README: --proxies, --verified (--advancedStealth is a deprecated alias), --keepAlive, --contextId, --persist, --modelName, --modelApiKey.
  • Gotcha: the GitHub repo for the local server is archived and no longer maintained. Use the hosted endpoint.
  • Gotcha: the free plan has no CAPTCHA solving and no stealth. Auto CAPTCHA solving and 1GB of proxies start on the $20 Developer plan.

Browserless MCP

Browserless runs browsers in its cloud. Its MCP server mixes one stateful agent tool with stateless REST tools for scraping, search, crawling and exports. The hosted endpoint accepts a Bearer token, a token query parameter, or OAuth sign-in.

Claude Code, hosted endpoint

claude mcp add --transport http browserless https://mcp.browserless.io/mcp \
  --header "Authorization: Bearer YOUR_API_TOKEN_HERE"

Any agent, local (mcpServers JSON)

{
  "mcpServers": {
    "browserless": {
      "command": "npx",
      "args": ["-y", "@browserless.io/mcp"],
      "env": { "BROWSERLESS_TOKEN": "YOUR_API_TOKEN_HERE" }
    }
  }
}
  • Main tools: browserless_agent (stateful browser), browserless_smartscraper, browserless_function, browserless_export, browserless_search, browserless_map, browserless_crawl, browserless_performance, browserless_skill, plus read-only account tools such as browserless_usage and browserless_sessions.
  • Env vars: BROWSERLESS_TOKEN (required), BROWSERLESS_API_URL (default https://production-sfo.browserless.io; London and Amsterdam endpoints exist), TRANSPORT, PORT, BROWSERLESS_TIMEOUT, BROWSERLESS_MAX_RETRIES, BROWSERLESS_CACHE_TTL.
  • Gotcha: billing is in units. A unit is up to 30 seconds of browser time per connection. Residential proxies cost 6 units per MB and each solved CAPTCHA costs 10 units.
  • Gotcha: all paid prices on the pricing page are billed annually (Prototyping $25/month, Starter $140/month, Scale $350/month); monthly-billing prices are not shown.

Browser Use MCP

Browser Use's MCP server is a hosted endpoint at api.browser-use.com. Instead of clicking step by step, the agent hands a whole task to a Browser Use agent, which runs it in a cloud browser and reports back. It runs API V3 sessions.

Claude Code, hosted endpoint

claude mcp add -t http -H "Authorization: Bearer YOUR_API_KEY" browser-use https://api.browser-use.com/v3/mcp

Claude Desktop (mcpServers JSON via mcp-remote)

{
  "mcpServers": {
    "browser-use": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.browser-use.com/v3/mcp",
        "--header",
        "Authorization:${BROWSER_USE_AUTH_HEADER}"
      ],
      "env": { "BROWSER_USE_AUTH_HEADER": "Bearer YOUR_API_KEY" }
    }
  }
}
  • Main tools: run_session, send_task, get_session, get_session_messages, stop_session, list_sessions, list_browser_profiles.
  • Auth: Authorization: Bearer YOUR_API_KEY. The older x-browser-use-api-key header still works.
  • Gotcha: V3 uses token-based pricing: 1.2x provider token rates with a Browser Use-hosted model, or provider cost plus a 0.2x fee with your own model key. Cloud browsers add $0.02 per browser-hour.
  • Gotcha: the free $1 credit is one-time and does not renew.

Bright Data browser tools

Bright Data's MCP server includes a browser group of 13 scraping_browser_* tools. They drive a remote browser through Bright Data's network, which is built for sites that block bots. To load them, add groups=browser to the hosted URL or set GROUPS=browser locally.

Claude Code, hosted endpoint with browser tools

claude mcp add --transport http brightdata "https://mcp.brightdata.com/mcp?token=YOUR_API_TOKEN&groups=browser"

Any agent, local (mcpServers JSON)

{
  "mcpServers": {
    "Bright Data": {
      "command": "npx",
      "args": ["@brightdata/mcp"],
      "env": {
        "API_TOKEN": "YOUR_API_TOKEN",
        "GROUPS": "browser"
      }
    }
  }
}
  • Browser tools: scraping_browser_navigate, scraping_browser_go_back, scraping_browser_go_forward, scraping_browser_snapshot, scraping_browser_click_ref, scraping_browser_type_ref, scraping_browser_screenshot, scraping_browser_get_text, scraping_browser_get_html, scraping_browser_scroll, scraping_browser_scroll_to_ref, scraping_browser_wait_for_ref, scraping_browser_network_requests.
  • Env vars: API_TOKEN (required), BROWSER_ZONE (default mcp_browser), GROUPS, TOOLS (add single tools).
  • Gotcha: browser navigation is billed by bandwidth ($8/GB pay as you go, $6/GB on Scale), while search and scrape are billed per request ($1.5 per 1K).

Which one to pick

  • Local testing while you code: Playwright MCP. Add Chrome DevTools MCP when you need performance traces or Lighthouse.
  • CI: Playwright MCP with --headless and --isolated, so no profile is left on disk and no account is needed.
  • Scale and stealth: Browserbase (stealth and proxies on paid plans, advanced stealth on Scale) or Browserless (regional endpoints in the US and Europe, with CAPTCHA solving billed in units).
  • Sites that block bots: Bright Data's browser tools, or Browserless, which includes CAPTCHA solving and proxies in its free plan.
  • Natural-language tasks: Browser Use for whole tasks from one instruction, or Browserbase's act and extract for step-by-step plain-English control.
  • Prices and free tiers were checked on each vendor's pricing or docs page on 2026-10-23.

Get coding agent settings changes by email

When a setting, flag or permission rule in this guide changes, it goes in the weekly AgentAtlas update, checked against the vendor docs. One email a week.

Sources

More guides

Other guides

How to allow Cursor to run all commands: Run Everything, allowlist and sandboxHow to allow Claude Code to run all commands: permission modes, allow rules and skip permissionsClaude Code permissions: allow, ask and deny rules, rule syntax and allowed toolsCodex CLI: approval and sandbox modesGemini CLI: YOLO mode, auto_edit and allowing specific shell commandsCursor Privacy Mode: telemetry, training and data retentionClaude Code telemetry and data retention: what is sent and how to turn it offGemini CLI: turn off usage statistics and telemetryCLAUDE.md: where it goes, how it loads, and how it works with AGENTS.mdClaude Code hooks: all events, exit codes, PreToolUse and PermissionRequest JSON, examplesClaude Code subagents: create one, limit its tools, and call itAdd MCP servers to Cursor with mcp.json: Keep files out of Cursor with .cursorignore: Configure Codex with config.toml: Configure Gemini CLI with settings.json: Add MCP servers to Claude Code (claude mcp add, .mcp.json, scopes): Claude Code custom slash commands and skills (SKILL.md): GitHub Copilot custom instructions: Adding MCP servers to GitHub Copilot: Claude Code settings.json: file locations, precedence, and key settingsClaude Code plugins and marketplaces: install, create, and shareGemini CLI extensions and custom commands: Configuring OpenCode with opencode.json: Cline Rules: workspace, global, and conditional rulesKiro steering files: .kiro/steering, inclusion modes, and AGENTS.mdZed agent: instruction files, MCP servers, tool permissions, and ACP agentsCursor CLI: install, headless mode, permissions and CIAider: CONVENTIONS.md, .aider.conf.yml and API keysJunie guidelines, MCP and the Action Allowlist: Amp AGENTS.md, settings.json and MCP: Configure Goose extensions, hints, recipes and permissions: Customize OpenHands with skills, AGENTS.md, setup.sh and MCP: Configure Factory Droid CLI: AGENTS.md, settings.json, autonomy, custom droids and MCPConfigure Qwen Code: settings.json, providers, QWEN.md, MCP and approval modesCursor hooks: hooks.json, beforeShellExecution, afterFileEdit and exit codesCursor sandbox: sandbox.json, network allowlist and run modesCursor settings: settings.json, Cursor Settings and the ~/.cursor config filesCursor browser agent: @browser, browser automation and approval modesCursor subagents: .cursor/agents, frontmatter, built-in Explore and BrowserCursor telemetry and OpenTelemetry export (Privacy Mode, OTLP, Analytics API): Cursor rules setup: project, user and Team Rules, .mdc frontmatter, globs and AGENTS.mdClaude Code headless mode: claude -p, --output-format json, --bare and CI flagsClaude Code statusline: custom status bar in settings.json with context %, cost and git branchClaude Code /model: switch models, aliasesClaude Code /cost and /usage: check token spend, usage limits and reduce costsClaude Code VS Code extension: install, shortcuts, settings and /ideCodex AGENTS.md: global, project and override instruction files explainedCodex MCP servers: codex mcp add and [mcp_servers] in config.tomlCodex sandbox modes: read-only, workspace-write, danger-full-access and network accesscodex exec: run Codex non-interactively in scripts and CI with JSON outputCodex skills: create SKILL.md, skill folder locations and $skill invocationGEMINI.md in Gemini CLI: context file locations, imports and /memoryGemini CLI MCP servers: gemini mcp add and mcpServers in settings.jsonGemini CLI custom slash commands: TOML files, {{args}}, !{shell} and @{file}Gemini CLI headless mode: gemini -p, JSON output and exit codes for scripts and CIGemini CLI sandbox: enable Docker, Podman, macOS Seatbelt or gVisorcopilot-setup-steps.yml: set up the GitHub Copilot cloudGitHub Copilot CLI permissions: --allow-tool, --deny-tool, --allow-all-tools and trusted directoriesGitHub Copilot custom agents: .github/agents/*.agent.md profiles, tools and frontmatterGitHub Copilot code review settings: automatic PR reviews, rulesets, effort level and approvalsOpenCode MCP Server Setup: Local and Remote Servers in opencode.jsonOpenCode Permissions: Allow, Ask or Deny Bash, Edit and WebfetchOpenCode Custom Agents and Subagents: Markdown Files, Modes and @ MentionsCline MCP Setup: cline_mcp_settings.json for Local and Remote ServersCline Auto Approve and YOLO Mode: Run Commands and Edits Without PromptsCline Skills: SKILL.md Location, Format and Slash Command UseAmp MCP Setup: amp mcp add, amp.mcpServers and Workspace ApprovalAmp AGENTS.md: File Locations, @ Mentions and Glob-Scoped GuidanceAmp Skills: SKILL.md Folders, amp skill add and Search OrderKiro MCP Setup: .kiro/settings/mcp.json, autoApprove and OAuthKiro Hooks: .kiro/hooks JSON, PreToolUse, PostFileSave and StopKiro Permissions: permissions.yaml Allow, Ask and Deny RulesFactory Droid MCP Setup: droid mcp add, mcp.json Locations and /mcpFactory Droid Hooks: hooks.json, PreToolUse Matchers and Exit CodesFactory Droid Custom Droids (Subagents): .factory/droids Markdown FilesJunie MCP Setup: .junie/mcp/mcp.json for CLI and /mcp CommandJunie Brave Mode and Action Allowlist: Auto-Approve Commands in Junie CLIJunie Custom Slash Commands: .junie/commands Markdown Files and Argumentsgoose .goosehints and AGENTS.md: Global and Project Instructionsgoose Permission Modes: GOOSE_MODE auto, approve, smart_approve and chatgoose Recipes: recipe.yaml Format, Parameters and goose run --recipeZed Agent Tool Permissions: Auto-Approve Terminal Commands with tool_permissionsUse Claude, Codex and Gemini CLI in Zed: External Agents and agent_serversZed with Ollama, LM Studio and llama.cpp: Local Model Setup and Context LengthMCP 2026-07-28 Migration Guide: Stateless Protocol, No Sessions, server/discover, MRTR, and SDK v2 UpgradeSubagents and Custom Agents Compared: Claude Code vs Codex vs Cursor vs Gemini CLI vs GitHub CopilotAllow all commands in any AI coding agent: Cursor, Claude Code, Codex, Gemini CLI, Copilot CLI and 7 moreSettings file locations for every AI coding agent: Claude Code, Cursor, Codex, Gemini CLI, OpenCode, Qwen Code, Amp and Factory DroidRules and instruction files in every AI coding agent: .cursor/rules, CLAUDE.md, AGENTS.md, GEMINI.md, Copilot instructions and moreGemini CLI hooks: settings.json, BeforeTool, AfterTool, exit codes and /hooksGitHub Copilot hooks: .github/hooks/*.json for Copilot CLI and the cloud agentHooks in every AI coding agent: Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, Kiro and Factory DroidAgent Skills (SKILL.md) in every AI coding agent: Claude Code, Codex, Cline, Amp and OpenHandsHow to deploy a remote MCP server (Streamable HTTP): Cloudflare Workers, Vercel, Railway and moreHeadless mode in every AI coding agent: claude -p, codex exec, gemini -p, Cursor agent -p and copilot -p for scripts and CIClaude Code sandbox: /sandbox, sandbox.enabled, allowedDomains, excludedCommands and strict modeSandbox modes in every AI coding agent: Claude Code, Cursor, Codex and Gemini CLI comparedCustom slash commands in every AI coding agent: file locations, arguments and examplesMigrate from Gemini CLI to Antigravity CLI (2026): Config, MCP, Skills, FlagsRun GitHub Copilot CLI with copilot -p in scripts and CI (2026): Agent Loops 2026: Ralph Loop, /loop, /goal and Headless Loops for AI Coding AgentsCursor skills and custom slash commands: .cursor/skills SKILL.md, .cursor/commands and /migrate-to-skillsCodex hooks: hooks.json, PreToolUse allow/deny, exit code 2 and config.toml [hooks]GitHub Copilot prompt files in VS Code: .github/prompts/*.prompt.md slash commandsOpenCode custom commands: .opencode/commands, $ARGUMENTS, shell output and subtasksQwen Code custom commands: .qwen/commands Markdown files, {{args}}, !{shell} and @{file}

Reviewed Oct 23, 2026. Settings change often; the linked vendor docs are the source of truth.