Brave DevTools MCP vs Playwright MCP

A side-by-side look at the Brave DevTools MCP and Playwright MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Brave DevTools MCP logoBrave DevTools MCPBrowser Automation · Local subprocess (stdio)Full Chrome DevTools MCP parity, rebuilt for Brave. Browser automation and debugging for Claude, Codex, Cursor, and OpenCode.67GreatAuth: not declaredPlaywright MCP logoPlaywright MCPBrowser Automation · Local subprocess (stdio)Official Microsoft Playwright MCP server, enabling LLMs to interact with web pages through structured accessibility snapshots89ExcellentAuth: no auth required

Verdict: choose Brave DevTools MCP for browser automation work as a local process; choose Playwright MCP for browser automation as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Brave DevTools MCP logoChoose Brave DevTools MCP when

  • You need dedicated capabilities in the Browser Automation domain.
  • You prefer a local stdio subprocess transport.
  • You want tools like click, close_page, drag.
Explore Brave DevTools MCP

Playwright MCP logoChoose Playwright MCP when

  • You need dedicated capabilities in the Browser Automation domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: No auth required.
  • You want tools like browser_close, browser_resize, browser_console_messages.
Explore Playwright MCP

Feature & specification comparison

Rows where the two servers differ are marked.

SpecBrave DevTools MCP logoBrave DevTools MCPPlaywright MCP logoPlaywright MCP
CategoryBrowser AutomationBrowser Automation
Quality signal67/100 · Great89/100 · Excellent
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredNo auth required
PricingNot declaredFree
Required env varsNone listedNone listed
Verified ownerCommunity listing Verified
GitHub stars4538,594
Directory activity 0 views 0 installs 0 upvotes 8 views 0 installs 0 upvotes
Tools3225

Tools & capabilities

Brave DevTools MCP tools 32

  • clickClicks on the provided element
  • close_pageCloses the page by its index. The last open page cannot be closed.
  • dragDrag an element onto another element
  • emulateEmulates various features on the target page. Each call replaces all emulation settings (except extraHttpHeaders), so pass all desired settings in a single call.
  • evaluate_scriptEvaluate JavaScript inside the target page. The source can be provided inline or loaded from a local file. Returns the response as JSON, so returned values have to be JSON-serializable.
  • fillType text into an input, text area or select an option from a <select> element.
  • fill_formFill out multiple form elements (inputs, selects, checkboxes, radios) at once. ALWAYS prefer this tool over multiple individual 'fill' or 'click' calls when interacting with forms. It is significantly faster, more reliable, and reduces turn count. Example: Fill username, password, and check "Remember Me" in one call.
  • get_console_messageGets a console message by its ID. You can get all messages by calling list_console_messages.
  • get_css_stylesRetrieve matched CSS rules, inline styles (element.style), inherited styles, custom properties, and cascade wrappers (@layer, @media, @container, @scope) for an element identified by its UID. Rules are ordered from highest to lowest cascade precedence and include source line numbers (e.g. index:196). Active (winning) declarations have no prefix tag, while (losing) overridden declarations are prefixed with [overloaded]. Treat the output as authoritative and complete. Results are paginated (10 rules per page by default); use pageIdx to page through the remaining rules. Requires a UID from take_snapshot.
  • get_network_requestGets a network request by an optional reqid, if omitted returns the currently selected request in the DevTools Network panel. Useful for inspecting request headers (including 'Cookie') and response headers (including 'Set-Cookie' and directives).
  • handle_dialogIf a browser dialog was opened, use this command to handle it
  • hoverHover over the provided element
  • +20 more on the listing page

Playwright MCP tools 25

  • browser_closeClose the page
  • browser_resizeResize the browser window
  • browser_console_messagesReturns all console messages
  • browser_handle_dialogHandle a dialog
  • browser_emulate_mediaEmulate CSS media features for the page, for example switch between the light and dark color scheme. Omitted parameters are left unchanged; null clears an override.
  • browser_evaluateEvaluate JavaScript expression on page or element
  • browser_file_uploadUpload one or multiple files
  • browser_dropDrop files or MIME-typed data onto an element, as if dragged from outside the page. At least one of "paths" or "data" must be provided.
  • browser_findSearch the accessibility snapshot of the current page for text or a regular expression. Returns matching snapshot nodes with a few lines of surrounding context (like search snippets), each shown under its path from the root of the tree, which is cheaper than capturing the whole snapshot when you only need to locate an element and its ref.
  • browser_fill_formFill multiple form fields
  • browser_press_keyPress a key on the keyboard
  • browser_typeType text into editable element
  • +13 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Brave DevTools MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "brave-devtools-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "brave-mcp@latest"
      ]
    }
  }
}

Playwright MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "microsoft-playwright-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@playwright/mcp@latest"
      ]
    }
  }
}

Frequently asked questions

Brave DevTools MCP is categorized under Browser Automation and uses a local stdio subprocess. Playwright MCP belongs to Browser Automation and uses a local stdio subprocess. Pick Brave DevTools MCP for browser automation work and Playwright MCP for browser automation.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Brave DevTools MCP has no declared pricing — check the project's own site. Playwright MCP is listed as free. Auth: no auth required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add brave-devtools-mcp and microsoft-playwright-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Brave DevTools MCP has a quality signal of 67/100 (Great) with 0 views, 0 installs and 45 GitHub stars. Playwright MCP has 89/100 (Excellent) with 8 views, 0 installs and 38,594 GitHub stars.