gsd-browser CLI
A native Rust CLI for Chrome over CDP: 90-plus commands, a 50-tool MCP server and a persistent daemon with page snapshots.
- 60 ★ on the repository
- Last commit
- Apache-2.0
Broad access
Why this level
- It drives a real Chrome and stores logins and session state, which opens accounts to an agent.
- A hosted MCP over HTTP exposed to the network is protected only by an access token.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/gsd-browserDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- It drives a real Chrome and stores logins and session state, which opens accounts to an agent.
- A hosted MCP over HTTP exposed to the network is protected only by an access token.
This is third-party code. Review the repository files before installing.
What it does
gsd-browser drives Chrome and Chromium over CDP. A background daemon starts on first use and keeps the session, and commands cover navigation, interaction, snapshots with element refs, assertions, structured extraction, network rules, visual diffing, tracing and recording. It is built for agents, CI and developers who want deterministic browser control without a heavy test framework. The `gsd-browser mcp` command starts an MCP server with more than 50 tools, live resources and ready workflows such as login, page audit and evidence gathering. It runs over stdio or as hosted HTTP with an access token. It also offers an encrypted auth vault, state save and restore, device emulation and prompt injection scanning.
Who it is for. Agent developers and testers who need fast deterministic control of a real browser with shared viewing and evidence recording.
Good fit when
- An agent walks a multi-step web flow and the result must be confirmed with recordings and snapshots.
- You need on-page checks: waits, assertions and screenshot comparison against a baseline.
- The network must be mocked or blocked during a check and then HAR or PDF exported.
- A cloud MCP client connects to a hosted server over HTTP with a token.
Not a fit when
- You need a browser other than Chrome or Chromium: the tool works over CDP.
- You need ready tests at the level of a big framework: this is a control tool, not a test suite.
- The server would be exposed to the network without protection: the HTTP mode requires a token.
Example request
Open the staging login page, fill the form, take a snapshot and save a step recording with evidence.Limitations
The tool drives a live Chrome, so logins, cookies and saved sessions give an agent access to accounts, and a separate profile is wise. The MCP HTTP mode is exposed to the network only with `GSD_BROWSER_MCP_AUTH_TOKEN` and over HTTPS. The optional token check `GSD_BROWSER_MCP_AUTH_VERIFY_URL` sends requests to the OpenGSD console and counts a free quota. Releases move fast: npm `latest` is 0.1.29 while `dev` matches release 0.1.31. The latest repository commit dates from September 2026.
How to disable. Stop the daemon, uninstall the package with `npm uninstall -g @opengsd/gsd-browser` and remove the `gsd-browser` entry from the MCP config. For the Codex plugin remove the `~/plugins/gsd-browser` folder.
FAQ
How do I connect it to Cursor or Claude Desktop?
Run `gsd-browser mcp` as a stdio server and add it to the client configuration. `./scripts/mcp-quickstart.sh` offers claude, cursor, vscode and generic variants.
How do I expose the server to remote clients?
Set `GSD_BROWSER_MCP_AUTH_TOKEN` and run `gsd-browser mcp --http --host 0.0.0.0 --port 8788`. Expose `/mcp` over HTTPS and the client sends an `Authorization: Bearer` header.
How do I install the Codex plugin?
With `curl -fsSL https://raw.githubusercontent.com/open-gsd/gsd-browser/main/install.sh | bash -s -- --codex-plugin`. It installs the CLI, writes the plugin to `~/plugins/gsd-browser` and registers it.
What is a snapshot with versioned refs?
A page snapshot where elements get versioned refs. The agent addresses elements by ref and does not lose them when the page re-renders.
Can I install without npm?
Yes. There are prebuilt binaries in GitHub releases and a build with `cargo install --path cli`.
Discussion
No questions or reviews yet.
Related
CLI toolsA fast Rust CLI for agent browser automation: accessibility snapshots with element refs, an MCP server and skills
A Rust binary with no MCP server: an agent drives your open Chrome or Edge, and tabs are pinned with target labels.
browser-debugger-cli (bdg)
browser-debugger-cli
The bdg CLI keeps Chrome open in the background and gives agents network, console, cookies and styles as short commands.
An agent drives your real logged-in Chrome: a CLI, MCP and an extension with a separate tab group per session
A CLI, skill and MCP server for driving Chrome with short Puppeteer scripts, with tabs that keep state between calls
A skill for Amp, Claude Code and Cursor: the agent drives your live Chrome with its open tabs and signed-in accounts through a single debugging toggle
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| gsd-browser (this card) | no | 60 | ||
| agent-browser | yes | not required | 50,530 | a fast Rust CLI for browser automation with accessibility snapshots and MCP; gsd-browser adds evidence recording, an auth vault and shared viewing |
| Browser Harness | no | 19,048 | drives your real Chrome over DevTools Protocol from Browser Use; gsd-browser keeps a persistent daemon and more than 50 MCP tools |
README in short
The project is written in Rust and keeps a persistent daemon, which makes later commands fast. The main path for agents goes through MCP: resources return a live snapshot, state and timeline while prompts define multi-step workflows.