MCP Scorecard

Mission StatementGitHub
← All posts

135x Smaller Than Playwright

A solo developer in Virginia built a headless browser MCP server that returns 336 characters where Playwright returns 61,230. Progressive disclosure for the agent era.
io.github.TickTockBent

The browser MCP space just got its first real challenger. Charlotte, published 10 days ago by solo developer Wes S. (TickTockBent, Virginia, USA, Clocktower and Associates), scored 61 and already has 15 GitHub stars. The README frames the problem directly:

"Most browser MCP servers dump the entire accessibility tree on every call — a flat text blob that can exceed a million characters on content-heavy pages. Agents pay for all of it whether they need it or not."

Charlotte README

Charlotte's answer is progressive disclosure. The navigate command returns landmarks, headings, and interactive element counts grouped by page region — enough to orient, not enough to overwhelm. The benchmarks are concrete: Wikipedia navigate returns 7,667 characters vs. Playwright's 1,040,636. Hacker News: 336 characters vs. 61,230. As the README puts it: "Playwright agents receive 61K+ characters every time they look at Hacker News, whether they're reading headlines or looking for a login button. Charlotte agents get 336 characters on arrival, call find({ type: "link", text: "login" }) to get exactly what they need, and never pay for the rest."

It's MIT-licensed, published on npm as @ticktockbent/charlotte, with 30 tools across navigation, observation, interaction, session management, and dev mode. The marketing site was built by an AI agent running Charlotte itself — "An AI agent designed this entire website, wrote every component, and shipped it in a single session. It didn't need to. Charlotte gave it eyes." Wes's other repos (worktrunk for Git worktree management in parallel AI workflows, a Claude QoL extension) show someone building seriously in the agent tooling space.

The context-efficiency bet matters more than it looks. Every token of page structure stuffed into the context window is a token the model can't use for reasoning. Playwright's full-dump approach works for single-page tasks but scales poorly when agents browse multiple pages in sequence. Charlotte bets that progressive disclosure will win as agent workflows get more complex. At 10 days old it's too early to call, but the architecture is sound and the numbers are hard to argue with.

Sources: Wes S. (TickTockBent) — GitHub · Charlotte — repo · npm · site · Clocktower and Associates, Virginia · Scorecard: io.github.TickTockBent (score 61)

← Two Proxies, Two PhilosophiesThe MCP Server You Can't Audit →