Brow MCP Server
Experimental Chrome side-panel browser agent with LangGraph.js, MCP/WebMCP, local models, and semantic browser automation.
Brow is an open-source mcp server by Shijou87, written mainly in JavaScript, with 20 GitHub stars and the Apache-2.0 license. Its code was last updated May 18, 2026.
Why Brow
Brow is an open-source AI agent that operates directly in the browser.
- It runs inside the user's live Chrome session instead of spinning up a detached automation browser.
- It gives the agent semantic browser context through Browser Snapshots, form semantics, and structured refs instead of raw DOM dumping.
- It combines three tool worlds in one side panel: built-in browser tools, page-local WebMCP tools, and remote MCP server tools.
- It keeps browser-native workflows close to the model with workflow demonstrations, reusable skills, and local domain memory.
Core Capabilities
| Capability | What Brow provides |
|---|---|
| Browser Snapshots | Compact, ref-based snapshots of the live DOM so the agent can reason over visible structure and act on fresh targets. |
| Whole-form semantics | Form snapshots with field purposes, safe current values, validation cues, and submit semantics for batch form work. |
| WebMCP page tools | Dynamic discovery of page-local tools exposed through navigator.modelContext on the active tab. |
| Remote MCP servers and MCP Apps | HTTP/SSE MCP connectivity, tool discovery, and inline rendering for approved app-backed tool results. |
| Real side-panel workflow | A Manifest V3 Chrome extension with chat, tool timeline, approvals, configuration, and tab-aware execution in the side panel. |
| Workflow demonstrations, skills, and memory | Recorded workflows, skill mentions, domain memory, and reusable operational knowledge that help Brow improve over time. |
Architecture At A Glance
<p align="center"> <img src="docs/assets/schema.png" alt="Brow" width="820" /> </p>For the maintainer-oriented runtime map, see docs/maintainer-architecture.md.
Quick Start
Prerequisites
- Node.js
>= 20 - npm
>= 9 - Chrome or another Chromium browser with extension developer mode
1. Install dependencies
npm install
2. Build Brow
# production build
npm run build
# or keep a watch build running during development
npm run dev
3. Load the extension
- Open
chrome://extensions. - Enable Developer mode.
- Click Load unpacked.
- Select the local
dist/folder generated by the build. - Open Brow from the extension icon or Chrome side panel.
4. Configure the model and tools
- Open Brow's Options page or the in-sidepanel config surface.
- Set your OpenAI-compatible base URL, API key, model, and context window.
- Optionally configure a VLM endpoint, MCP servers, and feature toggles such as WebMCP or MCP Apps.
Useful Scripts
| Command | Purpose |
|---|---|
npm run dev | Webpack watch build for extension development |
npm run build | Production build to dist/ |
npm run clean | Remove build output |
npm run typecheck | TypeScript validation without emitting files |
npm test | Prepare fixtures and run the Node test suite |
npm run verify | Run typecheck, tests, and production build |
Project Map
| Path | Purpose |
|---|---|
src/sidepanel/ | Side-panel UI, LangGraph agent runtime, tool assembly, MCP client, skills, and chat flow |
src/content-script/ | Browser Snapshot engine, WebMCP bridge, DOM inspection, and workflow recording |
src/background/ | Tab lifecycle observation, message routing, and WebMCP discovery coordination |
src/options/ | Extension options page for endpoint, transport, and feature-level configuration |
src/shared/ | Shared contracts, storage helpers, config normalization, and reusable types |
src/html-app-view/ | Brow-hosted HTML app rendering surface |
docs/ | Feature guide, maintainer architecture, ADRs, and visual assets |
tests/ | Node-based test suite for architecture, tool shape, browser semantics, and UI formatting |
test-page/ | Local fixture pages for WebMCP and browser automation development |
Documentation
- docs/extension-features.md for the implementation-backed feature inventory
- docs/maintainer-architecture.md for runtime flow and code ownership
- CONTEXT.md for Brow's canonical product vocabulary
- docs/adr/ for architectural decisions and design history
- docs/full-spectrum-automation-plan.md for deeper planning context around Brow's automation direction
Status
Brow is currently experimental and optimized for builders, contributors, and early adopters who are comfortable loading an unpacked extension and iterating locally. The README intentionally describes a self-hosted workflow; it does not assume Chrome Web Store distribution or a fully stabilized public API surface yet.
License
Brow is licensed under the Apache License 2.0.
Support
If this project saves you time, consider supporting development ❤️
Brow alternatives
View more →Similar mcp servers in Browser Automation, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.
| Name | Stars | Licence | Last updated | Scan |
|---|---|---|---|---|
| Brow (this page) Shijou87 | 20 | Apache-2.0 | May 18, 2026 | Scanned, no flagged issues |
| Chrome Devtools MCP ChromeDevTools | 55k | Apache-2.0 | Nov 1, 2026 | Scanned, no flagged issues |
| Playwright MCP microsoft | 39k | Apache-2.0 | Oct 31, 2026 | Scanned, no flagged issues |
| MCP Chrome hangwin | 13k | MIT | Jan 6, 2026 | Scanned, no flagged issues |
| Browser Tools MCP AgentDeskAI | 7.3k | MIT | Oct 28, 2026 | Scanned, no flagged issues |
| MCP BrowserMCP | 7.3k | Apache-2.0 | Oct 30, 2026 | Scanned, no flagged issues |