Engine logo

Engine

by @whittlebrowser

Token-efficient Chromium automation over MCP with structured page views, batched actions, privacy filtering, and human handoff.

Install Engine

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "whittlebrowser-engine": {
      "command": "npx",
      "args": [
        "-y",
        "playwright-core"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

@whittlebrowser/engine connects MCP clients to a Chromium browser through a Playwright/CDP-based engine. It exposes compact, reference-stable page data, targeted extraction, navigation, interaction, tab management, screenshots, and waits for human intervention. Privacy filters keep sensitive values and hidden prompt injections away from the model, while policies can pause risky sites and irreversible actions. Reach for it when an agent needs browser automation with lower page-reading overhead and explicit controls around secrets, uploads, CAPTCHAs, and 2FA.

Use cases

  • Automate Chromium form workflows with batched interactions
  • Extract tables and repeated records from dynamic pages
  • Research several web pages and return compact digests
  • Pause browser tasks for CAPTCHA, 2FA, or risky actions

Key features

  • Compact, reference-stable, diffed page output
  • Playwright/CDP Chromium control
  • Targeted search and structured extraction
  • Sensitive-value masking and prompt-injection filtering
  • Risk controls, robots policies, and human handoff
  • Multi-tab browsing and parallel research

Tools9

What Engine lets your agent do. Expand a tool for its parameters.

Self-reported~175 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 3d ago

Recent health check succeeded.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 12d ago via OSV.dev · playwright-core (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1Stargazers on the source repository.
Last commit7d agoMost recent push to the default branch.
Tools exposed9Callable tools this server registers over MCP.

How Engine works

What @whittlebrowser/engine does

@whittlebrowser/engine gives AI agents an MCP interface to Chromium. It is available as an npm package, a command-line MCP server, and a TypeScript engine library. The browser page is represented as compact text with stable references, rather than sending the complete DOM or relying on screenshots for ordinary interactions.

The engine also applies privacy and safety handling before page content reaches the model. Sensitive values can be masked, hidden or deceptive text can be removed, and instruction-like content can be marked. Site and action policies can pause activity on banking, payment, identity, console, and key pages, while irreversible actions, certain cross-site data transfers, and unsandboxed uploads can require approval.

How it works

An in-page agent runs in a CDP isolated world and gathers visible roles, accessible names, states, and references. A serializer removes unnecessary wrappers, combines inline content, deduplicates labels, folds repeated elements, and fits the result to a requested token budget. Actions return an outcome and a change diff, so an agent does not need to reread the entire page after each step.

Targeted operations reduce unnecessary page inspection. find searches the complete page, including off-screen content, while extract can return tables, repeated card-like lists, or main text as Markdown. research opens multiple pages in parallel and produces a compact digest for each. The engine can also honor robots.txt modes, identify itself through a user-agent token, and use Web Bot Auth signatures when configured.

Setup and configuration

The package requires Node.js 22 or newer and either Google Chrome or a locally installed Chromium. Install Chromium with npx playwright-core install chromium when needed, then register the package with an MCP client using npx -y @whittlebrowser/engine.

Claude Code and Codex provide dedicated commands. Cursor, VS Code, Gemini CLI, and other clients can use an MCP configuration whose command is npx with arguments -y and @whittlebrowser/engine. Claude Desktop may require absolute executable paths, particularly when Node.js was installed through nvm. A global npm install also provides the whittlebrowser command.

Server options include --headless, --ephemeral, --profile DIR, --channel chrome, --budget N, --allow-site HOST, --risk confirm|auto|deny, and --robots off|warn|enforce. Additional controls cover default-off site behavior, file URLs, humanized interaction, host policy integration, and Web Bot Auth. Values referenced as type secret:NAME can come from WB_SECRET_NAME or ~/.whittlebrowser/secrets.json with restricted permissions.

Tools and capabilities

  • observe returns a compact page or subtree view within a token budget.
  • act batches clicks, typing, selection, checks, hovering, key presses, scrolling, and uploads, then returns the result and diff.
  • navigate handles URLs, word searches, back, forward, and reload.
  • find ranks page matches and supports role and CSS queries.
  • extract returns tables, repeated-card lists, main text, and paged results.
  • research processes several pages in parallel.
  • tabs lists, opens, switches, and closes tabs.
  • screenshot returns a JPEG with sensitive fields blurred.
  • wait waits for text or a delay, or hands control to a person for CAPTCHA and 2FA.

Limitations and notes

The engine does not solve CAPTCHAs or spoof browser fingerprints; it can pause and request human control instead. Screenshots are intended as a fallback rather than the normal page representation. The separate WhittleBrowser desktop application is developed elsewhere and is not part of this package; the engine works independently with MCP clients.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Engine

@whittlebrowser/engine is an MCP server that connects AI agents to Chromium through Playwright/CDP and exposes observe, act, navigate, find, extract, research, tabs, screenshot, and wait. It returns compact, diffed page data while masking sensitive values and supports human handoff for CAPTCHA and 2FA.

Install it through an MCP client with `npx -y @whittlebrowser/engine`, and use Node.js 22 or newer with Google Chrome or Chromium available. If Chromium is not installed, run `npx playwright-core install chromium` once. A global npm install also provides the `whittlebrowser` command.

Yes, Cursor can run it through its MCP configuration using `npx` with `-y` and `@whittlebrowser/engine` as the arguments. The same command structure is documented for VS Code, Gemini CLI, and other MCP clients.

No, it does not solve CAPTCHAs; the `wait` tool can hand control to a person for CAPTCHA or 2FA. The engine also pauses for selected sensitive sites and actions according to its safety policy.

Pass the `--headless` flag after the package name when registering or launching the server. For example, use `npx -y @whittlebrowser/engine --headless` in the MCP command configuration.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewEngine AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/whittlebrowser-engine?style=directory)](https://allmcps.com/mcp/whittlebrowser-engine)
HTML Embed
<a href="https://allmcps.com/mcp/whittlebrowser-engine"><img src="https://allmcps.com/api/badge/whittlebrowser-engine?style=directory" alt="Engine on AllMCPs" /></a>