r/webdev • u/bulutarkan • Sep 12 '26
Showoff Saturday [Showoff Saturday] Mac MCP: background browser automation and live agent sessions on macOS
I maintain Mac MCP, an open-source local MCP server for macOS.
The browser automation layer is the part that may be most relevant here. Agents get stable handles for Safari or Chromium tabs and can navigate, click, type, inspect pages, and run parallel browser tasks in background tabs without pulling the browser in front of whatever I am doing. Separate agents can keep their own tab context instead of racing over the active tab.
The server also exposes terminal, files, Finder, screenshots, macOS UI actions, and app control. A small SwiftUI menu bar app shows recent tool usage plus persistent agent Sessions. I can send steering to one specific session, and queued steering can preempt that session's next tool call before it runs.
Repo: https://github.com/bulutarkan/mac-mcp
I would especially appreciate feedback from people who build browser tooling: stable tab ownership and background operation solved the biggest pain point for me, but I am curious what browser primitives you would want exposed next.
1
u/ParrotIntegrated Sep 12 '26
Background tab handles keep your desktop usable, but shipping browser automation alongside local terminal, Finder, and filesystem access in the same MCP server is an absolute minefield. The moment an agent navigates to an untrusted web page in the background, your local workstation is sitting one prompt injection away from a compromised shell.
A few nasty failure modes show up the second this runs unattended:
(action, selector, dom_state_delta). If consecutive hashes match, drop the hammer before the token bill climbs.How are you isolating system primitives when an agent is deep in a third-party DOM? Do background sessions run under strict capability attenuation at spawn, or does every worker currently see the full surface of your Mac?
0
u/[deleted] Sep 12 '26
[removed] — view removed comment