
Research
/Security News
737 Chrome VPN Extensions Linked to Brand Impersonation and Browser Traffic Redirection
The campaign amassed more than 75,000 installs by targeting Russian-speaking users seeking access to blocked services.
@mindstone-engineering/mcp-server-browser-automation
Advanced tools
Browser automation MCP server — visible-by-default browser control via accessibility snapshots, navigation, form filling, screenshots, and tab management. Set AGENT_BROWSER_SHOW_WINDOW=false to run quietly.
Headless browser control via accessibility snapshots — navigate pages, fill forms, click elements, take screenshots, and manage tabs using the agent-browser CLI.
npx -y @mindstone-engineering/mcp-server-browser-automation
Or install globally:
npm install -g @mindstone-engineering/mcp-server-browser-automation
mcp-server-browser-automation
This server requires the agent-browser CLI binary to control the browser.
agent-browser is on your PATH, it is used directly.npx -y agent-browser@0.17.npm install -g agent-browser
Or let the npx fallback handle it automatically (slower on first use due to download).
No API keys or credentials are required. The server communicates with the browser via the agent-browser CLI.
| Variable | Required | Description |
|---|---|---|
AGENT_BROWSER_SESSION_NAME | No | Session name for browser persistence (default: mcp) |
BROWSER_AUTOMATION_ALLOW_EVAL | No | Set to 1 to register the browser_evaluate tool. Off by default. See Security considerations. |
{
"mcpServers": {
"browser-automation": {
"command": "npx",
"args": ["-y", "@mindstone-engineering/mcp-server-browser-automation"]
}
}
}
BROWSER_AUTOMATION_ALLOW_EVAL=1)The typical workflow uses accessibility snapshots for reliable element targeting:
browser_navigate → open a pagebrowser_snapshot → see interactive elements with @ref IDsbrowser_click / browser_fill → interact using @ref referencesbrowser_screenshot → visual verificationBrowser automation has a large attack surface: the agent-browser CLI controls a real headless browser that loads URLs you pass it, runs page-side JavaScript, and persists cookies and session state across runs. Read this section before deploying.
browser_evaluate is gated behind BROWSER_AUTOMATION_ALLOW_EVALbrowser_evaluate lets the model execute arbitrary JavaScript inside the page context — the security equivalent of giving the model a shell on whatever site it has just navigated to. To prevent prompt-injected content from doing this silently, the tool is only registered when the host explicitly opts in:
BROWSER_AUTOMATION_ALLOW_EVAL=1 mcp-server-browser-automation
Without this env var, browser_evaluate is not in the tools list at all — the LLM cannot even see it. When enabled, the tool is annotated destructiveHint: true so MCP hosts can (and should) require explicit user confirmation before each invocation.
browser_navigate and browser_authenticate accept only http: and https: URLs (plus the special about:blank). Other URL schemes are refused before the underlying agent-browser CLI is invoked:
file: — would let pages read local filesystem pathschrome: and chrome-extension: — internal browser pages and installed extensionsjavascript: — equivalent to eval() against the current documentdata: — inlined attacker-controlled HTML/JS payloadsview-source: — defeats the same-origin policy on rendered contentabout: — privileged internal pages (about:config, about:cache, about:debugging, …); only about:blank is permittedThe connector tells agent-browser to use a named, persistent session via AGENT_BROWSER_SESSION_NAME (default value: mcp). All cookies, localStorage data, and any logins performed via browser_authenticate are stored on disk under that session name and reused across runs. Anyone who can read the session storage — the local user, other tools running as the same user, or backups — can also use those logged-in sessions.
To override the session name (for example, to keep separate profiles per project) set AGENT_BROWSER_SESSION_NAME explicitly in the host's MCP server config. To wipe state, close the browser via browser_close and remove the session directory managed by agent-browser.
AGENT_BROWSER_SESSION_NAME per MCP host. Do not reuse your daily browser profile: the connector reads and overwrites cookies in whichever profile it is pointed at, and a malicious page can ride the existing session of any site you are logged into.browser_evaluate disabled unless the host implements user confirmation for every call. The default (off) is the safe choice.browser_authenticate and any flow that may navigate to authenticated sites — otherwise prompt injection in fetched content can drive the browser at sites the user is logged into.FSL-1.1-MIT
FAQs
Browser automation MCP server — visible-by-default browser control via accessibility snapshots, navigation, form filling, screenshots, and tab management. Set AGENT_BROWSER_SHOW_WINDOW=false to run quietly.
We found that @mindstone-engineering/mcp-server-browser-automation demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
The campaign amassed more than 75,000 installs by targeting Russian-speaking users seeking access to blocked services.

Company News
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.