io.github.dashi96/chromium-bridge
NPM · CHROMIUM-BRIDGE · SCANNED AUG 3
MCP bridge between Chromium browsers (Arc, Vivaldi, Brave) and Claude Code: browser automation
Available components
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. How we score →
Supply Chain Security87
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (106 of 110), so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (106 of 110), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 14 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability78
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2115 tokens (~117/item across 18 items; 18 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: 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.
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · chromium-bridge
claude mcp add dashi96-chromium-bridge -- npx -y chromium-bridge
codex mcp add dashi96-chromium-bridge -- npx -y chromium-bridge
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"dashi96-chromium-bridge": {
"type": "local",
"command": [
"npx",
"-y",
"chromium-bridge"
],
"enabled": true
}
}
} openclaw mcp add dashi96-chromium-bridge --command npx --arg -y --arg chromium-bridge
mcp_servers:
dashi96-chromium-bridge:
command: "npx"
args: ["-y", "chromium-bridge"] {
"mcpServers": {
"dashi96-chromium-bridge": {
"command": "npx",
"args": [
"-y",
"chromium-bridge"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Aug 26 +61
- Provenance: unverified → fail ▼ security
- Known CVEs: unverified → partial ▲ security
- Install scripts: unverified → pass ▲ security
- Malware scan: unverified → pass ▲ security
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
- MCP protocol: unverified → pass ▲ functional
- Maintenance: unverified → pass ▲ functional
- Dependency health: unverified → partial ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- License: unverified → pass ▲ functional
- First check of Tool coverage: 100 functional
- First check of Schema quality: fail functional
- First check of Schema quality: excellent functional
- First check of Schema quality: fail functional
- Capabilities: Protocol version not yet verified: we do not have a sandbox capture of the MCP handshake this version of the package performs yet. functional
- Tool coverage: Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet. functional
- Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
- Licence: MIT functional
- 31 Jul 26 −1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 −40
- Install scripts: pass → unverified ▼ security
- Provenance: fail → unverified ▼ security
- Malware scan: pass → unverified ▼ security
- Known CVEs: partial → unverified ▼ security
- License: pass → unverified ▼ functional
- Dependency health: partial → unverified ▼ functional
- Maintenance: pass → unverified ▼ functional
- Licence: MIT functional
- 27 Jul 26 +21
- Provenance: unverified → fail ▼ security
- Known CVEs: unverified → partial ▲ security
- Install scripts: unverified → pass ▲ security
- Maintenance: unverified → pass ▲ functional
- License: unverified → pass ▲ functional
- Tool coverage: Tool coverage not yet verified: our sandbox run of this package did not complete, so we have no tool definitions to assess. functional
- Schema quality: Schema quality not yet verified: our sandbox run of this package did not complete, so we have no schema to assess. functional
- Licence: MIT functional
- 26 Jul 26 25
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed npm/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Dependencies 106 packages
106 packages in the resolved dependency tree · 106 deprecated · 31 stale · 8 without a linked repository.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
browser_click ~113
Click an element via DOM .click() by CSS selector. Mutating. Works without the debugger — including on pages where CDP attach fails — but only fires the click handler, with no hover/focus/mousedown chain. If the page ignores it (custom dropdowns, canvas UI), use browser_computer left_click for a real mouse event.
| Name | Type | Req | Description |
|---|---|---|---|
| selector | string | yes | CSS selector of the element to click (first match) |
| tabId | number | yes | tab id from browser_tabs_list or browser_tab_create |
No output schema declared.
No examples provided.
browser_computer ~409
Mouse, keyboard, and screenshots in a browser tab via the DevTools protocol; the tab does not need to be active (first use shows Chrome's "started debugging" info bar — that is expected). Actions: screenshot (viewport image in CSS pixels — its coordinates map 1:1 to click coordinates), zoom (magnified region [x0,y0,x1,y1]), left_click, right_click, double_click, triple_click, hover, left_click_drag (start_coordinate→coordinate), type (insert text at the current focus), key (space-separated combos, e.g. "cmd+a Backspace"), scroll (scroll_direction+scroll_amount), scroll_to (ref), wait (duration, max 10 s). Clicks, typing, and key presses are real input events and mutate page state; screenshot/zoom/hover/wait are read-only. Positions come from coordinate:[x,y] or from a ref returned by browser_read_page/browser_find — refs are more reliable than eyeballed coordinates.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | what to do; see the tool description for each action's required parameters |
| coordinate | array | — | [x, y] in pixels |
| duration | number | — | seconds for wait (max 10) |
| modifiers | string | — | click modifiers: cmd, ctrl, alt, shift (joined with +) |
| ref | string | — | element ref from browser_read_page/browser_find — alternative to coordinate |
| region | array | — | [x0, y0, x1, y1] for zoom |
| repeat | number | — | repeat count for key |
| scroll_amount | number | — | wheel ticks, default 3 |
| scroll_direction | string | — | for scroll; default down |
| start_coordinate | array | — | drag start for left_click_drag |
| tabId | number | yes | tab id from browser_tabs_list or browser_tab_create |
| text | string | — | text for type, or key combos for key |
No output schema declared.
No examples provided.
browser_console_messages ~125
Read a tab's console output (log/warn/error), newest 200 entries. Read-only unless clear=true, which empties the buffer after reading. Messages are captured only from the first time a CDP tool touches the tab — nothing is recorded retroactively; reload the page after attaching to capture its startup logs. Use pattern (regex) to cut noise.
| Name | Type | Req | Description |
|---|---|---|---|
| clear | boolean | — | clear the buffer after reading |
| pattern | string | — | regex filter over the message text |
| tabId | number | yes | tab id from browser_tabs_list or browser_tab_create |
No output schema declared.
No examples provided.
browser_find ~104
Find elements by visible text, accessible name, or role, and return their refs for use with browser_computer and browser_form_input. Read-only. Cheaper than reading the whole accessibility tree when you know what you are looking for. An empty result means nothing matched — not an error.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | visible text, accessible name, or ARIA role to search for |
| tabId | number | yes | tab id from browser_tabs_list or browser_tab_create |
No output schema declared.
No examples provided.
browser_form_input ~164
Set a form control's value directly in the DOM: input/textarea/contenteditable (text), select (option value or label), checkbox/radio ("true"/"false"). Fires input/change events so frameworks pick the value up. Mutating. Target by CSS selector or ref. Reliable for plain form fields; rich editors (CodeMirror and the like) and custom comboboxes often ignore it — for those, click the field with browser_computer and type.
| Name | Type | Req | Description |
|---|---|---|---|
| ref | string | — | ref from browser_read_page/browser_find |
| selector | string | — | CSS selector |
| tabId | number | yes | tab id from browser_tabs_list or browser_tab_create |
| value | string | yes | new value; for checkbox/radio pass "true" or "false" |
No output schema declared.
No examples provided.
browser_gif_start ~105
Start recording the tab into an animated GIF: a frame every intervalMs (default 800 ms); on long recordings the frame rate halves automatically so the whole scenario fits in ~80 frames. One recording per tab at a time; starting twice is an error. Nothing is saved until browser_gif_stop.
| Name | Type | Req | Description |
|---|---|---|---|
| intervalMs | number | — | frame interval in ms, default 800 |
| tabId | number | yes | tab id from browser_tabs_list or browser_tab_create |
No output schema declared.
No examples provided.
browser_gif_stop ~89
Stop the recording started by browser_gif_start and write the animated GIF to an absolute path on the user's machine. Mutating: creates or overwrites that file. Errors if no recording is active or no frames were captured.
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | yes | absolute path for the output .gif; overwritten if it exists |
| tabId | number | yes | tab id the recording was started on |
No output schema declared.
No examples provided.
browser_javascript ~117
Run arbitrary JavaScript in the page context and return the resolved value (await is supported; runs with the page's own permissions). Can read and mutate anything on the page — treat as mutating unless the code is clearly read-only. Never call alert/confirm/prompt: modal dialogs freeze all automation. Requires the CDP debugger.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | JavaScript source; may use await — the value of the last expression is returned |
| tabId | number | yes | tab id from browser_tabs_list or browser_tab_create |
No output schema declared.
No examples provided.
browser_navigate ~105
Navigate an existing tab to a URL, or move through its history with url="back" / url="forward". Mutating: replaces the page currently shown in that tab. Returns when navigation is committed; dynamic pages may still be rendering — verify with browser_page_text or a screenshot before interacting.
| Name | Type | Req | Description |
|---|---|---|---|
| tabId | number | yes | tab id from browser_tabs_list or browser_tab_create |
| url | string | yes | absolute URL, or "back"/"forward" for history |
No output schema declared.
No examples provided.
browser_network_requests ~114
List a tab's network requests (method, URL, status), newest 200. Read-only unless clear=true, which empties the buffer. Captured only from the first CDP touch of the tab — reload the page after attaching to see its full traffic. urlPattern (regex) filters by URL.
| Name | Type | Req | Description |
|---|---|---|---|
| clear | boolean | — | empty the buffer after reading |
| tabId | number | yes | tab id from browser_tabs_list or browser_tab_create |
| urlPattern | string | — | regex filter over the URL |
No output schema declared.
No examples provided.
browser_page_text ~87
Get a tab's title, URL, and visible text (up to 80 kB) from the live DOM. Read-only and cheap — prefer it over a screenshot whenever layout does not matter. Content rendered to canvas or images is invisible to it; use a browser_computer screenshot for those.
| Name | Type | Req | Description |
|---|---|---|---|
| tabId | number | yes | tab id from browser_tabs_list or browser_tab_create |
No output schema declared.
No examples provided.
browser_read_page ~110
Accessibility tree of the page with a ref id per element; use refs with browser_computer (clicks, scroll_to) and browser_form_input. filter=interactive returns only clickable/editable elements — a compact map of the page. Read-only. Refs go stale after navigation or heavy DOM changes; call again to refresh.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | string | — | interactive — only clickable/editable elements; default all |
| tabId | number | yes | tab id from browser_tabs_list or browser_tab_create |
No output schema declared.
No examples provided.
browser_resize_window ~99
Resize the browser window that contains the tab to width×height CSS pixels. Mutating and user-visible: it resizes the user's real window. Use for reproducing responsive layouts or framing a recording, and consider restoring the original size afterwards.
| Name | Type | Req | Description |
|---|---|---|---|
| height | number | yes | window height, CSS px |
| tabId | number | yes | tab id from browser_tabs_list or browser_tab_create |
| width | number | yes | window width, CSS px |
No output schema declared.
No examples provided.
browser_status ~59
Check whether the browser extension is connected to the bridge. Returns {connected: boolean}. Read-only, no side effects. Call it first in a session, or when other browser_* tools fail, to distinguish "extension not connected" from page-level errors.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
browser_tab_close ~68
Close a browser tab by id. Destructive: the tab and its unsaved page state are gone, with no undo. Close only tabs this session created, unless the user explicitly asked to close theirs.
| Name | Type | Req | Description |
|---|---|---|---|
| tabId | number | yes | tab id from browser_tabs_list or browser_tab_create |
No output schema declared.
No examples provided.
browser_tab_create ~80
Open a new browser tab and return its id and windowId. Mutating: adds a tab to the user's real browser and focuses it. Use when a fresh page is needed; to work with a page that is already open, find its id via browser_tabs_list instead.
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | — | URL for the new tab (blank by default) |
No output schema declared.
No examples provided.
browser_tabs_list ~59
List all open browser tabs with their id, title, and URL. Read-only. Use it to pick a tabId for the other browser_* tools; prefer reusing an existing tab over creating a new one when the target page is already open.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
browser_upload_file ~108
Put local files into an <input type="file"> selected by CSS selector, as if the user picked them in the file dialog (fires change). Mutating. files are absolute paths on the user's machine; the input must already exist in the DOM.
| Name | Type | Req | Description |
|---|---|---|---|
| files | array | yes | absolute file paths on the user's machine |
| selector | string | yes | CSS selector of the <input type="file"> |
| tabId | number | yes | tab id from browser_tabs_list or browser_tab_create |
No output schema declared.
No examples provided.