Skip to main content
Glama

๐Ÿ”ฅ bwb-browser

Browser Without Bloat โ€” 30KB MCP Browser Automation Server

npm version npm downloads GitHub License Size

No Playwright. No Puppeteer. No 400MB downloads. Just raw Chrome DevTools Protocol.

bwb gives any AI agent (Claude Code, OpenCode, Cline, Antigravity, Cursor, Continue, etc.) the ability to browse the web, take screenshots, click elements, fill forms, execute JavaScript, and watch live page events โ€” all in a 30KB package.

Created by Krish Tiwari (@krshforever).


๐Ÿš€ The Breakthrough: Watch Your Pages Live

bwb is the first and only MCP browser tool that captures live page events.

sequenceDiagram
    Agent->>bwb: browser_watch({action:"start", events:["all"]})
    bwb->>Page: ๐ŸŽฌ Recording console, network, errors...
    Agent->>bwb: browser_goto({url:"https://example.com"})
    bwb->>Page: Navigate, interact...
    Page-->>bwb: โšก Console.log, Network request, JS Error
    Agent->>bwb: browser_watch({action:"poll"})
    bwb-->>Agent: [{console:"React mounted"}, {network:"GET /api/data 200"}, ...]
    Agent->>bwb: browser_watch({action:"stop"})
    bwb-->>Agent: โœ… Recording stopped, 47 events captured

No other MCP browser tool does this. Playwright MCP, Chrome DevTools MCP, Puppeteer MCP โ€” all are fire-and-forget. bwb is the black box recorder for browser automation.

Your agent can now:

  • Debug SPAs โ€” see React/Vue/Angular errors in real-time

  • Track API calls โ€” every network request, response, and status code

  • Detect loading states โ€” know when the page is actually done rendering

  • Intercept console output โ€” catch warnings, logs, and errors as they happen


Related MCP server: chrome-devtools-mcp-lite

๐Ÿ“ฆ Why bwb?

Feature

bwb

Playwright MCP

Puppeteer MCP

Chrome DevTools MCP

Size

30 KB

200+ MB

400+ MB

300+ MB

Dependencies

3 tiny

50+

30+

50+

Termux/Android

โœ… Native

โŒ

โŒ

โŒ

Works on any platform

โœ… Linux, macOS, Windows, CI

โš ๏ธ Needs browsers

โš ๏ธ Needs Chromium

โš ๏ธ Needs Puppeteer

Uses your existing Chrome

โœ… Auto-detects

โŒ Downloads its own

โŒ Downloads its own

โŒ Downloads its own

Live page events

โœ… browser_watch

โŒ

โŒ

โŒ

Setup time

5 seconds

5+ minutes

5+ minutes

5+ minutes

bwb is 13,000x smaller than Puppeteer MCP.


โšก Quick Install

npm install -g bwb-browser

That's it. 5 seconds. You're done.

Then add to your AI agent's MCP config:

{
  "mcpServers": {
    "bwb": {
      "command": "bwb"
    }
  }
}

๐Ÿ’ก For AI Agents: See AGENTS.md for the complete copy-paste prompt that auto-installs and configures bwb on Claude Code, OpenCode, Antigravity, Cline, Cursor, Continue.dev, Aider, Codex CLI, Cody, Windsurf, and any MCP-compatible agent.


๐Ÿ”ฅ 15 Tools

Tool

Description

Groundbreaking?

browser_goto

Navigate to a URL

browser_screenshot

Take a screenshot (saves to disk + returns base64)

browser_html

Get page/selector HTML

browser_text

Get page/selector visible text

browser_click

Click an element (native CDP mouse events)

browser_fill

Fill an input field (native CDP keyboard events)

browser_elements

List links, buttons, inputs, headings

browser_title

Get page title

browser_url

Get current URL

browser_eval

Execute JavaScript (with exception capture)

browser_status

Browser connection status

browser_watch

๐Ÿ”ฅ Live console, network, error, navigation capture

โœ… YES

browser_waitForSelector

Wait for element to appear/disappear

browser_setViewport

Change viewport size (responsive testing)

browser_back

Go back in browser history


๐ŸŽฏ Live Demo (Real Results from Termux/Android)

โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—
โ•‘        bwb-browser  โ€”  LIVE DEMO                       โ•‘
โ•‘  30KB ยท 15 tools ยท raw CDP ยท zero bloat ยท on Termux    โ•‘
โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

  Step 1: Hacker News scraping                     โœ…  1.7s
    โ†’ #1: 7.1 Earthquake in Japan
    โ†’ #2: About the security content of macOS Tahoe 26.6
    โ†’ #3: What Even Are Microservices?

  Step 2: GitHub Trending exploration              โœ…  5.1s
    โ†’ pascalorg/editor, jenkinsci/jenkins, moeru-ai/airi

  Step 3: Google search fill + submit              โœ…  4.0s
    โ†’ Filled "bwb browser automation termux", submitted

  Step 4: Wikipedia article extraction             โœ…  3.2s
    โ†’ "A headless browser is a web browser without a GUI..."

  Step 5: Rapid-fire 5 sites in 24s                โœ… 24.1s
    โ†’ example.com: 744ms | httpbin.org/ip: 1635ms
    โ†’ github.com: 5146ms | wikipedia.org: 15.3s
    โ†’ news.ycombinator.com: 1231ms

  Step 6: System status                            โœ…  0.1s
    โ†’ Connected: true ยท Chrome PID: 15409

โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
  Total: 44.9s ยท 6 steps ยท 7 screenshots
โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

๐Ÿ›  Prerequisites

Just Chrome or Chromium installed anywhere on your system. bwb auto-detects it.

Platform

Install

Termux/Android

pkg install chromium

Linux (Debian/Ubuntu)

sudo apt install chromium-browser

macOS

brew install --cask google-chrome

Windows

Download from google.com/chrome

CI/Docker

apt-get install -y chromium


๐Ÿ“‹ Configuration

CLI flag

Env var

Default

Description

--browser-path

BWB_CHROME_PATH

auto-detected

Path to Chrome/Chromium binary

--port

BWB_CDP_PORT

0 (random free port)

Remote debugging port

--user-data-dir

BWB_USER_DATA_DIR

~/.cache/bwb-browser

Browser profile directory

--headless

BWB_HEADLESS

true

Run headless (true/false)

--screenshots-dir

BWB_SCREENSHOTS_DIR

~/bwb-screenshots/

Screenshot save location

--timeout

BWB_NAV_TIMEOUT

30000

Navigation timeout in ms

Note: On Android/Termux, screenshots default to /storage/emulated/0/Download/bwb-screenshots/ so they're accessible from any file manager or gallery app.


๐Ÿค– Compatible AI Agents

bwb works with every major AI coding agent via MCP:

Agent

Config File

Claude Code

~/.claude/settings.json

OpenCode

~/.config/opencode/opencode.json

Antigravity CLI

~/.gemini/antigravity-cli/mcp_config.json

Cline (VS Code)

~/.cline/mcp.json

Continue.dev

~/.continue/config.json

Cursor

.cursor/mcp.json

Aider

Custom tool integration

Codex CLI

~/.codex/mcp.json

Cody (Sourcegraph)

MCP config

Windsurf

MCP config

๐ŸŽฏ Give this to any AI agent to auto-install bwb: See the copy-paste prompt in AGENTS.md


๐Ÿ”ฅ Using browser_watch (The Game Changer)

Start watching:

browser_watch({action: "start", events: ["all"]})

Browse around:

browser_goto({url: "https://example.com"})
browser_click({selector: "button"})

See everything that happened:

browser_watch({action: "poll"})
# โ†’ [{console: "App initialized"}, {network: "GET /api/data 200"}, ...]

Stop recording:

browser_watch({action: "stop"})

The agent gets structured event data โ€” not just screenshots. It can SEE what the page is doing internally.


๐ŸŒ Platform Support

Platform

Status

Notes

Termux/Android

โœ… Verified

Native, no containers. Chromium via pkg.

Linux

โœ…

Works with any Chrome/Chromium

macOS

โœ…

Google Chrome auto-detected

Windows

โœ…

Chrome auto-detected

CI/CD (GitHub Actions)

โœ…

Use chromium-browser

Docker

โœ…

Install chromium in container


๐Ÿ“ฆ What's in the Box?

bwb-browser              (37KB unpacked)
โ”œโ”€โ”€ server.mjs            MCP server โ€” 15 tools, CDP integration
โ”œโ”€โ”€ bin/bwb               CLI entry point
โ”œโ”€โ”€ AGENTS.md             Agent integration guide + copy-paste prompt
โ”œโ”€โ”€ BENCHMARKS.md         Competitive comparison data
โ”œโ”€โ”€ LICENSE               MIT
โ””โ”€โ”€ README.md             This file

Zero bloat. No AI framework. No bundled browser. Just the bridge between your agent and Chrome.


๐Ÿ†š Comparison: bwb vs The World

Metric

bwb

Playwright MCP

Puppeteer MCP

Chrome DevTools MCP

Unpacked size

30 KB

~200 MB

~400 MB

~300 MB

npm install size

~2 MB

~500 MB

~400 MB

~300 MB

Install time

5 seconds

5+ minutes

5+ minutes

5+ minutes

Dependencies

3 packages

50+ packages

30+ packages

50+ packages

Live event capture

โœ… browser_watch

โŒ

โŒ

โŒ

Termux/Android

โœ… Native

โŒ

โŒ

โŒ

Uses existing Chrome

โœ… Auto-detect

โŒ Downloads its own

โŒ Downloads its own

โŒ Downloads its own

Dark mode

โœ… MIT

โœ… Apache 2.0

โœ… Apache 2.0

โœ… Apache 2.0


๐Ÿ”œ Roadmap

  • v2.0.x โ€” Current: 15 tools, browser_watch, stable

  • v2.1 โ€” Stealth mode (bot detection bypass via CDP script injection)

  • v2.2 โ€” Cookie/session management (browser_getCookies, browser_setCookie)

  • v3.0 โ€” Parallel tab management, persistent sessions, network interception

  • bwb Cloud โ€” Managed browser instances, pay-per-use (coming 2027)


๐Ÿ“„ License

MIT ยฉ Krish Tiwari (@krshforever)


Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
โ€“Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/krshforever/bwb-browser'

If you have feedback or need assistance with the MCP directory API, please join our Discord server