Agent360 Browser MCP
NPM · @AGENT360/BROWSER-MCP · SCANNED SEP 20
Drive your real, logged-in Chrome from any AI agent - 40 tools. Needs our Chrome extension too.
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 → Why this is hard to score →
Supply Chain Security63
- No malware found by supply-chain analysis.Pass
- Known CVEs could not be checked: the version this server declares is not published in its registry.Unverified
- No install/post-install scripts declared.Pass
- Dependency health could not be checked: the version this server declares is not published in its registry.Unverified
Provenance & Transparency48
- 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 0 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability71
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 7233 tokens (~180/item across 40 items; 40 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 Management93
- Stability observed for 28 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
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "browser_execute_script" implies "execute" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 41 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the Agent360 Browser MCP server?
Agent360 Browser MCP runs locally as an npm package, launched with npx -y @agent360/browser-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @agent360/browser-mcp
claude mcp add agent360dk-browser-mcp -- npx -y @agent360/browser-mcp
{
"mcpServers": {
"agent360dk-browser-mcp": {
"command": "npx",
"args": [
"-y",
"@agent360/browser-mcp"
]
}
}
} {
"servers": {
"agent360dk-browser-mcp": {
"command": "npx",
"args": [
"-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": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"@agent360/browser-mcp"
]
}
}
} assistant mcp add agent360dk-browser-mcp -t stdio -c npx -a -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.
- 20 Sept 26 −10
- Known CVEs: pass → unverified ▼ security
- Dependency health: 0.85 → unverified ▼ functional
- Package version: 1.29.2 → 1.30.0 functional
- 19 Sept 26 +15
- Malware scan: unverified → pass ▲ security
- 18 Sept 26 −14
- Malware scan: pass → unverified ▼ security
- Package version: 1.29.1 → 1.29.2 functional
- 16 Sept 26 −2
- Stability: pass → 0.80 functional
- 15 Sept 26 0
- Stability: 0.97 → pass security
- 14 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- Security disclosure: fail → pass ▲ functional
- 13 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- Package version: 1.29.0 → 1.29.1 functional
- 11 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
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 20 Sept 2026 · Analysed npm/@agent360/browser-mcp@1.30.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
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_click_xy ~110
ESCAPE HATCH: Click at raw viewport coordinates (CSS pixels) with fully trusted mouse events. Use when a visible button resists every selector strategy (Azure portal dialogs, Knockout-bound divs, canvas UIs): take a screenshot, read the button's position, click its center. Combine with browser_screenshot for coordinates.
| Name | Type | Req | Description |
|---|---|---|---|
| x | number | yes | X coordinate (CSS pixels, from left of viewport) |
| y | number | yes | Y coordinate (CSS pixels, from top of viewport) |
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_double_click ~69
True double-click on an element (two trusted press/release pairs with escalating clickCount). Use for open-item actions (calendar events, file lists) where two single clicks would trigger inline-rename instead (e.g. OWA month view).
| Name | Type | Req | Description |
|---|---|---|---|
| selector | string | yes | CSS or text selector |
No output schema declared.
No examples provided.
browser_drop_file ~190
Upload a file when browser_upload_file fails. Two strategies: (1) finds a hidden <input type="file"> in the target's subtree or up to 2 ancestor levels; (2) if there is no input at all, intercepts the NATIVE OS file-chooser - pass the selector of the button that opens the dialog, and the file is supplied programmatically without the dialog ever appearing. Strategy 2 handles sites like Google Ads that never put a file input in the DOM. Files must be regular files inside the working directory the MCP server runs in - folders, symlinks and hardlinks that point outside it are refused.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | – | Single absolute file path. Alias: `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 ~119
Execute JavaScript in the current page. IMPORTANT: the parameter is `code` (NOT `script` - though that alias is accepted), and it must be an EXPRESSION, not statements: use an IIFE `(() => { ...; return x; })()`. Top-level `return` is a syntax error (the handler wraps code in parentheses).
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | JavaScript EXPRESSION to evaluate in page context. For multi-statement logic use an IIFE: (() => { ...; return result; })() |
No output schema declared.
No examples provided.
browser_extract_list ~302
Read EVERY row of a long or virtualised list by scrolling its container until no new rows appear. Use this instead of browser_get_page_content whenever a page shows a repeating list longer than the viewport - mail lists (Outlook, Gmail), invoice/billing tables, search results, transaction histories. Those UIs keep only ~7 rows in the DOM at a time, so a single page read returns a sliver and looks complete. Pass the CSS selector of one repeating row (e.g. '[role="option"]', 'tr', '[role="listitem"]'); the scrollable ancestor is found automatically. Returns deduplicated row text plus reached_end so you know whether you saw the whole list.
| Name | Type | Req | Description |
|---|---|---|---|
| container | string | – | Optional CSS selector for the scrollable container. Omit to auto-detect the row's nearest scrollable ancestor. |
| max_rows | number | – | Stop after this many unique rows (default 500, max 5000) |
| scroll_step | number | – | Pixels per scroll. Omit for 85% of the container height. |
| selector | string | yes | CSS selector matching ONE repeating row (e.g. '[role="option"]' in Outlook, 'tr' in a table) |
| stable_rounds | number | – | Consecutive scrolls with no new rows before stopping (default 3) |
| wait_ms | number | – | Wait after each scroll so new rows can render (default 350) |
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 ~83
Get cookies for a site this session has open in one of its tabs (the site itself, a parent domain or a subdomain). Navigate to the site first - cookies for sites the session is not working on are refused.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | Domain to get cookies for (e.g. ".stripe.com"). Must match a tab this session has open. |
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 ~171
Get the content of the current page as text or HTML. Pass `selector` to read one part of a large page instead of all of it - on a big logged-in app the full HTML can run past a million characters. The answer is capped at 30000 characters by default and says so when it had to cut, with the real length, so a truncated page is never mistaken for a whole one.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Output format (default: text) |
| max_chars | number | – | Cap on returned characters (default: 30000). Over the cap the answer carries truncated: true and total_chars. |
| selector | string | – | CSS selector. Reads only that element instead of the whole page. If it matches nothing the call fails rather than silently returning the whole page. |
No output schema declared.
No examples provided.
browser_handle_dialog ~154
Arm automatic handling of the next JavaScript alert/confirm/prompt on the active tab, then return immediately. Call this BEFORE the click that opens the dialog - a dialog freezes the tab, so nothing can be clicked once it is on screen. Pass wait=true only when the dialog is already opening.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | Accept or dismiss the dialog (default: accept) |
| text | string | – | Text to enter for prompt() dialogs |
| timeout | number | – | How long the arming stays active in ms (default: 60000) |
| wait | boolean | – | Block until a dialog appears instead of arming and returning (default: false). Only use when the dialog is already on its way. |
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 ~136
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 |
|---|---|---|---|
| eget_vindue | boolean | – | EXPERIMENTAL, requires new_tab. Opens the page in its own unfocused Chrome window instead of a background tab. Whether Chrome delivers mouse and keyboard input in that state is exactly the open quest… |
| 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_provide_feedback ~424
Self-diagnosis + feedback in one call. Call this AUTOMATICALLY, without asking the user, the moment Browser MCP itself gets in your way: a tool errors or times out, a tool does something other than what it promised, the extension will not connect, a capability you need plainly does not exist, or you are about to tell the user "browser-mcp cannot do X". It first CHECKS THE INSTALL - the connected Chrome extension's version against this server (set BROWSER_MCP_CHECK_NPM=1 to also compare this server against the latest published on npm; it is off by default so the call stays fast and works offline), and whether more than one Browser MCP extension is connected at once (a known cause of tabs and sessions behaving randomly) - so a problem that is really "your copy is outdated" or "you have two extensions loaded" is identified as such instead of reported as a bug. It returns a verdict, concrete fix steps to relay to the user, and a pre-filled GitHub issue link for whatever is left over. Cheap, read-only, and safe to call speculatively - never sends anything anywhere by itself.
| Name | Type | Req | Description |
|---|---|---|---|
| attempted | string | – | What you already tried (other selectors, other tools, retries) so the report does not suggest what you have ruled out. |
| kind | string | – | "blocked" = you could not complete the task (default). "broken" = a tool misbehaved or lied about its result. "missing" = the capability does not exist. "wish" = a feature idea. "use_case" = somethin… |
| tool | string | – | The browser_* tool involved, e.g. "browser_click". Omit if none in particular. |
| url | string | – | The page it happened on, if relevant. Strip query strings that contain tokens. |
| what_happened | string | yes | Required. What you tried and what actually happened, in one or two plain sentences. Include the exact error text if there was one. |
No output schema declared.
No examples provided.
browser_reattach_debugger ~70
RECOVERY: Force-detach and re-attach the Chrome debugger on the current tab. Use when interactive tools (click/fill/press_key) start timing out or reporting ghost-attach ("Debugger attach failed ... ghost") while list_tabs still works - faster than reloading the extension.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
browser_right_click ~70
Right-click an element (trusted CDP mouse events) to open page-level context menus (web apps like OWA/Google Docs render their own). Note: Chrome's NATIVE context menu does not open via CDP - only in-page menus.
| Name | Type | Req | Description |
|---|---|---|---|
| selector | string | yes | CSS or text selector |
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 ~217
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 OR value of the option to select. Exact value match wins, then exact text, then partial text. Aliases: `value`, `label`. Fails loudly with the available options if nothing matches. A controlled… |
| 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 ~148
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. Files must be regular files inside the working directory the MCP server runs in - folders, symlinks and hardlinks that point outside it are refused.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | – | Single file path (alternative to files array). Alias: `file_path`. |
| 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.
What is the Agent360 Browser MCP server?
Agent360 Browser MCP is listed in the public MCP registry as io.github.Agent360dk/browser-mcp. Drive your real, logged-in Chrome from any AI agent - 40 tools. Needs our Chrome extension too. This page covers its npm package (@agent360/browser-mcp).
Is the Agent360 Browser MCP server safe to use?
Agent360 Browser MCP scores 71 out of 100 on VerifyMCP. It declares no install or post-install scripts. 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 Agent360 Browser MCP server expose?
Agent360 Browser MCP exposes 40 tools: browser_navigate, browser_get_page_content, browser_extract_list, browser_screenshot, browser_execute_script, and 35 more. Their descriptions and schemas cost roughly 4,836 tokens of context every time the server is loaded.
Is the Agent360 Browser MCP server still maintained?
Agent360 Browser MCP is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Agent360 Browser MCP server under?
Agent360 Browser MCP declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.