<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Bwb Browser on RockB</title><link>https://baeseokjae.github.io/tags/bwb-browser/</link><description>Recent content in Bwb Browser on RockB</description><image><title>RockB</title><url>https://baeseokjae.github.io/images/og-default.png</url><link>https://baeseokjae.github.io/images/og-default.png</link></image><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 31 Jul 2026 10:02:35 +0000</lastBuildDate><atom:link href="https://baeseokjae.github.io/tags/bwb-browser/index.xml" rel="self" type="application/rss+xml"/><item><title>BWB Browser MCP Server Review 2026: 30KB Browser Automation Without Bloat</title><link>https://baeseokjae.github.io/posts/bwb-browser-mcp-server-2026/</link><pubDate>Fri, 31 Jul 2026 10:02:35 +0000</pubDate><guid>https://baeseokjae.github.io/posts/bwb-browser-mcp-server-2026/</guid><description>BWB Browser MCP Server delivers 76KB of browser automation via raw CDP — no Playwright, no Puppeteer, no bloat. Here is the full 2026 review.</description><content:encoded><![CDATA[<h2 id="what-is-bwb-browser-mcp-server">What Is BWB Browser MCP Server?</h2>
<p>BWB Browser MCP Server is a 76KB open-source MCP (Model Context Protocol) server that gives AI agents direct browser control through raw Chrome DevTools Protocol (CDP) WebSocket connections. Created by solo developer Krish Tiwari (@krshforever), it provides 25 MCP tools including browser_act, browser_watch, and browser_diagnose — all without a single dependency on Playwright, Puppeteer, or Selenium. At just 76KB of source code, it is the smallest browser MCP server by a factor of 25x or more compared to alternatives that bundle entire browser engines.</p>
<h3 id="the-76kb-philosophy--raw-cdp-no-bloat">The 76KB Philosophy — Raw CDP, No Bloat</h3>
<p>Every other browser MCP server in the ecosystem builds on top of high-level browser automation frameworks. Playwright MCP wraps Microsoft&rsquo;s Playwright. Puppeteer MCP wraps Google&rsquo;s Puppeteer. Each of those frameworks is itself a multi-megabyte abstraction layer over the Chrome DevTools Protocol.</p>
<p>BWB skips the middlemen entirely. It speaks CDP directly over WebSocket — the same protocol that Chrome DevTools itself uses. This means:</p>
<ul>
<li><strong>No Playwright dependency</strong> — saves ~2MB of source and ~250MB of bundled Chromium</li>
<li><strong>No Puppeteer dependency</strong> — saves ~100MB+ of source and ~400MB of bundled Chromium</li>
<li><strong>No Selenium dependency</strong> — saves the entire Java runtime overhead</li>
<li><strong>No node_modules bloat</strong> — the entire install is under 1MB</li>
</ul>
<p>The result is a server that installs in 5 seconds and starts in under 200ms. For AI agent developers who just need to navigate a page, click a button, or capture a screenshot, the heavyweight abstractions of Playwright and Puppeteer are unnecessary overhead.</p>
<h3 id="who-built-it-and-why-the-termux-origin-story">Who Built It and Why (The Termux Origin Story)</h3>
<p>BWB was born from a practical constraint. Krish Tiwari, a developer in India, wanted to run browser automation on his Android phone via Termux. Every existing solution required either a cloud subscription or a desktop-class environment. Playwright MCP? Requires a full Chromium binary. Puppeteer MCP? Same problem. Browserbase? Cloud-hosted and paid.</p>
<p>So he built his own. BWB started as a personal tool to automate browser tasks from a phone and grew into a full MCP server with 25 tools, published to npm on July 28, 2026. The project is MIT-licensed and available at <a href="https://github.com/krshforever/bwb-browser">github.com/krshforever/bwb-browser</a>.</p>
<p>This origin story matters because it explains the design philosophy: BWB is built for environments where every kilobyte counts. It is not a corporate product with a marketing budget. It is a focused tool built by someone who needed it to work on a phone.</p>
<h2 id="feature-deep-dive--25-tools-that-matter">Feature Deep Dive — 25 Tools That Matter</h2>
<p>BWB ships 25 MCP tools, but three stand out as genuinely innovative features that incumbents do not offer.</p>
<h3 id="browser_act--natural-language-browser-control">browser_act — Natural Language Browser Control</h3>
<p>The browser_act tool accepts natural language instructions like &ldquo;click the login button&rdquo; or &ldquo;fill in the search box with &lsquo;weather forecast&rsquo;&rdquo; and executes them against the current page. Unlike Playwright MCP, which requires structured selectors and explicit navigation commands, browser_act interprets intent.</p>
<p>This is not an LLM-powered feature — BWB does not call an external AI model. Instead, it uses the page&rsquo;s accessibility tree and DOM structure to map natural language to CDP commands. The result is a lightweight, zero-cost natural language interface that works entirely offline.</p>
<h3 id="browser_watch--live-console-and-network-event-capture">browser_watch — Live Console and Network Event Capture</h3>
<p>browser_watch is arguably BWB&rsquo;s most unique feature. It opens a live stream of browser events — console.log output, network requests, JavaScript errors, and DOM mutations — and delivers them to the AI agent in real time.</p>
<p>Playwright MCP and Puppeteer MCP do not offer this capability. Their snapshot-based approach gives the agent a static view of the page at a single moment. browser_watch turns browser automation into an event-driven experience, where the agent can react to page changes as they happen.</p>
<p>Practical use cases include:</p>
<ul>
<li>Monitoring a dashboard for data changes and alerting when a threshold is crossed</li>
<li>Debugging JavaScript errors by watching console output in real time</li>
<li>Capturing network traffic for API inspection during automated workflows</li>
<li>Waiting for a specific DOM element to appear before taking action</li>
</ul>
<h3 id="browser_diagnose--ai-agent-self-diagnosis">browser_diagnose — AI Agent Self-Diagnosis</h3>
<p>When something goes wrong — a page fails to load, a selector returns empty, a click misses its target — browser_diagnose runs a diagnostic sweep of the browser state. It checks the current URL, page load status, console errors, network connectivity, and available DOM elements, then returns a structured report.</p>
<p>This is particularly valuable for autonomous AI agents that need to recover from errors without human intervention. Instead of crashing on a failed navigation, the agent can call browser_diagnose, understand what went wrong, and adjust its approach.</p>
<h3 id="session-persistence--login-once-agent-works-for-days">Session Persistence — Login Once, Agent Works for Days</h3>
<p>BWB maintains persistent browser sessions across MCP connections. An AI agent can log into a service, and the session cookies, local storage, and authentication state remain valid for subsequent calls. This enables long-running automation workflows where the agent works for hours or days without re-authenticating.</p>
<p>Playwright MCP and Puppeteer MCP both support session persistence, but BWB&rsquo;s implementation is notably simpler — it stores the CDP WebSocket URL and reconnects to the same browser context, preserving all state without serialization overhead.</p>
<h3 id="multi-tab-management-and-realistic-fingerprinting">Multi-Tab Management and Realistic Fingerprinting</h3>
<p>BWB supports multiple browser tabs within a single session, each with its own CDP connection. The agent can open a new tab, navigate to a different site, and switch between tabs without losing state in any of them.</p>
<p>The server also includes realistic browser fingerprinting — it sets user-agent strings, viewport dimensions, and device metrics that match real browser profiles. This is critical for sites that detect and block automated browsers.</p>
<h2 id="size-comparison-bwb-vs-playwright-mcp-vs-puppeteer-mcp">Size Comparison: BWB vs Playwright MCP vs Puppeteer MCP</h2>
<p>The size difference between BWB and its competitors is not incremental — it is two to three orders of magnitude.</p>
<h3 id="source-size-76kb-vs-2mb-vs-100mb">Source Size: 76KB vs 2MB vs 100MB+</h3>
<table>
  <thead>
      <tr>
          <th>Server</th>
          <th>Source Size</th>
          <th>Dependencies</th>
          <th>Bundled Browser</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>BWB Browser MCP</td>
          <td><strong>76 KB</strong></td>
          <td>Zero</td>
          <td>No (uses existing Chrome)</td>
      </tr>
      <tr>
          <td>Playwright MCP</td>
          <td>~2 MB</td>
          <td>Playwright (~2 MB)</td>
          <td>Chromium (~250 MB)</td>
      </tr>
      <tr>
          <td>Puppeteer MCP</td>
          <td>~100 MB+</td>
          <td>Puppeteer (~100 MB+)</td>
          <td>Chromium (~400 MB)</td>
      </tr>
      <tr>
          <td>ExecuteAutomation MCP</td>
          <td>~29 MB</td>
          <td>Playwright</td>
          <td>Chromium (~400 MB)</td>
      </tr>
  </tbody>
</table>
<p>BWB&rsquo;s source code is 76KB. Playwright MCP&rsquo;s source is roughly 2MB — 26 times larger. Puppeteer MCP&rsquo;s source exceeds 100MB. And these numbers only account for source code, not the bundled browser binaries.</p>
<h3 id="total-install-1mb-vs-250mb-vs-400mb">Total Install: ~1MB vs ~250MB vs ~400MB</h3>
<p>When you factor in the browser binaries that Playwright and Puppeteer download during installation, the gap becomes staggering:</p>
<table>
  <thead>
      <tr>
          <th>Server</th>
          <th>Total Install Size</th>
          <th>Install Time</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>BWB Browser MCP</td>
          <td><strong>~1 MB</strong></td>
          <td><strong>~5 seconds</strong></td>
      </tr>
      <tr>
          <td>Playwright MCP</td>
          <td>~250 MB</td>
          <td>2-5 minutes</td>
      </tr>
      <tr>
          <td>Puppeteer MCP</td>
          <td>~400 MB</td>
          <td>3-8 minutes</td>
      </tr>
      <tr>
          <td>ExecuteAutomation MCP</td>
          <td>~400 MB</td>
          <td>3-8 minutes</td>
      </tr>
  </tbody>
</table>
<p>BWB assumes Chrome or Chromium is already installed on the system. If it is not, the user provides the path to an existing installation. This design choice is the single biggest factor in BWB&rsquo;s size advantage.</p>
<h3 id="platform-support-termuxandroid-vs-desktop-only">Platform Support: Termux/Android vs Desktop-Only</h3>
<table>
  <thead>
      <tr>
          <th>Server</th>
          <th>Linux</th>
          <th>macOS</th>
          <th>Windows</th>
          <th>Termux/Android</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>BWB Browser MCP</td>
          <td>✅</td>
          <td>✅</td>
          <td>✅</td>
          <td><strong>✅ (only option)</strong></td>
      </tr>
      <tr>
          <td>Playwright MCP</td>
          <td>✅</td>
          <td>✅</td>
          <td>✅</td>
          <td>❌</td>
      </tr>
      <tr>
          <td>Puppeteer MCP</td>
          <td>✅</td>
          <td>✅</td>
          <td>✅</td>
          <td>❌</td>
      </tr>
      <tr>
          <td>ExecuteAutomation MCP</td>
          <td>✅</td>
          <td>✅</td>
          <td>✅</td>
          <td>❌</td>
      </tr>
      <tr>
          <td>Browserbase MCP</td>
          <td>Cloud</td>
          <td>Cloud</td>
          <td>Cloud</td>
          <td>❌</td>
      </tr>
  </tbody>
</table>
<p>BWB is the only browser MCP server that runs on Termux/Android. This is not a niche feature — with over 3 billion Android devices worldwide, the ability to run browser automation from a phone opens use cases that desktop-only solutions cannot address.</p>
<h2 id="unique-advantages-over-incumbents">Unique Advantages Over Incumbents</h2>
<h3 id="zero-dependencies-zero-node_modules-hell">Zero Dependencies, Zero node_modules Hell</h3>
<p>Every Node.js developer knows the pain of a 500MB node_modules directory. BWB has zero runtime dependencies. The npm package installs in seconds and produces a node_modules folder measured in kilobytes, not gigabytes.</p>
<p>This makes BWB ideal for:</p>
<ul>
<li><strong>CI/CD pipelines</strong> where every second of install time adds to build costs</li>
<li><strong>Docker containers</strong> where image size matters</li>
<li><strong>Edge computing environments</strong> with limited storage</li>
<li><strong>Serverless functions</strong> with cold start constraints</li>
<li><strong>Mobile devices</strong> where storage is at a premium</li>
</ul>
<h3 id="live-event-streaming--the-killer-feature">Live Event Streaming — The Killer Feature</h3>
<p>browser_watch is the feature that most clearly differentiates BWB from every competitor. Playwright MCP gives you a snapshot. Puppeteer MCP gives you a screenshot. BWB gives you a live feed of everything happening in the browser.</p>
<p>For AI agents that need to monitor real-time data — stock prices, server dashboards, social media feeds, chat messages — this is transformative. The agent does not poll. It does not guess. It receives events as they happen and can respond immediately.</p>
<h3 id="natural-language-interaction-without-llm-costs">Natural Language Interaction Without LLM Costs</h3>
<p>browser_act provides natural language browser control without calling an external LLM. This means zero API costs, zero latency from network calls, and zero privacy concerns about sending page content to third-party services.</p>
<p>The trade-off is that browser_act is less sophisticated than an LLM-powered approach. It cannot handle complex multi-step instructions or ambiguous requests. But for the 80% of browser automation tasks — clicking buttons, filling forms, navigating pages — it works reliably and costs nothing.</p>
<h3 id="works-on-a-phone--literally">Works on a Phone — Literally</h3>
<p>Running browser automation from a smartphone is not a gimmick. Consider these real-world use cases:</p>
<ul>
<li><strong>Field service workers</strong> who need to automate data entry on the go</li>
<li><strong>Penetration testers</strong> who want a portable browser automation toolkit</li>
<li><strong>Students</strong> who cannot afford a laptop but have an Android phone</li>
<li><strong>IoT and embedded systems</strong> where a full desktop OS is not available</li>
<li><strong>Quick automation tasks</strong> when you are away from your desk</li>
</ul>
<p>BWB on Termux/Android connects to Chrome for Android via USB debugging or a remote CDP endpoint. The experience is identical to desktop — all 25 tools work the same way.</p>
<h2 id="limitations-and-risks">Limitations and Risks</h2>
<p>An honest review must address BWB&rsquo;s significant limitations. This is a very early-stage project, and it shows.</p>
<h3 id="early-stage--8-stars-3-days-old">Early Stage — 8 Stars, 3 Days Old</h3>
<p>At the time of this review, BWB has 8 GitHub stars and 3 forks. The npm package was published on July 28, 2026 — three days ago. Weekly downloads are 983, which is respectable for a brand-new package but minuscule compared to Playwright MCP&rsquo;s 35,668 stars.</p>
<p>The project has not been battle-tested at scale. There are no enterprise users, no security audits, and no published case studies. Bugs are likely. Edge cases are undiscovered.</p>
<h3 id="single-developer--bus-factor-risk">Single Developer — Bus Factor Risk</h3>
<p>Krish Tiwari is the sole maintainer. If he loses interest, gets busy with other projects, or simply cannot keep up with issues and pull requests, the project dies. There is no company backing, no paid support, and no guarantee of long-term maintenance.</p>
<p>This is the classic open-source risk. It does not mean BWB is a bad project — many great tools started as solo efforts. But it does mean users should evaluate their tolerance for abandonment risk before building production workflows around it.</p>
<h3 id="chromechromium-only--no-firefox-or-webkit">Chrome/Chromium Only — No Firefox or WebKit</h3>
<p>BWB speaks CDP, which is a Chrome-specific protocol. It does not support Firefox (which uses the Remote Protocol, a different protocol) or WebKit/Safari. If your automation needs cross-browser testing, BWB is not the right tool.</p>
<p>Playwright MCP supports Chromium, Firefox, and WebKit out of the box. For cross-browser workflows, Playwright MCP remains the better choice.</p>
<h3 id="no-cloudhosted-option-yet-roadmap-item">No Cloud/Hosted Option Yet (Roadmap Item)</h3>
<p>BWB is a self-hosted tool. You install it on your machine, point it at a Chrome instance, and use it locally. There is no cloud-hosted version, no managed service, and no browser pool.</p>
<p>The project roadmap mentions cloud hosting as a future goal, but there is no timeline. For teams that want a managed browser automation service, Browserbase MCP or Webfuse are currently the only options.</p>
<h2 id="how-to-install-and-configure">How to Install and Configure</h2>
<p>Getting started with BWB is straightforward.</p>
<h3 id="npm-install--g-bwb-browser-5-seconds">npm install -g bwb-browser (5 Seconds)</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>npm install -g bwb-browser
</span></span></code></pre></div><p>That is it. No <code>npx playwright install</code>. No downloading Chromium. No <code>apt-get install</code> dependencies. The entire install completes in under 5 seconds on a typical internet connection.</p>
<h3 id="auto-discovery-with-bwb-setup">Auto-Discovery with bwb &ndash;setup</h3>
<p>BWB includes an auto-discovery tool that finds Chrome or Chromium installations on your system:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>bwb --setup
</span></span></code></pre></div><p>This scans common installation paths, detects the Chrome version, and generates the MCP configuration file. On Termux/Android, it detects Chrome for Android via USB debugging.</p>
<h3 id="mcp-config-for-claude-code-opencode-cline-cursor-and-more">MCP Config for Claude Code, OpenCode, Cline, Cursor, and More</h3>
<p>BWB works with any MCP-compatible client. Here is the standard configuration:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-json" data-lang="json"><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">&#34;mcpServers&#34;</span>: {
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&#34;bwb-browser&#34;</span>: {
</span></span><span style="display:flex;"><span>      <span style="color:#f92672">&#34;command&#34;</span>: <span style="color:#e6db74">&#34;bwb-browser&#34;</span>,
</span></span><span style="display:flex;"><span>      <span style="color:#f92672">&#34;args&#34;</span>: [<span style="color:#e6db74">&#34;--port&#34;</span>, <span style="color:#e6db74">&#34;9222&#34;</span>],
</span></span><span style="display:flex;"><span>      <span style="color:#f92672">&#34;env&#34;</span>: {}
</span></span><span style="display:flex;"><span>    }
</span></span><span style="display:flex;"><span>  }
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><p>This configuration works with Claude Code, OpenCode, Cline, Cursor, and any other MCP client that supports the standard MCP protocol.</p>
<h2 id="who-should-use-bwb-browser-mcp-server">Who Should Use BWB Browser MCP Server?</h2>
<h3 id="mobile-developers-and-termux-users">Mobile Developers and Termux Users</h3>
<p>If you develop on an Android phone or tablet, BWB is your only option for local MCP browser automation. There is no alternative that runs on Termux.</p>
<h3 id="cicd-pipelines-needing-lightweight-browser-automation">CI/CD Pipelines Needing Lightweight Browser Automation</h3>
<p>If your CI pipeline installs Playwright just to take a single screenshot or run a single navigation, BWB can replace it with a 5-second install and zero browser download. For teams paying per-minute for CI runners, the savings add up quickly.</p>
<h3 id="ai-agent-developers-wanting-unique-features-browser_watch">AI Agent Developers Wanting Unique Features (browser_watch)</h3>
<p>If you are building AI agents that need real-time browser monitoring, browser_watch is a feature you cannot get anywhere else. Playwright MCP and Puppeteer MCP do not offer live event streaming.</p>
<h3 id="anyone-frustrated-with-400mb-downloads-for-simple-browser-tasks">Anyone Frustrated with 400MB Downloads for Simple Browser Tasks</h3>
<p>If you have ever run <code>npx playwright install</code> and watched it download 250MB of Chromium just to click a button, BWB is for you. It is a reminder that browser automation does not have to be bloated.</p>
<h2 id="final-verdict--is-76kb-enough">Final Verdict — Is 76KB Enough?</h2>
<p>BWB Browser MCP Server is not a replacement for Playwright MCP. It is not trying to be. It is a focused, lightweight alternative for a specific set of use cases where size, speed, and simplicity matter more than feature breadth.</p>
<p><strong>Strengths:</strong></p>
<ul>
<li>76KB source, ~1MB total install — smallest browser MCP server by orders of magnitude</li>
<li>Zero dependencies — no Playwright, Puppeteer, or Selenium</li>
<li>Unique features (browser_watch, browser_diagnose) that incumbents lack</li>
<li>Termux/Android support — the only mobile browser MCP server</li>
<li>MIT licensed, free and open source</li>
<li>25 MCP tools covering navigation, interaction, monitoring, and diagnostics</li>
</ul>
<p><strong>Weaknesses:</strong></p>
<ul>
<li>Very early stage — 8 stars, 3 days old at time of review</li>
<li>Single developer — bus factor of 1</li>
<li>Chrome/Chromium only — no Firefox or WebKit</li>
<li>No cloud-hosted option</li>
<li>Limited community and documentation</li>
</ul>
<p><strong>The bottom line:</strong> If you need browser automation on a phone, in a CI pipeline where every megabyte counts, or with live event streaming capabilities, BWB is the best tool for the job. If you need cross-browser testing, enterprise support, or a battle-tested solution with thousands of contributors, stick with Playwright MCP.</p>
<p>BWB proves that browser automation does not require 400MB of dependencies. Sometimes 76KB is enough.</p>
<h2 id="frequently-asked-questions">Frequently Asked Questions</h2>
<h3 id="is-bwb-browser-mcp-server-free-to-use">Is BWB Browser MCP Server free to use?</h3>
<p>Yes. BWB is MIT-licensed and completely free to use for personal, commercial, and educational purposes. There are no paid tiers, no usage limits, and no cloud subscription required.</p>
<h3 id="does-bwb-work-with-firefox-or-safari">Does BWB work with Firefox or Safari?</h3>
<p>No. BWB uses the Chrome DevTools Protocol (CDP), which is specific to Chrome and Chromium-based browsers. It does not support Firefox or Safari/WebKit. For cross-browser automation, Playwright MCP is the recommended alternative.</p>
<h3 id="can-i-use-bwb-in-production">Can I use BWB in production?</h3>
<p>BWB is very early-stage (8 GitHub stars, 3 days old at the time of this review). While it works for its intended use cases, it has not been security-audited or battle-tested at scale. Evaluate your risk tolerance before depending on it for production workflows.</p>
<h3 id="how-is-bwb-different-from-playwright-mcp">How is BWB different from Playwright MCP?</h3>
<p>BWB is 25x smaller (76KB vs ~2MB source), has zero dependencies, supports Termux/Android, and offers unique features like browser_watch (live event streaming) and browser_diagnose (self-diagnosis). Playwright MCP has 35,668 GitHub stars, cross-browser support, enterprise backing from Microsoft, and a much larger community.</p>
<h3 id="does-bwb-work-on-windows-and-macos">Does BWB work on Windows and macOS?</h3>
<p>Yes. BWB works on Linux, macOS, and Windows, in addition to Termux/Android. It requires an existing Chrome or Chromium installation on any of these platforms.</p>
]]></content:encoded></item></channel></rss>