---
title: Playwriter vs BrowserMCP
sidebarTitle: vs BrowserMCP
description: One execute tool with full Playwright vs dozens of fixed tools.
icon: lucide:puzzle
---

BrowserMCP exposes browser automation through **12+ dedicated MCP tools**, each with its own
schema and parameters. The agent must learn every tool's interface and the MCP client must
load all their schemas into context.

Playwriter has **one tool**: `execute`. It runs any Playwright code. The agent already knows
Playwright from its training data, so there's nothing new to learn.

## Comparison

|  | BrowserMCP | Playwriter |
|---|---|---|
| Tools | 12+ dedicated tools | 1 execute tool |
| API | Limited actions | Full Playwright |
| Context usage | High (tool schemas) | Low |
| LLM knowledge | Must learn custom tools | Already knows Playwright |
| CDP access | No | Yes |
| Debugger | No | Yes |
| Network interception | No | Full |

## Context usage

Every MCP tool adds its schema to the system prompt. With 12+ tools, that's thousands of
tokens the agent pays on every request just to know what's available. Playwriter's single
`execute` tool uses minimal schema space. The agent writes Playwright code, which it
already knows from training.

## Capability ceiling

BrowserMCP tools are fixed. If you need to do something the tool authors didn't anticipate,
you're stuck. Playwriter lets agents run **any Playwright code**, plus raw CDP commands
for advanced workflows like debugging, performance profiling, and live code editing.

```bash
# BrowserMCP: limited to what the tools expose
# Playwriter: anything Playwright can do

playwriter -s 1 -e "page.evaluate(() => performance.getEntriesByType('navigation'))"
playwriter -s 1 -e "state.cdp = getCDPSession({ page }); state.cdp.send('Network.enable')"
```
