# agent-in-browser (mcpb · agent-in-browser-0.1.1.mcpb)

Real browser for any agent: Chrome/Edge/Brave via CDP, Firefox via BiDi. Refs, forms, console, net.

- Trust score: 40/100 (low)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-23

## Components

- mcpb · `agent-in-browser-0.1.1.mcpb`: 40/100 (this document), [markdown](https://verifymcp.io/servers/gwakko-agent-in-browser/agent-in-browser.md), [page](https://verifymcp.io/servers/gwakko-agent-in-browser/agent-in-browser)

## Channel facts

- Registry: `mcpb`
- Package: `https://github.com/Gwakko/agent-in-browser/releases/download/v0.1.1/agent-in-browser-0.1.1.mcpb`
- Transport: `stdio`
- SHA-256: `5ce8895898f8c7e5d71453c99407e9b7050b1b0c68cf0af1c5968a77b39f7817`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-23.

- **Supply Chain Security**: 0/100
  - No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.
  - Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).
  - Install-script risk not yet assessed.
  - Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 1 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 73/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 1972 tokens (~85/item across 23 items; 23 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 23 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 24 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 2 categories.** Categories scored 0 because we could not verify them: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### How do I install the agent-in-browser MCP server?

agent-in-browser ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, 5ce8895898f8c7e5d71453c99407e9b7050b1b0c68cf0af1c5968a77b39f7817; the commands to do that are on this page. If it does not match, do not open it.

- Download bundle: `https://github.com/Gwakko/agent-in-browser/releases/download/v0.1.1/agent-in-browser-0.1.1.mcpb`
- SHA-256: `5ce8895898f8c7e5d71453c99407e9b7050b1b0c68cf0af1c5968a77b39f7817`

### Verify on macOS / Linux

```bash
echo "5ce8895898f8c7e5d71453c99407e9b7050b1b0c68cf0af1c5968a77b39f7817  agent-in-browser-0.1.1.mcpb" | shasum -a 256 -c
```

### Verify on Windows (PowerShell)

```powershell
(Get-FileHash -Algorithm SHA256 .\agent-in-browser-0.1.1.mcpb).Hash -eq "5ce8895898f8c7e5d71453c99407e9b7050b1b0c68cf0af1c5968a77b39f7817"
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-21 (score 40)

First indexed and scored.

## MCP tools (23)

### `browser_close` (~26 tokens)

Close the browser launched by agent-in-browser. The next tool call starts a fresh one.

### `browser_status` (~27 tokens)

Show the connected browser (launching it if needed), protocol, current tab and open tabs.

### `browsers_installed` (~22 tokens)

List browsers detected on this machine and whether they can be driven.

### `click` (~154 tokens)

Click an element (by ref, selector or visible text) or page coordinates with real mouse events. The element is scrolled into view first.

Input parameters:

- `button` (string): Mouse button (default left).
- `double` (boolean): Double-click.
- `match` (string): Visible text / accessible name to match (case-insensitive substring).
- `ref` (string): Element ref from snapshot/find, e.g. "e12". Preferred.
- `selector` (string): CSS selector (first match).
- `tab` (string): Tab id from tabs_list. Defaults to the current tab.
- `x` (number): Viewport x coordinate (instead of an element).
- `y` (number): Viewport y coordinate.

### `console_messages` (~102 tokens)

Console messages and uncaught errors captured since this server attached to the tab. Filter by level or regex pattern.

Input parameters:

- `clear` (boolean): Clear the buffer after reading.
- `level` (string): Only this level (error includes uncaught exceptions).
- `limit` (integer): Last N entries (default 100).
- `pattern` (string): Regex the text must match.
- `tab` (string): Tab id from tabs_list. Defaults to the current tab.

### `evaluate` (~78 tokens)

Run JavaScript in the page and return the JSON result. A bare expression is returned as is (e.g. document.title); multi-statement code must use `return`. Promises are awaited.

Input parameters:

- `code` (string, required): JavaScript expression or function body.
- `tab` (string): Tab id from tabs_list. Defaults to the current tab.

### `fill_form` (~80 tokens)

Set values of several fields at once (inputs, textareas, selects by value or label, checkboxes/radios with true/false). Fires input/change events so frameworks (React/Vue/Angular) notice.

Input parameters:

- `fields` (array, required): Fields to set.
- `tab` (string): Tab id from tabs_list. Defaults to the current tab.

### `find` (~69 tokens)

Find visible elements whose text, label, placeholder, id or name contains the query. Returns refs.

Input parameters:

- `limit` (integer): Max results (default 20).
- `query` (string, required): Text to look for.
- `tab` (string): Tab id from tabs_list. Defaults to the current tab.

### `get_text` (~79 tokens)

Return the visible text of the page (or of a CSS selector) — good for reading articles, results and messages.

Input parameters:

- `max_chars` (integer): Max characters (default 30000).
- `selector` (string): CSS selector to read (default body).
- `tab` (string): Tab id from tabs_list. Defaults to the current tab.

### `hover` (~112 tokens)

Move the mouse over an element or coordinates (reveals menus/tooltips).

Input parameters:

- `match` (string): Visible text / accessible name to match (case-insensitive substring).
- `ref` (string): Element ref from snapshot/find, e.g. "e12". Preferred.
- `selector` (string): CSS selector (first match).
- `tab` (string): Tab id from tabs_list. Defaults to the current tab.
- `x` (number): Viewport x.
- `y` (number): Viewport y.

### `navigate` (~96 tokens)

Navigate the tab to a URL, or go back/forward/reload. Waits for the page to load and returns its title and URL.

Input parameters:

- `action` (string): History action instead of url.
- `tab` (string): Tab id from tabs_list. Defaults to the current tab.
- `timeout_ms` (integer): Load timeout (default 30000).
- `url` (string): Destination URL; scheme defaults to https://

### `network_requests` (~101 tokens)

Network requests captured since attaching to the tab, with status. Filter by URL regex or failures only.

Input parameters:

- `clear` (boolean): Clear the buffer after reading.
- `failed_only` (boolean): Only failed requests and HTTP status >= 400.
- `limit` (integer): Last N entries (default 100).
- `pattern` (string): Regex the URL must match.
- `tab` (string): Tab id from tabs_list. Defaults to the current tab.

### `press_key` (~90 tokens)

Press a key or combination on the focused element, e.g. Enter, Escape, Tab, ArrowDown, Control+a, Meta+Shift+k.

Input parameters:

- `keys` (string, required): Key or combo; modifiers: Control, Shift, Alt, Meta.
- `repeat` (integer): Times to press (default 1).
- `tab` (string): Tab id from tabs_list. Defaults to the current tab.

### `resize` (~72 tokens)

Emulate a viewport size (e.g. 390x844 for a phone, 1440x900 for desktop).

Input parameters:

- `height` (integer, required): Height in CSS px.
- `tab` (string): Tab id from tabs_list. Defaults to the current tab.
- `width` (integer, required): Width in CSS px.

### `screenshot` (~60 tokens)

Capture the visible viewport as PNG. Returned as an image; set path to also save it to disk.

Input parameters:

- `path` (string): File path to save the PNG to.
- `tab` (string): Tab id from tabs_list. Defaults to the current tab.

### `scroll` (~139 tokens)

Scroll the page (or a scrollable element) by direction/amount, or scroll an element into view.

Input parameters:

- `amount` (integer): Pixels (default 600).
- `direction` (string): Direction (default down).
- `match` (string): Visible text / accessible name to match (case-insensitive substring).
- `ref` (string): Element ref from snapshot/find, e.g. "e12". Preferred.
- `selector` (string): CSS selector (first match).
- `tab` (string): Tab id from tabs_list. Defaults to the current tab.
- `within` (string): CSS selector of a scroll container instead of the window.

### `snapshot` (~130 tokens)

Return a compact accessibility-style outline of the page: headings, landmarks and every visible interactive element with a ref (e.g. [ref=e12]) to use with click/type/fill_form. Prefer this over screenshots for understanding page structure. mode=all also includes text content.

Input parameters:

- `max_chars` (integer): Output budget (default 20000).
- `mode` (string): interactive (default) or all (adds text blocks).
- `selector` (string): Limit the snapshot to the subtree matching this CSS selector.
- `tab` (string): Tab id from tabs_list. Defaults to the current tab.

### `tab_close` (~39 tokens)

Close a tab (default: current). Another tab becomes current.

Input parameters:

- `tab` (string): Tab id from tabs_list. Defaults to the current tab.

### `tab_new` (~40 tokens)

Open a new tab (optionally at a URL) and make it current.

Input parameters:

- `url` (string): URL to open; scheme defaults to https://

### `tab_select` (~31 tokens)

Make a tab current (and bring it to front).

Input parameters:

- `tab` (string, required): Tab id from tabs_list.

### `tabs_list` (~27 tokens)

List open tabs. The current tab (default target of page tools) is marked with *.

### `type` (~153 tokens)

Type text with real keyboard input. If an element is given it is focused (and optionally cleared) first; otherwise text goes to the focused element. submit=true presses Enter afterwards.

Input parameters:

- `clear` (boolean): Clear the field first (default true when an element is given).
- `match` (string): Visible text / accessible name to match (case-insensitive substring).
- `ref` (string): Element ref from snapshot/find, e.g. "e12". Preferred.
- `selector` (string): CSS selector (first match).
- `submit` (boolean): Press Enter after typing.
- `tab` (string): Tab id from tabs_list. Defaults to the current tab.
- `text` (string, required): Text to type.

### `wait_for` (~143 tokens)

Wait until text appears, a CSS selector is visible, or the URL contains a string (gone=true waits for the opposite). With only ms, just sleeps.

Input parameters:

- `gone` (boolean): Wait for the condition to become false instead.
- `ms` (integer): Plain sleep in milliseconds (max 60000).
- `selector` (string): CSS selector that should be visible.
- `tab` (string): Tab id from tabs_list. Defaults to the current tab.
- `text` (string): Text that should appear in the page.
- `timeout_ms` (integer): Timeout (default 10000).
- `url` (string): Substring the URL should contain.

## Diagnostics

Captured diagnostic sections: Provenance. The full working is on the page: https://verifymcp.io/servers/gwakko-agent-in-browser/agent-in-browser#diagnostics

## Score history

- 2026-10-23: 40
- 2026-10-22: 40
- 2026-10-21: 40

## Common questions

### What is the agent-in-browser MCP server?

agent-in-browser is an MCP server listed in the public MCP registry as io.github.Gwakko/agent-in-browser. Real browser for any agent: Chrome/Edge/Brave via CDP, Firefox via BiDi. Refs, forms, console, net. This page covers its MCPB bundle (https://github.com/Gwakko/agent-in-browser/releases/download/v0.1.1/agent-in-browser-0.1.1.mcpb).

### Is the agent-in-browser MCP server safe to use?

agent-in-browser scores 40 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the agent-in-browser MCP server expose?

agent-in-browser exposes 23 tools: browser_close, browser_status, browsers_installed, click, console_messages, and 18 more. Their descriptions and schemas cost roughly 1,870 tokens of context every time the server is loaded.

### What licence is the agent-in-browser MCP server under?

agent-in-browser declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- Repository: https://github.com/Gwakko/agent-in-browser
- Changelog RSS feed: https://verifymcp.io/servers/gwakko-agent-in-browser/agent-in-browser.xml
- Changelog JSON feed: https://verifymcp.io/servers/gwakko-agent-in-browser/agent-in-browser.json
- HTML version of this page: https://verifymcp.io/servers/gwakko-agent-in-browser/agent-in-browser
