Skip to main content
Glama

Bronom

Bronom is a visible, multi-tab Electron browser that exposes its live tabs to AI clients through MCP. It is deliberately not headless and is not tied to the lifetime of an AI session.

What it keeps

  • Cookies, local storage, IndexedDB, service workers, cache, and login sessions use Electron's persistent persist:bronom partition.

  • Open tabs and the active tab are restored from tabs.json in Electron's user-data directory.

  • Window position, size, monitor, maximized state, and fullscreen state are restored. If that monitor is disconnected, the window is centered on the current primary display.

  • Closing the window hides it. The Electron process and MCP endpoint keep running; use the tray icon or application menu to reopen or quit it.

  • A second launch focuses the existing instance instead of starting a competing browser profile.

Related MCP server: Browser Agent MCP Server

Run

Requirements: Node.js 22+ and a graphical Linux, macOS, or Windows session.

npm install
npm run dev

For the built application:

npm run build
npm start

To ask an already running development instance to flush its profile and quit cleanly:

node_modules/.bin/electron . --quit

The MCP endpoint is available while the app is running:

http://127.0.0.1:47812/mcp

Health check:

curl http://127.0.0.1:47812/healthz

Connect an MCP client

Use a Streamable HTTP MCP configuration and start Bronom before the client connects. A generic JSON configuration looks like:

{
  "mcpServers": {
    "bronom": {
      "url": "http://127.0.0.1:47812/mcp"
    }
  }
}

The exact configuration file or UI depends on the MCP client. Disconnecting or closing that client does not close Bronom.

Optional environment variables:

  • BRONOM_MCP_PORT: listen port, default 47812.

  • BRONOM_MCP_HOST: listen host, default and recommended 127.0.0.1.

  • BRONOM_MCP_TOKEN: when set, every MCP and health request must send Authorization: Bearer <token>.

MCP tools

  • browser_status, browser_show, browser_tabs

  • browser_new_tab, browser_select_tab, browser_close_tab

  • browser_navigate, browser_history, browser_wait

  • browser_snapshot, browser_click, browser_type, browser_press

  • browser_screenshot, browser_evaluate

The preferred interaction loop is browser_snapshot → semantic element ref (e1, e2, ...) → browser_click or browser_type. Take a fresh snapshot after navigation or large DOM changes.

Security model

  • The MCP server binds to loopback by default and rejects non-local browser origins.

  • An optional bearer token can protect the endpoint.

  • Website tabs have Node.js disabled, context isolation enabled, Chromium sandboxing enabled, and web security enabled.

  • New browser windows become managed tabs.

  • Site permission requests require an explicit user confirmation dialog.

  • browser_evaluate is intentionally powerful: only connect trusted AI clients to this browser profile.

Validate

npm test
npm run typecheck
npm run build
npm run build:unpack

Releases

GitHub Actions validates every pull request and every push to main. When package.json changes to a new version on main, the auto-tag workflow creates an annotated v<version> tag and dispatches the release workflow. The initial repository commit is intentionally not auto-tagged.

The release workflow creates one draft release, builds Linux, macOS, and Windows artifacts in parallel, uploads a hashes.txt SHA-256 manifest, and publishes only after every platform job succeeds. It can also be dispatched manually for an existing version tag.

Dependabot checks npm packages and GitHub Actions weekly and groups related Electron, Vue/Vite, MCP, and TypeScript updates.

A
license - permissive license
-
quality - not tested
C
maintenance

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

  • F
    license
    -
    quality
    C
    maintenance
    Exposes Playwright browser automation as MCP tools, enabling AI assistants to control a real browser tab-by-tab for form filling, navigation, and more, while preserving the user's active session.
  • F
    license
    -
    quality
    C
    maintenance
    Enables MCP clients to control a real local browser window for web automation tasks such as clicking, typing, scrolling, and taking screenshots.
    12
  • A
    license
    C
    quality
    B
    maintenance
    Exposes a remote browser as MCP tools via Playwright, enabling AI agents to navigate and interact with web pages through DOM snapshots, clicks, typing, and form operations.
    40
    22
    8
    Apache 2.0

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.

  • A paid remote MCP for AI agent browser DevTools MCP, built to return verdicts, receipts, usage logs,

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/Netroforge/bronom'

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