
Agent360 Browser MCP
Connects Claude to your actual Chrome browser with your existing sessions, cookies, and logins intact. Provides 34 tools covering navigation, form filling, clicking, scrolling, iframe handling, and CAPTCHA solving. The standout features are multi-session support (10 concurrent AI conversations, each with color-coded tab groups), human-in-the-loop prompts for 2FA and credential input via browser_ask_user, and a CORS-bypassing browser_fetch that runs requests from the extension background. Also ships with integrations for extracting API tokens from Stripe, HubSpot, Slack, and six other provider dashboards. Requires a one-time manual extension load in Chrome, then communicates over WebSocket on ports 9876-9885.
- GitHub stars
- 62
- tools
- 40
- transport
- STDIO
- last updated
- Oct 29, 2026
Tools
40 toolsPublic tool metadata for what this MCP can expose to an agent.
browser_navigateNavigate to URL (reuses tab, or `new_tab=true`). On "Leave site?" it answers Stay and says so (`beforeunload-blocked`); `leave_page=true` leaves; an armed `browser_handle_dialog` answers instead of either
Navigate to URL (reuses tab, or `new_tab=true`). On "Leave site?" it answers Stay and says so (`beforeunload-blocked`); `leave_page=true` leaves; an armed `browser_handle_dialog` answers instead of either
No parameter schema in public metadata yet.
browser_get_page_contentGet page text or HTML
Get page text or HTML
No parameter schema in public metadata yet.
browser_screenshotScreenshot via Chrome Debugger (works even when tab isn't focused; a covered window answers `window-covered`)
Screenshot via Chrome Debugger (works even when tab isn't focused; a covered window answers `window-covered`)
No parameter schema in public metadata yet.
browser_execute_scriptRun JavaScript in the page's own context, through the Chrome debugger (CSP-strict sites too)
Run JavaScript in the page's own context, through the Chrome debugger (CSP-strict sites too)
No parameter schema in public metadata yet.
browser_extract_listRead the rows of a long/virtualised list by scrolling its container until no new rows appear; scrolls with real wheel events in the active tab, so feeds that load on wheel (Threads, X) load; in a hidden page (a background tab) a list that loads while scrolling stops early, and...
Read the rows of a long/virtualised list by scrolling its container until no new rows appear; scrolls with real wheel events in the active tab, so feeds that load on wheel (Threads, X) load; in a hidden page (a background tab) a list that loads while scrolling stops early, and...
No parameter schema in public metadata yet.
browser_clickClick via CSS or text selector (`text=Submit`, `button:text(Next)`); a text selector looks in an open modal dialog first, and it answers `covered` instead of clicking when the mouse would not reach the target
Click via CSS or text selector (`text=Submit`, `button:text(Next)`); a text selector looks in an open modal dialog first, and it answers `covered` instead of clicking when the mouse would not reach the target
No parameter schema in public metadata yet.
browser_fillFill input fields (works on CSP-strict sites); with a text selector, nothing is typed (`covered`) when the mouse would not reach the field
Fill input fields (works on CSP-strict sites); with a text selector, nothing is typed (`covered`) when the mouse would not reach the field
No parameter schema in public metadata yet.
browser_press_keyKeyboard events (Enter, Tab, Escape, modifiers). With ctrl or meta: a, c, x, v, z, y are sent as Chrome's select all, copy, cut, paste, undo, redo commands
Keyboard events (Enter, Tab, Escape, modifiers). With ctrl or meta: a, c, x, v, z, y are sent as Chrome's select all, copy, cut, paste, undo, redo commands
No parameter schema in public metadata yet.
browser_scrollScroll to element or by pixels
Scroll to element or by pixels
No parameter schema in public metadata yet.
browser_waitWait for element to appear
Wait for element to appear
No parameter schema in public metadata yet.
browser_hoverHover for tooltips/dropdowns; answers `covered` when the mouse would not reach it
Hover for tooltips/dropdowns; answers `covered` when the mouse would not reach it
No parameter schema in public metadata yet.
browser_select_optionNative `<select>` + custom dropdowns (Angular Material, React Select); a custom trigger or option the mouse would not reach is not clicked (`covered`)
Native `<select>` + custom dropdowns (Angular Material, React Select); a custom trigger or option the mouse would not reach is not clicked (`covered`)
No parameter schema in public metadata yet.
browser_set_comboboxAutocomplete/combobox: type query → wait for filtered listbox → click option (multi-value chip support). Use when `browser_select_option` fails on lazy-rendered options
Autocomplete/combobox: type query → wait for filtered listbox → click option (multi-value chip support). Use when `browser_select_option` fails on lazy-rendered options
No parameter schema in public metadata yet.
browser_set_dateRobust date inputs: tries native value-set → masked typing → calendar-picker navigation (MUI/AntD/react-datepicker/Lexical). Use when `browser_fill` fails on date fields
Robust date inputs: tries native value-set → masked typing → calendar-picker navigation (MUI/AntD/react-datepicker/Lexical). Use when `browser_fill` fails on date fields
No parameter schema in public metadata yet.
browser_dismiss_overlaysBulk-dismiss popups/modals/tooltips/banners via aria-label/text/×-char heuristics. `non_critical` mode preserves dialogs with form data
Bulk-dismiss popups/modals/tooltips/banners via aria-label/text/×-char heuristics. `non_critical` mode preserves dialogs with form data
No parameter schema in public metadata yet.
browser_handle_dialogAccept/dismiss native alert/confirm/prompt/"Leave site?" dialogs: answers one the extension saw open, or arms for the next (one that opened before anything listened cannot be answered from here)
Accept/dismiss native alert/confirm/prompt/"Leave site?" dialogs: answers one the extension saw open, or arms for the next (one that opened before anything listened cannot be answered from here)
No parameter schema in public metadata yet.
browser_double_clickTrue double-click (two trusted press/release pairs); answers `covered` when the mouse would not reach it
True double-click (two trusted press/release pairs); answers `covered` when the mouse would not reach it
No parameter schema in public metadata yet.
browser_right_clickRight-click to open page-level context menus; answers `covered` when the mouse would not reach it
Right-click to open page-level context menus; answers `covered` when the mouse would not reach it
No parameter schema in public metadata yet.
browser_click_xyEscape hatch: click at raw viewport coordinates (CSS pixels) with trusted mouse events
Escape hatch: click at raw viewport coordinates (CSS pixels) with trusted mouse events
No parameter schema in public metadata yet.
browser_reattach_debuggerRecovery: force-detach and re-attach the Chrome debugger on the current tab
Recovery: force-detach and re-attach the Chrome debugger on the current tab
No parameter schema in public metadata yet.
browser_list_tabsList session's tabs only
List session's tabs only
No parameter schema in public metadata yet.
browser_switch_tabSwitch to tab by ID; Chrome stays where it is unless `bring_to_front: true`
Switch to tab by ID; Chrome stays where it is unless `bring_to_front: true`
No parameter schema in public metadata yet.
browser_close_tabClose tab (session-owned only)
Close tab (session-owned only)
No parameter schema in public metadata yet.
browser_get_new_tabGet most recently opened tab (OAuth popups)
Get most recently opened tab (OAuth popups)
No parameter schema in public metadata yet.
browser_list_framesList iframes on page
List iframes on page
No parameter schema in public metadata yet.
browser_select_frameRun JavaScript in a specific iframe, also one from another site, through the Chrome debugger
Run JavaScript in a specific iframe, also one from another site, through the Chrome debugger
No parameter schema in public metadata yet.
browser_fetchHTTPS request from the extension (bypasses the page's CORS and CSP), without your browser cookies (none are sent, none are stored) - pass a token in headers; plain http only to 127.0.0.1
HTTPS request from the extension (bypasses the page's CORS and CSP), without your browser cookies (none are sent, none are stored) - pass a token in headers; plain http only to 127.0.0.1
No parameter schema in public metadata yet.
browser_wait_for_networkWait for specific API call to complete
Wait for specific API call to complete
No parameter schema in public metadata yet.
browser_extract_tokenOpen a known provider's API page and get instructions for finding or creating the token there (9 providers, below); it reads nothing itself
Open a known provider's API page and get instructions for finding or creating the token there (9 providers, below); it reads nothing itself
No parameter schema in public metadata yet.
browser_solve_captchaDetect CAPTCHAs and work through them one step per call. Auto-detects reCAPTCHA v2/v3, hCaptcha, Turnstile, FunCaptcha. Actions: `detect`, `click_checkbox` (tries the reCAPTCHA checkbox), `click_grid` (clicks the reCAPTCHA cells you choose; it returns no image, so take a scree...
Detect CAPTCHAs and work through them one step per call. Auto-detects reCAPTCHA v2/v3, hCaptcha, Turnstile, FunCaptcha. Actions: `detect`, `click_checkbox` (tries the reCAPTCHA checkbox), `click_grid` (clicks the reCAPTCHA cells you choose; it returns no image, so take a scree...
No parameter schema in public metadata yet.
browser_ask_userAsk you to act or answer: a small card you can drag aside while you log in or solve a CAPTCHA, or a dialog with fields for a 2FA code. The page can see what you type into it, so it is for secrets that belong to that page. It needs a page that loaded: on Chrome's error page or...
Ask you to act or answer: a small card you can drag aside while you log in or solve a CAPTCHA, or a dialog with fields for a 2FA code. The page can see what you type into it, so it is for secrets that belong to that page. It needs a page that loaded: on Chrome's error page or...
No parameter schema in public metadata yet.
browser_get_cookiesGet cookies for a site this session has open
Get cookies for a site this session has open
No parameter schema in public metadata yet.
browser_set_cookiesSet cookies for a domain
Set cookies for a domain
No parameter schema in public metadata yet.
browser_get_local_storageRead localStorage from page
Read localStorage from page
No parameter schema in public metadata yet.
browser_set_local_storageWrite localStorage values
Write localStorage values
No parameter schema in public metadata yet.
browser_console_logsCapture console.log/warn/error messages from page
Capture console.log/warn/error messages from page
No parameter schema in public metadata yet.
browser_upload_fileUpload files to `<input type="file">` via Chrome Debugger API (no dialog). Needs "Allow access to file URLs" for the Agent360 Browser MCP extension, which is off by default for Chrome Web Store installs and also lets the extension open any local file as a page, so turning it o...
Upload files to `<input type="file">` via Chrome Debugger API (no dialog). Needs "Allow access to file URLs" for the Agent360 Browser MCP extension, which is off by default for Chrome Web Store installs and also lets the extension open any local file as a page, so turning it o...
No parameter schema in public metadata yet.
browser_drop_fileUpload via drop-zones: uses the target if it is a file input, then a hidden `<input type="file">` inside it; with none it clicks the target and intercepts the native file chooser. Other file inputs on the page do not get the file. The answer describes the input used, and says...
Upload via drop-zones: uses the target if it is a file input, then a hidden `<input type="file">` inside it; with none it clicks the target and intercepts the native file chooser. Other file inputs on the page do not get the file. The answer describes the input used, and says...
No parameter schema in public metadata yet.
browser_provide_feedbackSelf-check + report in one call. Compares the connected extension against this server and detects **more than one Browser MCP extension connected at once**, also the same extension connected more than once (for instance from several Chrome profiles or browsers); with `BROWSER_...
Self-check + report in one call. Compares the connected extension against this server and detects **more than one Browser MCP extension connected at once**, also the same extension connected more than once (for instance from several Chrome profiles or browsers); with `BROWSER_...
No parameter schema in public metadata yet.
browser_aboutProject info + pre-filled links to submit a wish, use-case, or bug. From 1.31 it also lists the Browser MCP installations connected to the chat: the profile name from the popup, the installation id and the version
Project info + pre-filled links to submit a wish, use-case, or bug. From 1.31 it also lists the Browser MCP installations connected to the chat: the profile name from the popup, the installation id and the version
No parameter schema in public metadata yet.
Sponsors
Readme
Browser MCP by Agent360
The browser tool that can stop and ask you. A 2FA code, a CAPTCHA, a choice only you can make: it asks on your own screen, then carries on in the same signed-in Chrome.
It drives the Chrome you are already signed into: no login step to fail, no API key to wire up, no fresh profile that is a stranger to every account you have. Up to 20 agents at once, each in its own colour-coded tab group. 40 tools, MIT, runs on your machine.
→ What it can and cannot get past - every wall, marked measured, by design, not yet, or won't. Including the ones we have not fixed.
Details
- Repository
- github.com/agent360dk/browser-mcp
- Website
- browsermcp.dev
- Categories
- Web & Browser Automation, AI & LLM Tools
- Package
@agent360/browser-mcp- Transport
- STDIO
- Registry
- MCP registry, active