---
title: "Playwright MCP token usage: 604,785 tokens to see 1 page"
description: "Playwright MCP measured in tokens per page and per step against 5 other browser tools, with the cost curve of a session and what cuts it."
canonical: "https://scalebrowser.net/blog/playwright-mcp-tokens"
last_modified: "2026-09-25"
published: "2026-09-25"
author: "davide"
category: "infrastructure"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://scalebrowser.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Playwright MCP token usage: 604,785 tokens to see 1 page

> Playwright MCP measured in tokens per page and per step against 5 other browser tools, with the cost curve of a session and what cuts it.

An agent that drives a browser through Playwright MCP pays for the page in tokens, and on a large page the payment arrives before the first click. We ran the same action script through six browser tools on four real pages and counted every answer. Seeing one Wikipedia article cost 604,785 tokens with Playwright MCP and 2,771 with Scalebrowser, and over 75 steps on Hacker News the difference in list price was $182.19 against $16.03.

## What is Playwright MCP?

Playwright MCP is Microsoft's Model Context Protocol server that lets a language model operate a browser through Playwright. Its [README](https://github.com/microsoft/playwright-mcp) describes the approach in one line: it "uses Playwright's accessibility tree, not pixel-based input", so the model reads a structured snapshot instead of a screenshot. That choice is sound, and the cost question is only about how much of the tree travels with each answer.

## How many tokens does it spend per page and per step?

A step, in this measurement, is one action plus everything the agent needs to act next, because a tool whose click is cheap but whose agent cannot click anything afterwards has only moved the cost to a second call. Every driver got exactly the calls it needs to stay able to act: Playwright MCP and Chrome DevTools MCP an explicit snapshot call, Scalebrowser none, because its answer already contains the change. Tokens were counted with OpenAI's [tiktoken](https://github.com/openai/tiktoken) and the `cl100k_base` encoding; there is no public Claude tokenizer, so the absolute numbers are an approximation and the ratios between tools hold for any BPE.

<Evidence source="Scalebrowser token bench, 6 browser tools, 3 of 4 live pages shown, cl100k_base, 8 September 2026">

| Tokens to see the page | Wikipedia | Hacker News | GitHub |
| --- | --- | --- | --- |
| Scalebrowser | 2,771 | 4,309 | 3,200 |
| browser-use 0.13.10 | 8,369 | 18,097 | 7,913 |
| camofox-browser | 205,936 | 12,112 | 9,116 |
| Chrome DevTools MCP 1.9.0 | 393,149 | 13,331 | 10,346 |
| Playwright MCP 0.0.80 | 604,785 | 24,990 | 12,699 |
| stealth-browser-mcp | 1,057,189 | 26,478 | 18,002 |

</Evidence>

The follow-up step is where the tools separate further. On Hacker News one step cost 462 tokens with Scalebrowser and 12,494 with Playwright MCP, because only one of the six answers with the difference since the last reading and all the others send the page again. Live pages vary by a few percent between runs; the order of magnitude does not.

## Why does an offloaded snapshot still cost tokens?

An offloaded snapshot costs the same tokens as an inline one, because the agent has to read the file before it can click anything. Since the 0.0.8x releases, Playwright MCP writes the page state to a file and returns only its path. Measured at the answer, a Wikipedia snapshot then looks like 86 tokens. Measured at the agent's context after it opened the file, it is 301,197. Our bench resolves such references and counts their content, because a measurement that stops at the answer measures the offloading and not the cost.

### What does an accessibility tree answer look like instead?

A page map lists only the elements an agent can operate, each with its role, its name and a reference, and after an action it carries only what changed. That is fewer tokens by design, so we checked that it is not fewer by omission. Adding the page's full wording through a separate read call brings Wikipedia to 5,688 tokens, Hacker News to 5,866 and the GitHub page to 5,400, still two orders of magnitude below the full tree. The Hacker News map carries 391 addressable elements, every story link and every comment link among them.

## Why does the bill grow faster than the number of steps?

The bill grows with the square of the step count, because the model API is stateless and every step resends the whole conversation as input: the first answer is paid again at step 2, at step 3 and at every step after. We priced the Hacker News run at a list price of $5 per million input tokens, with the tool catalogue included in every request.

<Evidence source="Scalebrowser token bench, Hacker News, list price $5 per million input tokens, catalogue as shipped, 8 September 2026">

| Steps | Scalebrowser | Playwright MCP |
| --- | --- | --- |
| 25 | $3.28 | $21.06 |
| 75 | $16.03 | $182.19 |
| Window of 1 million tokens full after | 1,484 steps | 77 steps |

</Evidence>

[Chrome DevTools MCP](/blog/chrome-devtools-mcp) costs $22.50 for 25 steps and fills the window after 72, so it has no 75 step row. The 75 step row is the fair comparison because both sessions in the table still fit into the window there: $16.03 against $182.19 is a factor of 11.4. A 100 step session with Playwright MCP on this page does not exist, because the window fills after 77 steps. Prompt caching, with cached input billed at a tenth, lowers the 25 step session to $0.61 for Scalebrowser and $3.88 for Playwright MCP, so the ratio stays where it was.

The tool catalogue is a fixed fee on every request, including those that call no tool. Playwright MCP's 24 tools cost 3,162 tokens per request; the 21 tools Scalebrowser ships by default cost 5,267. On Playwright MCP that fee is lost next to the page data, which is the real cost.

## What should you do if you run Playwright MCP today?

Keep the snapshot out of every answer and ask for it only when the agent needs it. The README lists `--snapshot-mode none` for that, and the `browser_snapshot` tool accepts a `depth` parameter that limits the tree. Put a stable prefix in front of the conversation so prompt caching can work, and count the file contents when you measure, not the path. If the page is large and the session is long, the cost curve above is the reason to look at a [tool that answers with the difference](/blog/browser-mcp); the [MCP server page of the documentation](/docs/agents/mcp-server) describes how Scalebrowser's page map and diff work, and [migrating from Playwright](/docs/migrate/playwright) shows how existing code attaches to a profile.
