# ai-browser MCP server

Visible Electron browser driven by a semantic accessibility tree: 17 MCP tools, no screenshots.

## At a glance

ai-browser is an MCP server in the Dev Tools & Git category. It runs locally over stdio via `npx -y @glittering0717/ai-browser`, and declares no required credentials. It exposes 18 tools, including browse_navigate, browse_get_tree and browse_act. It scores A (91/100) on the MCP Skills Hub health score as of Oct 28, 2026.

## Install

### How to install ai-browser in Claude Code

1. Add the server

```bash
claude mcp add ai-browser -- npx -y @glittering0717/ai-browser
```

2. Verify it's connected

```bash
claude mcp list
```

3. Sharing it with your team?

   Add `--scope project` to write it to .mcp.json in the repository root, which you can commit (with the secrets left as environment variables).

4. Use it in a session

   Ask Claude to use the tools this server exposes (e.g. browse_navigate, browse_get_tree, browse_act). It discovers them automatically.

### How to install ai-browser in Claude Desktop

1. Open your MCP config

   macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json

2. Add this server

```json
{
  "mcpServers": {
    "ai-browser": {
      "command": "npx",
      "args": [
        "-y",
        "@glittering0717/ai-browser"
      ]
    }
  }
}
```

3. Restart Claude Desktop

   The tools appear under the 🔌 menu once the app reloads.

### How to install ai-browser in Cursor

1. Create / edit .cursor/mcp.json in your project

```json
{
  "mcpServers": {
    "ai-browser": {
      "command": "npx",
      "args": [
        "-y",
        "@glittering0717/ai-browser"
      ]
    }
  }
}
```

2. Enable it

   Cursor Settings → MCP → toggle the server on. Tools become available to the Composer/Agent.

### How to install ai-browser in Codex CLI

1. Add to ~/.codex/config.toml

```toml
[mcp_servers.ai-browser]
command = "npx"
args = ["-y", "@glittering0717/ai-browser"]
```

2. Run Codex

   Codex loads MCP servers from config.toml on startup and exposes their tools to the agent.

### How to install ai-browser in Windsurf

1. Edit ~/.codeium/windsurf/mcp_config.json

```json
{
  "mcpServers": {
    "ai-browser": {
      "command": "npx",
      "args": [
        "-y",
        "@glittering0717/ai-browser"
      ]
    }
  }
}
```

2. Reload

   Windsurf → Cascade → refresh MCP servers. Cascade can now call the tools.

### How to install ai-browser in Cline

1. Open Cline → MCP Servers → Configure

   Adds to cline_mcp_settings.json.

2. Add the server

```json
{
  "mcpServers": {
    "ai-browser": {
      "command": "npx",
      "args": [
        "-y",
        "@glittering0717/ai-browser"
      ]
    }
  }
}
```

### How to install ai-browser in VS Code

1. Create .vscode/mcp.json

```json
{
  "servers": {
    "ai-browser": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@glittering0717/ai-browser"
      ]
    }
  }
}
```

2. Start it

   VS Code shows a ▶ Start action above the server entry. Agent mode (Copilot Chat) can then use the tools.

## Tools

- `browse_navigate` — Load a URL in your tab or the given tab.
- `browse_get_tree` — Read the page as a semantic tree + page context (modals, messages, stats).
- `browse_act` — `click` / `type` (append at caret) / `setContent` (replace all) / `clear` / `focus` / `hover` / `scroll_to` / `upload` / `get_value` (read-only) / `drag` / `press` / `wheel` on a `data-ai-id`.
- `browse_diff` — `snapshot` a baseline, then `diff` to get added / removed / changed paths with before/after values. This is how you prove an action did anything.
- `browse_capabilities` — Probe what a page affords and which route to take on it (see below).
- `browse_repaint` — Force the compositor to redraw the tab when the window shows a stale page; returns `repaint_count`.
- `browse_downloads` — List a tab's downloads with their on-disk paths. Downloads are asynchronous — poll this after clicking an export button.
- `browse_canvas` — Read `` through captured draw calls: `list` / `read` / `configure` / `capture`. Experimental — see the canvas section below.
- `browse_evaluate` — Run a JS *expression* in page context (5000-char cap, Node identifiers rejected).
- `browse_scroll` — Scroll the page, or scroll an element into view.
- `browse_wait` — Poll until `button_enabled` / `modal_appeared` / `text_contains` / `url_contains`.
- `browse_tabs` — Tabs: `list` / `new` / `close` / `switch` / `window`. `switch` = default; add `show:true`. `new` never steals the view unless `show:true`.
- `browse_network` — Chrome-DevTools-style network inspection: `list` (filter by method / URL / status / type), `get` (request + response headers and bodies), `clear`, `configure`.
- `browse_quit` — Shut the whole browser down and release the process.
- `committed` — dispatched and acked by the page
- `none` — provably nothing happened (no such target, bad params, CDP down)
- `unknown` — cannot prove nothing happened — timeout, paste dispatched but never consumed, half a key sequence
- `verdict` — is an explicit `"changed"` / `"unchanged"`, so "nothing happened" is never inferred from

Source repository: https://github.com/Glittering/ai-browser

---

Source: https://mcp-skills-hub.vercel.app/mcps/io-github-glittering-ai-browser · MCP Skills Hub · data as of 2026-10-28T12:31:05Z
