Your agent’s native browser

A browser MCP server.
Built into the binary.

Connect bruster to your coding assistant with one launch command. Navigate pages, inspect snapshots, fill forms, and return screenshots through the Model Context Protocol.

Connect your MCP client

Install bruster and its platform runtime first. Confirm that bruster is on the client’s PATH, or use the absolute executable path in its configuration. Your MCP client launches and manages the browser process over stdio.

OpenCode

Add the local server from your project:

Terminal
opencode mcp add bruster -- bruster --mcp --quiet
opencode mcp list

OpenCode V2 configuration uses mcp.servers. The equivalent entry in opencode.jsonc is:

opencode.jsonc
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "servers": {
      "bruster": {
        "type": "local",
        "command": ["bruster", "--mcp", "--quiet"]
      }
    }
  }
}

OpenCode reloads saved configuration automatically. Use /mcps to inspect the connection. OpenCode MCP documentation ↗

Claude Code

Terminal
claude mcp add bruster -- bruster --mcp --quiet

Ask Claude to open a page, inspect its snapshot, and take a screenshot using bruster’s tools.

Claude Desktop and Cursor

Add the server under mcpServers in Claude Desktop’s claude_desktop_config.json or Cursor’s .cursor/mcp.json:

MCP configuration
{
  "mcpServers": {
    "bruster": {
      "command": "bruster",
      "args": ["--mcp", "--quiet"]
    }
  }
}

Merge this entry with your existing servers. Desktop applications may need an absolute path such as /home/you/.local/bin/bruster or /Users/you/.local/bin/bruster.

Codex CLI

Terminal
codex mcp add bruster -- bruster --mcp --quiet

The client launches bruster in MCP mode and makes its browser tools available to the agent.

VS Code

Add a stdio server to .vscode/mcp.json:

.vscode/mcp.json
{
  "servers": {
    "bruster": {
      "type": "stdio",
      "command": "bruster",
      "args": ["--mcp", "--quiet"]
    }
  }
}

Use VS Code’s MCP server controls to start the server and inspect its tool list.

Want to see the browser?

MCP mode moves the windows off-screen by default. Append --visible to the arguments to watch the session. Add --profile followed by a directory path to persist cookies and storage.

The tools your agent can use

Navigate and understand

Open URLs, inspect the current title, and get compact text snapshots of visible elements. Use snapshot refs to address a specific link or control.

navigate · snapshot · find · title

Interact and inspect

Fill a form, click an element, save a screenshot, or inspect page-level console and network information.

click · fill_form · screenshot · console

Every native method is exposed as a tool. Screenshots return as MCP image content; page events arrive as notifications. Read the complete tool parameters and results →

Try a small task

Example prompt
Use bruster to open https://example.com.
Read the page snapshot, tell me the heading,
then take a screenshot.

Troubleshooting

The client cannot find bruster

Use the absolute executable path in command. GUI clients do not always inherit your terminal’s PATH. On Windows, use the path to bruster.exe and escape backslashes in JSON.

Linux fails to start without a display

Install WebKitGTK 4.1, Xvfb, and xauth. Hidden mode still needs a display; bruster tries xvfb-run when DISPLAY is unset. See Linux and CI setup. Temporarily remove --quiet to inspect diagnostic output on stderr.

An interaction behaves differently from a human click

Bruster dispatches synthetic DOM events. Cross-origin iframes, native file dialogs, OS shortcuts, and some native control behaviors are outside its scope. Read the limitations and tool comparison when choosing a browser backend.