browser-use-native-windows

mlnima/browser-use-native-windows
0 starsCommunity

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

A Windows-only MCP server for controlling a real browser using native screenshots, Windows accessibility, and node-interception mouse/keyboard input, without CDP or Playwright.

README.md

browser-use-native-windows

Windows-only MCP server for controlling a real Chromium browser with native screenshots, Windows accessibility, and node-interception mouse/keyboard input.

It does not use CDP, Chrome DevTools, Playwright, Puppeteer, browser extensions, DOM selectors, DOM snapshots, or page JavaScript evaluation.

Requirements

  • Windows
  • Node.js 20+
  • Chromium-based browser: Edge, Chrome, Brave, Chromium, Vivaldi, Opera, Yandex
  • node-interception driver

Install the native input package and driver from an administrator terminal:

npm install -g node-interception
node-interception /install

Reboot Windows after driver installation.

Install

From source:

npm install
npm run build

Optional global install from this package root:

npm install -g .

Configuration

The MCP reads system environment variables first. If a .env file exists next to this README, it is loaded as a fallback. The MCP starts normally when .env is missing.

Create .env from .env.example when you want fixed HTTP or browser settings:

BROWSER_USE_NATIVE_WINDOWS_SSE_HOST= "0.0.0.0"
BROWSER_USE_NATIVE_WINDOWS_SSE_PORT= "7331"
BROWSER_USE_NATIVE_WINDOWS_SSE_AUTH= "change.me"
BROWSER_USE_NATIVE_WINDOWS_BROWSER_EXECUTABLE_PATH= "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
BROWSER_USE_NATIVE_WINDOWS_BROWSER_USER_DATA_DIR= "C:\Users\YOUR_USER\AppData\Local\Microsoft\Edge\User Data"

Change BROWSER_USE_NATIVE_WINDOWS_SSE_AUTH before exposing HTTP outside your machine.

Run

Stdio transport:

npm run start:stdio

HTTP transports:

npm run start:sse

Global install:

browser-use-native-windows
browser-use-native-windows --transport sse

MCP Client

Stdio:

{
  "mcpServers": {
    "browser-use-native-windows": {
      "transport": "stdio",
      "command": "node",
      "args": ["<package-root>\\dist\\index.js"],
      "cwd": "<package-root>"
    }
  }
}

Codex Streamable HTTP:

[mcp_servers.browser_use_native_windows]
url = "http://<host>:7331/mcp"
http_headers = { "Authorization" = "Bearer change.me" }

SSE compatibility:

{
  "mcpServers": {
    "browser-use-native-windows": {
      "transport": "sse",
      "url": "http://<host>:7331/sse",
      "headers": {
        "Authorization": "Bearer change.me"
      }
    }
  }
}

Tools

  • browser_observe: launch or adopt the browser and return a native observation.
  • browser_act: run one mouse or keyboard action against a fresh observation token.
  • browser_status: return transport, driver, browser, window, focus, monitor, DPI, and observation state.
  • browser_stop: release held input state and optionally close the tracked browser.

Force Stop

Default global hotkey:

Control+F12

The watchdog releases held keys and mouse buttons, then stops the MCP process.

Related MCP servers

Browse all →