Skip to main content
Glama
vintik100
by vintik100

⚑ @bunbrowser/mcp

GitHub Repository npm version Bun Version License: MIT

Ultra-fast, zero-download Model Context Protocol (MCP) server for browser automation, powered natively by Bun.WebView.

A 100% drop-in lightweight replacement for @playwright/mcp with identical AI tool semantics, native isTrusted: true OS events, sub-50ms startup times, and zero binary bloat.


πŸš€ Why bunbrowser?

Feature

@playwright/mcp (Official Playwright)

@bunbrowser/mcp (Native Bun.WebView)

Startup Latency

~500ms - 2.5s cold start

< 50ms (Instantaneous)

Binary Downloads

~300MB - 1GB dedicated browser packages

0 MB (Uses Chrome/Chromium on Linux/Win or WKWebView on macOS)

Base Memory Footprint

~180MB - 350MB RAM

~25MB - 50MB RAM

Event Fidelity

Synthetic via CDP JavaScript injection

Native OS-level compositor events (isTrusted: true)

Accessibility Tree

browser_snapshot with [ref=eN]

Identical [ref=eN] format and prompt compatibility

Batch Form Filling

Individual turns for each field

Single-turn browser_fill_form

Performance & SEO

Requires custom scripts

Built-in browser_lighthouse_audit (0-100 scores) & browser_get_metrics

Motion & Animation

Not exposed directly

Built-in browser_record_animation (WebM & animated GIF)

Raw CDP Access

Restricted

Built-in browser_cdp tool


Related MCP server: browser-mcp-server

πŸ“š Official Documentation (DiΓ‘taxis Framework)

The project documentation is structured using the DiΓ‘taxis Framework:

For a complete navigation map, see docs/index.md.


πŸ“¦ Installation & Setup

1. Requirements

  • Bun (v1.3.12 or higher).

  • On macOS: Zero additional downloads (uses built-in WKWebView).

  • On Linux / Windows: Google Chrome, Chromium, Brave, or Microsoft Edge installed.

2. Configure in your MCP Client

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "playwright": {
      "command": "bunx",
      "args": ["@bunbrowser/mcp"]
    }
  }
}

Cursor (.cursor/mcp.json):

{
  "mcpServers": {
    "browser": {
      "command": "bunx",
      "args": ["@bunbrowser/mcp"]
    }
  }
}

Google Antigravity (~/.gemini/antigravity/mcp_config.json):

{
  "mcpServers": {
    "browser": {
      "command": "bunx",
      "args": ["@bunbrowser/mcp"]
    }
  }
}

CLI Execution with Custom Viewport:

bunx @bunbrowser/mcp --width 1920 --height 1080 --url "https://bun.sh"

πŸ› οΈ Complete MCP Tools Catalog (24 Tools)

🌐 Navigation

  • browser_navigate: Navigate to a URL with optional accessibility snapshot.

  • browser_navigate_back: Navigate back in history.

  • browser_navigate_forward: Navigate forward in history.

  • browser_reload: Reload active page.

πŸ” Inspection & State

  • browser_snapshot: PRIMARY INSPECTION. Captures semantic accessibility tree with [ref=eN] IDs.

  • browser_take_screenshot: Visual viewport screenshot in Base64 (PNG, JPEG, WebP).

  • browser_evaluate: Evaluates JavaScript in page context.

  • browser_get_content: Returns full HTML markup or plain text.

  • browser_console_logs: Retrieves recorded console logs.

πŸ–±οΈ Element Interaction

  • browser_click: Clicks element via ref, CSS selector, or coordinates.

  • browser_type: Types text into input elements with auto-wait.

  • browser_fill_form: BATCH FORM FILLER. Fills multiple inputs and submits in a single turn.

  • browser_press_key: Dispatches keyboard keys and key combinations.

  • browser_hover: Moves mouse pointer over an element.

  • browser_scroll: Directional, delta-based, or element-targeted scrolling.

  • browser_select_option: Selects options in <select> dropdowns.

  • browser_drag: Drag-and-drop between source and destination elements.

πŸ“‘ Tab Management

  • browser_tabs: Lists all open tabs and active state.

  • browser_tab_new: Opens a new tab with optional URL and viewport size.

  • browser_tab_switch: Switches active tab focus by tabId.

  • browser_tab_close: Closes a specific tab or active tab.

  • browser_resize: Resizes viewport dimensions.

⚑ Storage & CDP

  • browser_cdp: Executes raw Chrome DevTools Protocol commands.

  • browser_cookies: Gets, sets, or clears browser session cookies.

  • browser_localstorage: Gets, sets, or clears localStorage keys.

πŸ“Š Performance & Lighthouse Audits

  • browser_get_metrics: Real-time network timings (TTFB, DOM load), JS heap memory, and resource waterfalls.

  • browser_lighthouse_audit: Full Lighthouse audit with 0-100 scores for Performance, Accessibility, Best Practices, and SEO.

🎬 Video Recording & Motion

  • browser_start_recording: Starts continuous video recording (webm or gif).

  • browser_stop_recording: Stops recording and exports file with duration and size metrics.

  • browser_record_animation: One-shot recording of UI transitions and keyframe animations for a given durationMs.


πŸ§ͺ Automated Testing

Run the complete test suite:

# Run unit & integration tests
bun test

# Verify strict TypeScript types
bun run check

πŸ“‚ Codebase Structure

bunbrowser/
β”œβ”€β”€ bin/
β”‚   β”œβ”€β”€ bunbrowser.ts         # CLI binary executable
β”‚   └── bunpw-mcp.ts          # Legacy compatibility wrapper
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ index.ts              # Entrypoint CLI & Stdio transport
β”‚   β”œβ”€β”€ server.ts             # McpServer instance & tool registration
β”‚   β”œβ”€β”€ browser/
β”‚   β”‚   β”œβ”€β”€ types.ts          # TypeScript interfaces & configuration types
β”‚   β”‚   β”œβ”€β”€ manager.ts        # BrowserManager (multi-tab lifecycle)
β”‚   β”‚   β”œβ”€β”€ tab.ts            # BrowserTab wrapper over Bun.WebView
β”‚   β”‚   β”œβ”€β”€ recorder.ts       # TabRecorder video & animation capture
β”‚   β”‚   β”œβ”€β”€ gif_encoder.ts    # Pure TypeScript GIF89a encoder (0 dependencies)
β”‚   β”‚   └── snapshot.ts       # Accessibility Tree & ref resolver
β”‚   └── tools/
β”‚       β”œβ”€β”€ navigation.ts     # Navigation tools
β”‚       β”œβ”€β”€ inspection.ts     # Snapshot, screenshot, evaluate, content, logs
β”‚       β”œβ”€β”€ interaction.ts    # Click, type, fill_form, press_key, hover, scroll, drag
β”‚       β”œβ”€β”€ tabs.ts           # Tabs management & resize
β”‚       β”œβ”€β”€ storage_cdp.ts    # CDP, cookies, localStorage
β”‚       β”œβ”€β”€ metrics.ts        # get_metrics, lighthouse_audit
β”‚       └── video.ts          # start_recording, stop_recording, record_animation
β”œβ”€β”€ test/
β”‚   β”œβ”€β”€ manager.test.ts       # Tab manager tests
β”‚   β”œβ”€β”€ snapshot.test.ts      # Accessibility tree tests
β”‚   β”œβ”€β”€ interaction.test.ts   # Real DOM interaction tests
β”‚   β”œβ”€β”€ metrics.test.ts       # Metrics & Lighthouse audit tests
β”‚   β”œβ”€β”€ video.test.ts         # Video recording & GIF encoder tests
β”‚   └── mcp_server.test.ts    # End-to-end MCP JSON-RPC tests
└── docs/                     # DiΓ‘taxis framework documentation
    β”œβ”€β”€ 1-tutorials/
    β”œβ”€β”€ 2-how-to/
    β”œβ”€β”€ 3-reference/
    └── 4-explanation/

πŸ“„ License

MIT License. See LICENSE for details.

F
license - not found
-
quality - not tested
C
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.

Related MCP Servers

  • -
    license
    B
    quality
    -
    maintenance
    A lightweight MCP server for browser automation using Playwright with essential tools for navigation, form interaction, and web scraping. Provides 16 core browser automation tools with minimal setup and fast performance.
    16
  • A
    license
    B
    quality
    D
    maintenance
    A universal browser automation MCP server using Playwright, enabling programmatic control of Chrome with 63 tools for navigation, interaction, media control, and CDP-based diagnostics.
    63
    18
    1
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    A lightweight 30KB MCP browser automation server that uses raw Chrome DevTools Protocol to enable AI agents to browse the web, take screenshots, interact with elements, and capture live page events like console logs and network requests.
    26
    337
    13
    MIT

View all related MCP servers

Related MCP Connectors

  • Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.

  • Live browser debugging for AI assistants β€” DOM, console, network via MCP.

  • Screenshot, diff, audit and sitemap-capture any web page β€” 5 MCP tools for AI agents.

View all MCP Connectors

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/vintik100/bunbrowser'

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