Agent360 Browser MCP
NPM · @AGENT360/BROWSER-MCP · SCANNED AUG 3
Give AI agents control of your real, logged-in Chrome. Chrome extension + MCP server, 34 tools.
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 (95 of 99), 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 (95 of 99), 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 9 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability81
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 3222 tokens (~94/item across 34 items; 34 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
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
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 · @agent360/browser-mcp
claude mcp add agent360dk-browser-mcp -- npx -y @agent360/browser-mcp
codex mcp add agent360dk-browser-mcp -- npx -y @agent360/browser-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"agent360dk-browser-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"@agent360/browser-mcp"
],
"enabled": true
}
}
} openclaw mcp add agent360dk-browser-mcp --command npx --arg -y --arg @agent360/browser-mcp
mcp_servers:
agent360dk-browser-mcp:
command: "npx"
args: ["-y", "@agent360/browser-mcp"] {
"mcpServers": {
"agent360dk-browser-mcp": {
"command": "npx",
"args": [
"-y",
"@agent360/browser-mcp"
]
}
}
} 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 +34
- Provenance: unverified → fail ▼ security
- Known CVEs: unverified → partial ▲ security
- Install scripts: unverified → pass ▲ security
- Security disclosure: fail → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: unverified → excellent ▲ functional
- License: unverified → pass ▲ functional
- Dependency health: unverified → partial ▲ functional
- Maintenance: unverified → pass ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Stability: unverified → 0.23 ▲ functional
- Licence: MIT functional
- 31 Jul 26 +30
- 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 −22
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 27 Jul 26 28
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/@agent360/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Dependencies 95 packages
95 packages in the resolved dependency tree · 95 deprecated · 29 stale.
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_about ~274
Returns Browser MCP info and pre-filled URLs the user can click to submit feature wishes, share use-cases, or report bugs. Call this PROACTIVELY whenever the user (a) mentions a feature they wish existed ("I wish browser-mcp could...", "it would be nice if..."), (b) says something is missing, broken, or unexpected, (c) asks how Browser MCP works or who maintains it, or (d) describes something cool they built with browser-mcp. Pass intent="wish" | "use_case" | "bug" | "info" plus an optional title and body, and offer the returned submit_url to the user. Browser MCP is community-shaped — this tool is how the user contributes back.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | — | Optional pre-filled body / first-comment draft. Will be URL-encoded into the submit link. Keep it short; user can expand on GitHub. |
| intent | string | — | What the user wants to share. "wish" = feature request, "use_case" = share what they built, "bug" = something broken, "info" = general (default: "info"). |
| title | string | — | Optional pre-filled issue title (e.g. "Support hCaptcha v3"). Will be URL-encoded into the submit link. |
No output schema declared.
No examples provided.
browser_ask_user ~150
Show an overlay dialog asking the user to perform an action or provide information (credentials, 2FA, CAPTCHA, OAuth consent). Can include input fields for the user to fill in. Returns user responses.
| Name | Type | Req | Description |
|---|---|---|---|
| fields | array | — | Input fields for user to fill in. Each field has: name (key), label (display text), type (text/password/email). Omit for simple "Done/Skip" confirmation. |
| message | string | yes | What the user needs to do or provide |
| timeout | number | — | Max wait time in ms (default: 120000 = 2 min) |
| title | string | — | Dialog title (default: "Agent360 — Action Required") |
No output schema declared.
No examples provided.
browser_click ~109
Click an element on the page. Supports CSS selectors AND text-based selectors. Auto-scrolls element into view. Uses real mouse events (works on Angular/React SPAs and CSP-strict sites like Google, Stripe). Examples: "button:text(Get started)", "text=Submit", "#my-button", "a.btn-primary"
| Name | Type | Req | Description |
|---|---|---|---|
| selector | string | yes | CSS selector or text selector. Text formats: "text=Click me" (any element), "button:text(Submit)" (specific tag) |
No output schema declared.
No examples provided.
browser_close_tab ~45
Close a browser tab by ID. Only tabs owned by the current session can be closed.
| Name | Type | Req | Description |
|---|---|---|---|
| tab_id | number | yes | Tab ID to close (get from browser_list_tabs) |
No output schema declared.
No examples provided.
browser_console_logs ~55
Get recent console.log/warn/error messages from the page. Installs a lightweight interceptor on first call. Returns the last N console messages.
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | — | Number of recent messages to return (default: 50) |
No output schema declared.
No examples provided.
browser_dismiss_overlays ~161
Dismiss visible popups, modals, tooltips, banners, and "Are you sure?"-style overlays in one call. Heuristic-based: finds close affordance via aria-label, text content (Skip/Cancel/Ikke nu/Don't show/Got it/Close), or × character button. Use when a flow is interrupted by unexpected dialogs (cookie banners, onboarding tooltips, draft-confirm prompts on Meta Ads, etc.). Returns list of what was dismissed.
| Name | Type | Req | Description |
|---|---|---|---|
| max_passes | number | — | Number of dismissal passes (some overlays reveal others when closed). Default: 3 |
| scope | string | — | non_critical (default): skip dialogs containing editable form inputs (preserves user data). aggressive: dismiss everything. |
No output schema declared.
No examples provided.
browser_drop_file ~120
Upload a file by finding a hidden <input type="file"> within a drag-drop zone's subtree (or parent up to 2 levels). Use when browser_upload_file fails because the dropzone has no visible file input. Returns clear error if no input is found anywhere — pure drop-zones without backing inputs require manual handling.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | — | Single absolute file path |
| files | array | — | Array of absolute file paths |
| selector | string | yes | CSS selector for the drop-zone target element (e.g. ".upload-area") |
No output schema declared.
No examples provided.
browser_execute_script ~42
Execute JavaScript code in the context of the current page. Returns the result.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | JavaScript expression to evaluate (runs in page context) |
No output schema declared.
No examples provided.
browser_extract_token ~46
Navigate to a provider's API settings page so you can read its API token from the page.
| Name | Type | Req | Description |
|---|---|---|---|
| provider | string | yes | Provider slug (stripe, hubspot, slack, etc.) |
No output schema declared.
No examples provided.
browser_fetch ~104
Make an HTTP request from the extension background (NOT subject to CORS). Use this when page-context fetch would be blocked by CORS or CSP. Useful for API calls to Google, Stripe, Slack APIs while on their pages.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | — | Request body (for POST/PUT) |
| headers | object | — | Request headers as key-value pairs |
| method | string | — | HTTP method (default: GET) |
| url | string | yes | URL to fetch |
No output schema declared.
No examples provided.
browser_fill ~91
Fill a form input field with a value. Supports CSS selectors AND text-based selectors. Auto-scrolls and focuses the element. Works on CSP-strict sites via Chrome Debugger API. For date inputs use browser_set_date, for autocomplete/combobox use browser_set_combobox.
| Name | Type | Req | Description |
|---|---|---|---|
| selector | string | yes | CSS selector or text selector for the input field |
| value | string | yes | Value to fill in |
No output schema declared.
No examples provided.
browser_get_cookies ~36
Get cookies for a specific domain.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | Domain to get cookies for (e.g. ".stripe.com") |
No output schema declared.
No examples provided.
browser_get_local_storage ~47
Read localStorage from the current page. Pass key for a specific value, or omit for all.
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | — | Specific localStorage key to read (omit for all) |
No output schema declared.
No examples provided.
browser_get_new_tab ~33
Get the most recently opened tab (useful after clicking links that open new tabs, OAuth popups, etc.).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
browser_get_page_content ~35
Get the content of the current page as text or HTML.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | — | Output format (default: text) |
No output schema declared.
No examples provided.
browser_handle_dialog ~96
Handle JavaScript alert(), confirm(), or prompt() dialogs. Call this BEFORE triggering the action that causes the dialog. Waits for the dialog to appear, then accepts or dismisses it.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | — | Accept or dismiss the dialog (default: accept) |
| text | string | — | Text to enter for prompt() dialogs |
| timeout | number | — | Max wait for dialog in ms (default: 10000) |
No output schema declared.
No examples provided.
browser_hover ~63
Hover over an element to trigger tooltips, dropdown menus, or hover states. Supports CSS and text selectors.
| Name | Type | Req | Description |
|---|---|---|---|
| duration | number | — | How long to hold hover in ms (default: 500) |
| selector | string | yes | CSS or text selector to hover over |
No output schema declared.
No examples provided.
browser_list_frames ~26
List all frames (iframes) in the current page with their URLs and indices.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
browser_list_tabs ~20
List all open browser tabs with their URLs and titles.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
browser_navigate ~77
Navigate the active browser tab to a URL. Reuses the current tab by default (no tab spam). Pass new_tab=true only when you need to keep the current page open.
| Name | Type | Req | Description |
|---|---|---|---|
| new_tab | boolean | — | Open in new tab instead of reusing current (default: false) |
| url | string | yes | URL to navigate to |
No output schema declared.
No examples provided.
browser_press_key ~162
Press a keyboard key (Enter, Tab, Escape, ArrowDown, etc.). Useful for submitting forms, navigating dropdowns, closing dialogs. Supports modifier keys (ctrl, alt, shift, meta).
| Name | Type | Req | Description |
|---|---|---|---|
| alt | boolean | — | Hold Alt key |
| code | string | — | Key code (optional, defaults to key name). E.g. "KeyA" for "a" |
| ctrl | boolean | — | Hold Ctrl/Cmd key |
| key | string | yes | Key to press: "Enter", "Tab", "Escape", "ArrowDown", "ArrowUp", "Backspace", "a", "1", etc. |
| meta | boolean | — | Hold Meta (Cmd on Mac) key |
| shift | boolean | — | Hold Shift key |
No output schema declared.
No examples provided.
browser_screenshot ~59
Take a screenshot of the visible area of the current tab. Returns base64 PNG, or saves to disk if path is provided.
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | — | File path to save the screenshot to (e.g. /path/to/screenshot.png) |
No output schema declared.
No examples provided.
browser_scroll ~85
Scroll the page to an element or by pixel amount. Useful for reaching elements below the fold.
| Name | Type | Req | Description |
|---|---|---|---|
| selector | string | — | CSS or text selector to scroll to (element scrolled into center of viewport) |
| x | number | — | Pixels to scroll horizontally (positive = right) |
| y | number | — | Pixels to scroll vertically (positive = down, e.g. 500) |
No output schema declared.
No examples provided.
browser_select_frame ~70
Execute JavaScript in a specific iframe by frame index. Use browser_list_frames first to find the right index.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | — | JavaScript to execute in the frame (default: returns text content) |
| frame_index | number | yes | Frame index from browser_list_frames (0 = main frame) |
No output schema declared.
No examples provided.
browser_select_option ~131
Select an option from a dropdown menu. Works with native <select> elements AND custom dropdowns (Angular Material, React Select, etc.). For custom dropdowns: clicks the trigger, waits for options, then clicks the matching option by text. For autocomplete (typing filters options) use browser_set_combobox instead.
| Name | Type | Req | Description |
|---|---|---|---|
| option | string | yes | Text of the option to select (partial match supported) |
| selector | string | yes | CSS or text selector for the dropdown trigger / <select> element |
| wait | number | — | Ms to wait after clicking trigger for options to appear (default: 300) |
No output schema declared.
No examples provided.
browser_set_combobox ~210
Set value(s) on an autocomplete/combobox input. Handles the click → type query → wait for filtered listbox → click option flow as one MCP call. Supports multi-select (e.g., Languages on Meta Ads). Use when browser_select_option fails because options render lazily after typing.
| Name | Type | Req | Description |
|---|---|---|---|
| multi | boolean | — | True if combobox accepts multiple values (chips). Default: auto-detected from presence of values array |
| query_chars | number | — | How many characters to type as filter query (default: 4 or full value length, whichever is smaller) |
| selector | string | yes | CSS selector for the combobox/autocomplete input |
| value | string | — | Single value to select (use this OR values) |
| values | array | — | Array of values for multi-select. E.g. ["Danish", "English", "Swedish"] |
| wait_ms | number | — | Max ms to wait for options listbox to appear after typing (default: 3000) |
No output schema declared.
No examples provided.
browser_set_cookies ~140
Set one or more cookies for a domain.
| Name | Type | Req | Description |
|---|---|---|---|
| cookies | array | — | Array of cookie objects to set multiple at once |
| domain | string | — | Cookie domain (e.g. ".example.com") |
| httpOnly | boolean | — | HttpOnly flag (default: false) |
| name | string | yes | Cookie name |
| path | string | — | Cookie path (default: /) |
| sameSite | string | — | SameSite attribute (default: lax) |
| secure | boolean | — | Secure flag (default: true) |
| url | string | — | URL for the cookie (alternative to domain) |
| value | string | yes | Cookie value |
No output schema declared.
No examples provided.
browser_set_date ~165
Robustly set a date input — handles native <input type="date">, masked text inputs (e.g. MM/DD/YYYY), and calendar pickers (MUI, react-datepicker, AntD, Lexical/Meta). Tries native value-set, format-aware typing via Input.insertText, and ARIA-based picker navigation in sequence with read-back verification. Use instead of browser_fill when fill fails or for any input that opens a calendar widget.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | yes | ISO date string (YYYY-MM-DD), e.g. "2026-05-15" |
| selector | string | yes | CSS selector for the date input element |
| skip_picker | boolean | — | If true, only try native + masked paths and skip calendar-picker navigation (default: false) |
No output schema declared.
No examples provided.
browser_set_local_storage ~46
Set a localStorage key-value pair on the current page.
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | yes | localStorage key to set |
| value | string | yes | Value to store (string) |
No output schema declared.
No examples provided.
browser_solve_captcha ~201
Detect and solve CAPTCHAs on the current page. Auto-detects reCAPTCHA v2/v3, hCaptcha, Cloudflare Turnstile, and FunCaptcha. Tries auto-click first (often clears reCAPTCHA v2 when signed into Google), then returns a screenshot for AI vision analysis, then falls back to asking the user. Returns detection info and solving status.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | — | Action to take. "detect" scans for CAPTCHAs. "click_checkbox" clicks the reCAPTCHA checkbox. "click_grid" clicks specific grid cells (pass cells param). "ask_human" shows overlay to user. Default: "d… |
| cells | array | — | Grid cell indices to click (0-indexed, left-to-right, top-to-bottom) for image challenges. E.g. [2, 5, 7] to click cells 3, 6, 8. |
No output schema declared.
No examples provided.
browser_switch_tab ~43
Switch to a specific browser tab by ID. Get tab IDs from browser_list_tabs or browser_get_new_tab.
| Name | Type | Req | Description |
|---|---|---|---|
| tab_id | number | yes | Tab ID to activate |
No output schema declared.
No examples provided.
browser_upload_file ~112
Upload a file to a <input type="file"> element on the page. Uses Chrome Debugger API to set files programmatically — no dialog needed. For drag-drop zones without visible file input use browser_drop_file.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | — | Single file path (alternative to files array) |
| files | array | yes | Array of absolute file paths to upload. E.g. ["/Users/me/photo.jpg"] |
| selector | string | — | CSS selector for the file input (default: input[type="file"]) |
No output schema declared.
No examples provided.
browser_wait ~73
Wait for an element to appear on the page. Supports CSS and text-based selectors.
| Name | Type | Req | Description |
|---|---|---|---|
| selector | string | yes | CSS selector or text selector (e.g. "text=Success", "button:text(Next)") to wait for |
| timeout | number | — | Max wait time in ms (default: 10000) |
No output schema declared.
No examples provided.
browser_wait_for_network ~95
Wait for a network request to complete. Useful after clicking buttons that trigger API calls — ensures data is loaded before reading the page. Monitors real network traffic via Chrome DevTools Protocol.
| Name | Type | Req | Description |
|---|---|---|---|
| timeout | number | — | Max wait in ms (default: 15000) |
| url_pattern | string | — | Substring to match in the request URL (e.g. "/api/users", "graphql"). Empty = any request. |
No output schema declared.
No examples provided.