npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@agent360/browser-mcp

v1.16.1

Published

Browser MCP — control your real Chrome from Claude Code. 29 tools, CAPTCHA solving, file upload, multi-session, human-in-the-loop.

Readme

Browser MCP by Agent360

npm version npm downloads GitHub stars License: MIT MCP

Control your real Chrome from Claude Code — with your logins, cookies, and 2FA.

Browser MCP Demo

The only browser MCP with multi-session support (10 concurrent AI sessions), human-in-the-loop (2FA, CAPTCHA, credentials), and built-in provider integrations (Stripe, HubSpot, Slack, and 6 more). 29 tools total.

Install

npx @agent360/browser-mcp install

This copies the Chrome extension to ~/.browser-mcp/extension/ and configures Claude Code automatically.

Then load the extension in Chrome:

  1. Open chrome://extensions
  2. Enable Developer mode (top right)
  3. Click Load unpacked → select ~/.browser-mcp/extension/
  4. Restart Claude Code

That's it. 29 browser tools are now available in Claude Code.

Why This Over Playwright MCP / BrowserMCP?

| | Browser MCP | Playwright MCP | BrowserMCP.io | |---|---|---|---| | Browser | Your real Chrome | Headless (new session) | Your real Chrome | | Logins/cookies | Already authenticated | Must log in every time | Already authenticated | | Multi-session | 10 concurrent sessions with color-coded tab groups | Single session | Single session | | Human-in-the-loop | browser_ask_user — 2FA, CAPTCHA, credential input | None | None | | Provider integrations | 9 built-in (Stripe, HubSpot, Slack...) | None | None | | CORS bypass | browser_fetch from extension background | N/A | Limited | | Network monitoring | browser_wait_for_network via CDP | Built-in | None | | CSP-strict sites | Chrome Debugger API throughout | Works (headless) | Limited | | Custom dropdowns | Angular Material, React Select support | Works (headless) | Limited | | Install | npx @agent360/browser-mcp install | npx @anthropic-ai/mcp-playwright | Manual clone |

29 Tools

Navigation & Content

| Tool | Description | |------|-------------| | browser_navigate | Navigate to URL (reuses tab, or new_tab=true) | | browser_get_page_content | Get page text or HTML | | browser_screenshot | Screenshot via Chrome Debugger (works even when tab isn't focused) | | browser_execute_script | Run JavaScript in page context |

Interaction

| Tool | Description | |------|-------------| | browser_click | Click via CSS or text selector (text=Submit, button:text(Next)) | | browser_fill | Fill input fields (works on CSP-strict sites) | | browser_press_key | Keyboard events (Enter, Tab, Escape, modifiers) | | browser_scroll | Scroll to element or by pixels | | browser_wait | Wait for element to appear | | browser_hover | Hover for tooltips/dropdowns | | browser_select_option | Native <select> + custom dropdowns (Angular Material, React Select) | | browser_handle_dialog | Accept/dismiss alert/confirm/prompt dialogs |

Tabs & Frames

| Tool | Description | |------|-------------| | browser_list_tabs | List session's tabs only | | browser_switch_tab | Switch to tab by ID | | browser_close_tab | Close tab (session-owned only) | | browser_get_new_tab | Get most recently opened tab (OAuth popups) | | browser_list_frames | List iframes on page | | browser_select_frame | Execute JS in specific iframe |

Data & Network

| Tool | Description | |------|-------------| | browser_get_cookies | Get cookies for domain | | browser_get_local_storage | Read localStorage | | browser_fetch | HTTP request from extension (bypasses CORS) | | browser_wait_for_network | Wait for specific API call to complete | | browser_extract_token | Navigate to provider dashboard + extract API token |

CAPTCHA Solving

| Tool | Description | |------|-------------| | browser_solve_captcha | Detect and solve CAPTCHAs. Auto-detects reCAPTCHA v2/v3, hCaptcha, Turnstile, FunCaptcha. Actions: detect, click_checkbox (auto-click, ~80% pass with Google login), click_grid (AI vision guided), ask_human (fallback) |

Human-in-the-Loop

| Tool | Description | |------|-------------| | browser_ask_user | Show overlay dialog for 2FA, CAPTCHA, credentials, or any user input |

Data

| Tool | Description | |------|-------------| | browser_get_cookies | Get cookies for a domain | | browser_set_cookies | Set cookies for a domain | | browser_get_local_storage | Read localStorage from page | | browser_set_local_storage | Write localStorage values | | browser_console_logs | Capture console.log/warn/error messages from page | | browser_upload_file | Upload files to <input type="file"> via Chrome Debugger API (no dialog) |

Multi-Session Support

Each Claude Code conversation gets its own MCP server on a unique port (9876-9885). The Chrome extension connects to all active servers simultaneously.

Claude Session 1 ←(stdio)→ MCP :9876 ←(WS)→
Claude Session 2 ←(stdio)→ MCP :9877 ←(WS)→  Chrome Extension → Browser
Claude Session 3 ←(stdio)→ MCP :9878 ←(WS)→
  • Session isolation — each session gets a color-coded Chrome Tab Group
  • Tab ownership — sessions can only see and control their own tabs
  • Auto-cleanup — processes exit when Claude Code closes the conversation

Built-in Provider Integrations

browser_extract_token navigates to the provider's API settings page and guides token extraction:

| Provider | Token Format | Dashboard | |----------|-------------|-----------| | Stripe | sk_test_... / sk_live_... | stripe.com/apikeys | | HubSpot | pat-... | app.hubspot.com | | Slack | xoxb-... | api.slack.com/apps | | Shopify | Admin API token | admin.shopify.com | | Pipedrive | UUID | app.pipedrive.com | | Calendly | JWT | calendly.com | | Mailchimp | ...-us1 | admin.mailchimp.com | | Google | OAuth Client | console.cloud.google.com | | LinkedIn | Client ID/Secret | linkedin.com/developers |

Architecture

extension/
  manifest.json       # Manifest V3
  background.js       # Service worker — Chrome API dispatcher, session tab groups
  offscreen.js        # Persistent WebSocket bridge (multi-port scanning)
  popup.html/js       # Status UI — sessions, tabs, action log

mcp-server/
  index.js            # MCP server (stdio) + WebSocket client
  tools.js            # 29 tool definitions
  bin/cli.js          # Install CLI

How It Works

  1. Claude Code starts → spawns MCP server via stdio
  2. MCP server binds to first available port (9876-9885)
  3. Extension's offscreen document scans ports every 2s
  4. WebSocket connection established
  5. Commands flow: Claude Code → MCP → Extension → Chrome APIs
  6. Process auto-exits when Claude Code closes (stdin detection)

Auto-Updates

The MCP server runs via npx @agent360/browser-mcp@latest — always the latest version from npm. No manual git pulls needed.

To update the extension: npx @agent360/browser-mcp install (re-copies files), then reload in chrome://extensions.

Troubleshooting

"Chrome extension not connected"

  • Check extension is loaded in chrome://extensions
  • Click the extension popup → "Reconnect"
  • Wait 2-3 seconds for port scan

Screenshot fails

  • Uses Chrome Debugger API (works even when tab isn't focused)
  • Falls back to captureVisibleTab if debugger unavailable

Click doesn't work on SPA

  • Try text selector: browser_click("text=Submit")
  • Uses real mouse events via Chrome Debugger API automatically

Stale processes

  • Processes auto-exit when Claude Code closes (stdin detection)
  • Idle timeout: 4 hours without commands → auto-exit
  • Manual cleanup: lsof -i :9876-9885 | grep LISTEN

License

MIT — Agent360