Open source · Electron · TypeScript

The browser your coding agent can come back to.

Bronom stays visible, keeps running after an AI session ends, and preserves cookies, local storage, IndexedDB, tabs, and window position in one durable browser profile.

  • 55MCP tools
  • 4themes
  • persistent sessions
▦ Home✦ New tab● google.com+
BRONOM HOME

Ready for coding agents.

01Connect your agentcodex mcp add bronom --url …
02Live connections
● MCP server online
browser_navigatebrowser_snapshotbrowser_issuesbrowser_performancebrowser_memory
Why Bronom

A real browser session, not a disposable automation process.

01

Visible by design

Watch every tab and navigation. Take over manually whenever login, consent, or visual judgment needs a person.

02

Persistent profile

Cookies, cache, local storage, IndexedDB, service workers, open tabs, and active tab survive restarts.

03

Agent independent

Connect Codex, Claude Code, Cursor, VS Code/Copilot, or another Streamable HTTP MCP client.

04

Does not disappear

Closing the window hides it to the tray. Disconnecting an AI client leaves the browser and MCP server alive.

05

Typed and tested

The application is TypeScript-first, with Vitest unit coverage and Playwright tests against the real Electron process.

06

Your preferred look

Follow your system appearance automatically, or keep Light, Dark, or Cyberpunk fixed for this profile.

07

Updates on your terms

Check automatically, then choose when to download, install, and restart from an in-app prompt.

08

Secure by default

Each profile gets an owner-only MCP token. Authentication can be changed immediately in Settings when a trusted local workflow needs it.

09

Pause agents instantly

Reject new MCP commands with one click while every tab, login, and browser session stays exactly where you left it.

10

See the work add up

Review local, content-free action history, timing, outcomes, and success rate on Bronom Home without recording page data.

11

Passwords stay protected

Save logins with explicit consent, OS-backed encryption, metadata-only management, and autofill that pauses agents before decrypting.

12

Use familiar shortcuts

Focus the address bar, open, close, reopen, search, and cycle tabs with the standard keyboard shortcuts you already know.

13

Choose the local port

Move the live MCP listener from Settings with validation and automatic rollback if the requested port is unavailable.

14

Zoom the page, not the chrome

Scale any site from 50% to 300% with familiar shortcuts, visible controls, or the MCP inspection tool.

15

Control where every file goes

Choose a download folder or ask where to save each file, then track progress, cancel transfers, and reveal completed downloads.

16

Recognize and quiet any tab

Scan real site favicons, see which page is audible, and mute only that tab without changing site-wide sound permissions.

17

Keep useful pages close

Save local bookmarks with a familiar shortcut, then search, rename, remove, or open them yourself or through MCP.

18

Find where you were

Search a bounded 90-day history of local web visits, reopen a page, remove one entry, or clear everything yourself or through MCP.

19

Find any open tab

Search every open website by title or address, switch with the keyboard, or close clutter even after the tab strip overflows.

20

Controls stay where you expect

Global browser controls remain aligned in one top strip on Home and websites, while the address row contains only page-specific actions.

21

Arrange the tabs that matter

Drag tabs into your preferred order, keep important sites compact and left-most, and restore the same arrangement after restarting.

22

Find local pages in one place

Type once in the address bar to switch open tabs or reopen matching bookmarks and history, with private on-device suggestions.

23

Clear only what you intend

Review local history, cookies, and cache, then remove selected categories without touching bookmarks, passwords, settings, or open tabs.

24

Tame tab clutter safely

Search open and recently closed pages together, restore any chosen tab, close duplicates or tabs to the right, and keep pinned tabs protected.

25

Choose where searches go

Send submitted address-bar and agent searches to Google, DuckDuckGo, Bing, Brave Search, or Startpage while local suggestions stay private.

26

Spend less context on screenshots

Let agents capture lossless PNG or compact JPEG, constrain either dimension without distortion, and inspect hidden tray tabs just as reliably.

27

Never get stuck behind a dialog

Accept or dismiss open alerts and confirmations, or answer those and text prompts as part of the action that opened them.

28

Reproduce the conditions that broke it

Test one tab on mobile touch, at a chosen location, with variant request headers, or under realistic network and CPU limits without disturbing other tabs.

29

Share only what matters

Agents can capture one element or rectangle directly. Humans can drag over an issue, pick one complete component, or copy the visible viewport or full scrollable page, then paste its PNG into agent chat.

31

Make broken APIs repeatable

Temporarily return a chosen response or network failure in one tab, see when routing is active, and clear every mock from the toolbar in one click.

32

Find accessibility barriers locally

Run WCAG A/AA checks without uploading the page, review prioritized failures and exact selectors in the toolbar, or let an agent inspect the same bounded findings through MCP.

33

Measure a slow page locally

Inspect LCP, INP, CLS, loading milestones, long tasks, and Long Animation Frames with bounded script and forced-layout attribution for the current visit from the toolbar or through MCP.

34

Give every agent its own tabs

Each agent creates a fresh named group and uses only that returned ID. Your own new tabs always return to a pinned Default group, never whichever agent tab happens to be focused.

35

Inspect the state behind a bug

Review and edit current-site local storage, tab-only session storage, and non-HttpOnly cookies from the toolbar or a bounded group-scoped MCP tool.

36

Catch memory growth before it hides

Set a page baseline, repeat the suspect interaction, force garbage collection, and compare bounded heap, DOM-node, and event-listener deltas from the toolbar or MCP.

37

Keep page tools organized

Find storage, audits, memory, element selection, PDF export, and password fill by name in one responsive menu while everyday browsing controls stay one click away.

38

Bring the evidence into agent chat

Review current console and failed-network signals together, refresh after reproducing a problem, and copy one bounded security-filtered debug report for a person or MCP agent.

39

Test every responsive range

Preview generic phone, tablet, laptop, and desktop sizes, rotate or enter exact conditions, and let agents use the same presets without resizing the application.

40

Follow every request live

Wait without polling, then search and sort HTTP or WebSocket activity; scan a compact timing waterfall; follow retained redirects and browser-reported dependencies; and inspect bounded sanitized evidence.

41

Put tools where you need them

Dock tools right, left, top, or bottom; drag the boundary to the size you need; or detach them into a secure separate window while the website returns to full size.

42

Shape agent workspaces

Name and color each agent tab group, then click or keyboard-toggle it to hide tabs without closing them. Bronom remembers the choice and keeps the active workspace and tab count visible.

43

Compare two live pages

Put a reference and implementation side by side or stacked, focus either pane without closing the other, adjust their share of the window, and restore the same comparison after restarting.

44

Keep large workspaces responsive

Sleep eligible inactive tabs on a schedule or on demand, see exactly which tabs are paused, and wake them automatically before you or an MCP agent uses them.

45

Turn browser warnings into fixes

Review Chromium's CORS, CSP, mixed-content, cookie, deprecation, quirks-mode, and stylesheet issues in a dockable panel, or copy the same bounded redacted evidence through MCP.

46

Show an agent exactly what happened

Record a compact timeline of navigation, clicks, safe keys, redacted typing, and scroll positions, review it, then copy it directly into agent chat without retaining what you typed.

47

Prove what changed on screen

Capture a temporary viewport baseline, reproduce the change, then review changed-pixel metrics and copy a high-contrast diff PNG to an agent without saving screenshots to disk.

48

Make Bronom easier to read

Choose Compact, Comfortable, or Large interface sizing for tabs, Settings, and diagnostics without changing the zoom or responsive viewport of any website.

49

Find every action by name

Open one Command Palette from the toolbar, View menu, or keyboard; search navigation, settings, safety controls, and page diagnostics, then run the result without hunting through panels.

50

Put a tab group away for later

Save and close a finished group without losing its ordered pages, find it in Tabs, then restore it under a fresh workspace ID when the investigation resumes.

51

Keep the evidence through a redirect

Preserve bounded Console and Network logs across reloads and multi-page flows, or switch to current-document-only evidence before reproducing a clean navigation.

52

Find code the workflow never uses

Record JavaScript and CSS coverage while loading and exercising a page, then rank sanitized resources by unused bytes without exposing their source to an agent.

53

Explain the connection, not just the lock

Inspect the main document's transport, TLS protocol, cipher, certificate identity and validity while keeping raw certificates and response secrets out of human and MCP reports.

54

See the design system the page actually renders

Rank computed colors and font combinations, review responsive media queries, and find likely text-contrast failures without exposing CSS source, body copy, form values, IDs, or class names.

55

See the metadata crawlers and social cards receive

Review titles, descriptions, canonical and robots signals, Open Graph, Twitter cards, language alternates, and JSON-LD types without exposing arbitrary meta tags or full structured-data objects.

56

Read page logs without opening Developer Tools

Filter the live bounded Console by text and severity, preserve it through multi-page flows, then copy sanitized evidence directly into an agent chat.

57

Reproduce the user’s browser environment

Throttle Network and CPU; ignore HTTP cache or bypass service-worker fetch handlers; test Data Saver paths or pages without JavaScript; switch rendering preferences; simulate vision deficiencies; and override locale, time zone, identity, or location.

58

Test the failure before shipping the fallback

Open visible Request conditions to block a resource, mock an API response, or throttle one slow dependency without slowing the whole page; prioritize overlapping rules, then remove one condition or every temporary override.

59

Scan tools by the job you are doing

Find simulation, diagnosis, reproduction, auditing, optimization, and export actions under descriptive Page tools headings while keeping every command directly available.

60

See what an interaction changed

Record bounded structural DOM mutations, reproduce one action, then copy a privacy-safe report of added nodes, removed nodes, text changes, and changed attribute names into agent chat.

61

Trace an error to its source

Expand a sanitized JavaScript call stack for uncaught exceptions, warnings, errors, traces, and failed assertions directly in Bronom Console, or give the same bounded source context to an MCP coding agent.

62

Keep noisy logs compact

Collapse adjacent identical ordinary Console messages into one entry with an honest occurrence count, while every repeated exception remains independently visible for debugging.

63

Copy exactly the Console evidence you need

Copy one sanitized entry, the current filtered view, or every retained message with occurrence counts and structured call stacks ready for an agent chat.

64

Start from the request that actually failed

Copy a sanitized HTTP request as cURL or fetch from Network details, or let an MCP agent request the same bounded replay text, with omissions and residual-data risks stated before anyone shares or runs it.

65

Find the request containing the clue

Search bounded sanitized headers, payloads, responses, and retained WebSocket text for an error ID or cache directive, then open the exact matching request or hand its ID and short context to an MCP agent.

66

Inspect the element that actually rendered

Preview content, padding, border, and margin as distinct layers with live dimensions and accessibility context, then copy or query the bounded computed report—without returning form values or stylesheet source.

67

See where rendering work happens

Flash repaints, highlight layout shifts and scrolling bottlenecks, expose compositor layers, or watch live frame rendering stats in one tab from Environment or MCP.

Connect

One local endpoint. Your choice of coding agent.

Command line

Default endpoint http://127.0.0.1:47812/mcp

Open Bronom Home for the exact token-aware configuration generated for your profile.

Download

Run Bronom on your desktop.

Choose a platform. The site resolves the matching file from the latest GitHub release only after you click.

Unsigned community builds are produced by the public release workflow with SHA-256 hashes and GitHub provenance attestations.

Commercial licensing

Use Bronom personally for free. License it for paid work.

Bronom 1.0 is source-available under PolyForm Noncommercial 1.0.0. Permitted noncommercial use is free, and businesses can evaluate Bronom for 30 days.

Other commercial use requires a separate license from Netroforge. There is no automatic license change date.

Planning to use Bronom for a business or paid engagement?

Contact Netroforge ↗
Read PolyForm terms ↗ Commercial licensing ↗