dejo

Playwright MCP token usage, measured over 90 sessions

The short answer: we gave the same three website tasks to Claude ten times each, every time in a brand-new session, using three browser tools. Playwright MCP used 8.7 million tokens in total. Dejo used 4.6 million, 47% fewer, with 52% fewer tool calls. Once it had learned each route, Dejo settled at two tool calls a session. Every tool answered in all 30 of its sessions.

3 tasks × 10 fresh sessionstool callstokensanswered
Dejo964.6M30 of 30
Playwright MCP1998.7M30 of 30
Chrome DevTools MCP1497.1M30 of 30

Claude Sonnet 5, medium effort. @playwright/mcp@0.0.80, chrome-devtools-mcp@1.8.0. Recorded on 5 September 2026. Pick a task below to see each run.

Benchmark

It pays once.
Then it remembers.

The same job, 10 times, each time in a brand-new Claude session. Three browser tools, 90 sessions, same model. Dejo pays at the start to learn the route. After that it settles at two tool calls.

DejoPlaywright MCPChrome DevTools MCP
tool calls per run, lower is better
05101520run 12345678910run 1: 10 calls2 calls from run 2 on

Open a repo, go to Issues, count them (github.com).

Claude Sonnet 5, medium effort. @playwright/mcp 0.0.80, chrome-devtools-mcp 1.8.0.

10 runs, total tool calls
Dejo28 calls
Playwright MCP83 calls
Chrome DevTools MCP33 calls
10 runs, total tokens
Dejo1.4M
Playwright MCP3.4M
Chrome DevTools MCP1.7M
AnswersEvery tool answered all 30 sessions
Run 1Costs the most. Dejo does the job and learns the route.
One-page lookupsNot cheaper. There is no route to remember.

Where the savings come from

Look at how many tool calls each session made, run by run:

run12345678910
Dejo (GitHub task)10222222222
Playwright MCP (GitHub task)88187997656

Playwright MCP and Chrome DevTools MCP start from nothing in every session. The model opens the page, reads it, decides, clicks, reads again. It does the same work on run 10 as on run 1, and sometimes more: one Playwright MCP session took 18 calls.

Dejo works differently. On run 1 the agent explores, and Dejo saves the route with a check on every step. From then on, one dejo_run call replays the whole route in plain code, with no page reading and no model calls inside Dejo. The two calls you see are the agent finding the tool and calling it.

Averaged over the three tasks:

one sessionDejoPlaywright MCPChrome DevTools MCP
run 19.7 calls · 415K tokens5.7 calls · 242K tokens4.7 calls · 226K tokens
runs 4 to 102 calls · 104K tokens · 15 s6.4 calls · 283K tokens · 32 s5 calls · 235K tokens · 22 s

Where Dejo is not cheaper

Two honest limits, both visible in the data:

  • Run 1 costs the most. Dejo's first session used about 415K tokens, more than either other tool, because the agent does the job and saves the route. You get that back from the second run on.
  • One-page lookups. If the task is "open one page, read one line", every tool needs two or three calls and there is little for memory to save. In our one-page tests on six sites, ten sessions each, Dejo used fewer tokens than Playwright MCP on pkg.go.dev and more on the other five.

Also worth knowing: most of the 104K tokens in a warm Dejo session are not Dejo at all. They are the agent's own instructions and tool list, which every session loads, and which the model provider caches. That fixed cost is the same for every tool, which is why the total saving is 47% and not 90%.

How we tested

  • Agent: Claude Code in headless mode (claude -p), model Claude Sonnet 5 at medium effort.
  • One tool per session. Each session could use only the browser tool under test. Built-in web tools such as WebFetch were turned off.
  • A brand-new session every run, so nothing carried over in the chat. Dejo's memory on disk is the only thing that persists, and that is the point being measured.
  • The tasks, each asked the same way: "Open <url> in the browser and <task>. Reply with only that text and nothing else."
    1. github.com/microsoft/playwright: open the Issues tab and say how many open issues there are.
    2. quotes.toscrape.com: open the About page of the first quote's author and say when they were born.
    3. books.toscrape.com: open the Travel category, open the first book, and say its price.
  • Versions pinned: @playwright/mcp@0.0.80 and chrome-devtools-mcp@1.8.0, so a rerun measures the same thing.
  • Tokens are everything the session processed: input, output, cache reads and cache writes, as reported by Claude Code. Tool calls include the agent's tool-search calls.
  • Answered means the session finished without an error and replied with a value. The script does not check the value itself, so we checked every reply by hand:
    • Quotes and books: all 60 replies from every tool were right (March 14, 1879 and £45.17).
    • GitHub: the page showed two different open-issue counts at the time, 155 and 157. Dejo's saved route read 157 on runs 2 to 10, Playwright MCP said 155, Chrome DevTools MCP said 155 nine times and 157 once. One Playwright MCP reply said "1,155", which was wrong.

What we did not test: other models, other agents, long tasks with many pages, and sites that need a sign-in. Playwright MCP has had newer releases since this run.

Run it yourself

The script and the raw results are in the open-source repository:

git clone https://github.com/dejohq/dejo-mcp
cd dejo-mcp
python benchmarks/benchmark_agents.py --journeys --runs 10

It needs the claude command signed in, and Node for the two npx servers it compares against. Every number on this page comes from benchmarks/benchmark-journeys10.json. The file was recorded while Dejo was still called by its old name, so it says cairn where it means Dejo.

FAQ

How many tokens does Playwright MCP use?

In our test, about 290,000 tokens per Claude session on average, for a short three-step task, counting everything the session read and wrote, including the agent's own instructions. Over 30 sessions across three tasks it used 8.7 million tokens.

Why does Playwright MCP use so many tokens?

Each step returns a text snapshot of the page so the model can decide what to do next, and every new session starts from nothing, so the model reads the same pages again each time.

How can I reduce Playwright MCP token usage?

For tasks you repeat, stop paying to rediscover them: a tool that remembers the route, like Dejo, replays it without reading the pages. For one-off tasks, keep sessions short and ask for exactly the value you need.

Is Dejo cheaper on every task?

No. Its first run costs more, because it does the job and learns the route. On a single page with a one-line answer there is nothing to remember, so it is not cheaper there.

Make your agent remember.

Free and open source. Install it once, and every site your agent learns stays learned.

Get started