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

aironin-browse-mcp

v1.4.6

Published

aiRonin Browse MCP server with headed Chrome support

Readme

aiRonin Browse MCP Server

A Model Context Protocol (MCP) server for browser automation with headed Chrome support.

🚀 Quick Start

For Local Development:

# Install dependencies
npm install

# Start the server
npm start

For Production/End Users:

# Use npx (works everywhere)
npx --yes [email protected]

For Dev Containers:

# Use npx (recommended - handles installation issues automatically)
npx --yes [email protected]

# Or install globally with resilient installation
npm install -g [email protected]

Note: Version 1.2.10+ includes enhanced dev container support:

  • ✅ Automatic detection of constrained environments (dev containers, codespaces)
  • ✅ Graceful handling of SIGTERM during Puppeteer installation
  • ✅ Multiple fallback installation strategies
  • ✅ Works with remote browsers even if local Chromium installation fails
  • ✅ Minimal server mode when dependencies are missing

📋 MCP Configuration

Standard Configuration (Recommended)

{
  "mcpServers": {
    "aironin-browse": {
      "command": "npx",
      "args": ["--yes", "aironin-browse-mcp@latest"],
      "env": {
        "NODE_ENV": "production",
        "INSTALL_CHROMIUM": "false",
        "REMOTE_BROWSER_ENABLED": "true",
        "SCREENSHOT_QUALITY": "75",
        "BROWSER_VIEWPORT_SIZE": "900x600",
        "BROWSER_NAVIGATION_TIMEOUT": "15000"
      }
    }
  }
}

With Local Chromium Download

{
  "mcpServers": {
    "aironin-browse": {
      "command": "npx",
      "args": ["--yes", "aironin-browse-mcp@latest"],
      "env": {
        "NODE_ENV": "production",
        "INSTALL_CHROMIUM": "true",
        "SCREENSHOT_QUALITY": "75",
        "BROWSER_VIEWPORT_SIZE": "900x600",
        "BROWSER_NAVIGATION_TIMEOUT": "15000"
      }
    }
  }
}

Dev Container Configuration

{
  "mcpServers": {
    "aironin-browse": {
      "command": "npx",
      "args": ["--yes", "aironin-browse-mcp@latest"],
      "env": {
        "NODE_ENV": "production",
        "INSTALL_CHROMIUM": "false",
        "REMOTE_BROWSER_ENABLED": "true",
        "PUPPETEER_EXECUTABLE_PATH": "/usr/bin/google-chrome"
      }
    }
  }
}

🔧 Available Tools

Browser Control

  • launch_browser: Launch browser and navigate to URL
  • click_element: Click at specified coordinates
  • type_text: Type text into the browser
  • scroll_page: Scroll the page up or down
  • hover_element: Hover at specified coordinates
  • resize_browser: Resize browser window
  • close_browser: Close the browser

Screenshot & Analysis

  • take_screenshot: Take a screenshot for AI agent analysis
  • capture_page: Capture a full page screenshot
  • save_screenshot: Take and save a screenshot to disk
  • analyze_page: Analyze the current page content

HTML Source Inspection

  • get_page_source: Get the full HTML source code of the current page
  • get_page_title: Get the title of the current page
  • get_page_meta: Extract meta tags and other page metadata
  • inspect_element: Get HTML and properties of an element at specified coordinates

🌐 Remote Browser Support

The server automatically detects and uses:

  • Local Chrome instances
  • Remote Chrome instances (including Docker host)
  • Headed Chrome for visibility

🔧 Troubleshooting

"No tools available" or "No server info found"

  1. Restart your MCP client (Cursor/Continue)
  2. Check that Node.js version is 20.0.0 or higher
  3. Verify the server is running: npx --yes [email protected]

Dev Container Issues

  1. Use the latest version: npx --yes [email protected]
  2. The server will automatically use your host Chrome
  3. If Puppeteer installation fails, the server will still work with remote browsers

Permission Issues

Puppeteer Installation Issues

If you see Puppeteer installation errors in dev containers:

  1. The server will still work with remote browsers
  2. Start Chrome with: chrome --remote-debugging-port=9222
  3. The server will auto-detect and connect to remote Chrome

Installation Issues

  1. Package manager not found:

    # npm comes bundled with Node.js (default)
    # npm should be available with Node.js installation
    
    # Or install pnpm (alternative)
    npm install -g pnpm
  2. Permission denied:

    # Check permissions
    ls -la ~/.cursor/mcp.json
    chmod 644 ~/.cursor/mcp.json
  3. MCP server not starting:

    # Test direct execution (choose one)
    npx --yes aironin-browse-mcp  # Using npm (default)
    pnpm dlx aironin-browse-mcp   # Using pnpm (alternative)

Browser Issues

  1. Chrome not launching:

    • Ensure sufficient disk space
    • Check internet connection
    • Verify Chrome is not already running
  2. Remote browser connection fails:

    • Start Chrome with: chrome --remote-debugging-port=9222
    • Check firewall settings

Common Errors

  1. "Command not found":

    • Restart Cursor after configuration changes
    • Verify your package manager is installed and in PATH
    • For npm: which npm (should be available with Node.js)
    • For pnpm: which pnpm
  2. "MCP server failed to start":

    • Check Node.js version (requires 20.0.0+)
    • Verify all dependencies are installed
  3. "No tools available" or "No prompts":

    • Restart your MCP client (Cursor, Continue, etc.) after adding configuration
    • Check that the MCP server is starting correctly in the logs
    • Verify the configuration syntax is correct (no extra commas, proper JSON)
    • Try the development configuration if production doesn't work
    • Check that Node.js 20.0.0+ is installed and available
  4. "Browser automation failed":

    • Check Chrome/Chromium installation
    • Verify sufficient system resources

📦 Installation Guide

Quick Installation

The MCP server is available as an npm package and will be automatically downloaded when you use it.

Option 1: npx (Default)

Add this to your MCP configuration:

{
  "mcpServers": {
    "aironin-browse": {
      "command": "npx",
      "args": ["--yes", "aironin-browse-mcp"],
      "env": {
        "NODE_ENV": "production",
        "REMOTE_BROWSER_ENABLED": "true",
        "SCREENSHOT_QUALITY": "75",
        "BROWSER_VIEWPORT_SIZE": "900x600",
        "BROWSER_NAVIGATION_TIMEOUT": "15000"
      }
    }
  }
}

Option 2: pnpm dlx (Alternative)

Add this to your MCP configuration:

{
  "mcpServers": {
    "aironin-browse": {
      "command": "pnpm",
      "args": ["dlx", "aironin-browse-mcp"],
      "env": {
        "NODE_ENV": "production",
        "REMOTE_BROWSER_ENABLED": "true",
        "SCREENSHOT_QUALITY": "75",
        "BROWSER_VIEWPORT_SIZE": "900x600",
        "BROWSER_NAVIGATION_TIMEOUT": "15000"
      }
    }
  }
}

Prerequisites

  • Node.js: 20.0.0 or higher
  • Package Manager:
    • npm: 9.0.0 or higher (default)
    • pnpm: 10.0.0 or higher (alternative)
  • Chrome/Chromium: Will be downloaded automatically
  • Cursor/Continue: MCP-compatible AI agent

Configuration

Cursor Configuration

Create or update .cursor/mcp.json:

Using npm (default):

{
  "mcpServers": {
    "aironin-browse": {
      "command": "npx",
      "args": ["--yes", "aironin-browse-mcp"],
      "env": {
        "NODE_ENV": "production",
        "REMOTE_BROWSER_ENABLED": "true",
        "SCREENSHOT_QUALITY": "75",
        "BROWSER_VIEWPORT_SIZE": "900x600",
        "BROWSER_NAVIGATION_TIMEOUT": "15000"
      }
    }
  }
}

Using pnpm (alternative):

{
  "mcpServers": {
    "aironin-browse": {
      "command": "pnpm",
      "args": ["dlx", "aironin-browse-mcp"],
      "env": {
        "NODE_ENV": "production",
        "REMOTE_BROWSER_ENABLED": "true",
        "SCREENSHOT_QUALITY": "75",
        "BROWSER_VIEWPORT_SIZE": "900x600",
        "BROWSER_NAVIGATION_TIMEOUT": "15000"
      }
    }
  }
}

Continue Configuration

Create or update ~/.continue/config.json:

Using npm (default):

{
  "mcpServers": {
    "aironin-browse": {
      "command": "npx",
      "args": ["--yes", "aironin-browse-mcp"],
      "env": {
        "NODE_ENV": "production",
        "REMOTE_BROWSER_ENABLED": "true",
        "SCREENSHOT_QUALITY": "75",
        "BROWSER_VIEWPORT_SIZE": "900x600",
        "BROWSER_NAVIGATION_TIMEOUT": "15000"
      }
    }
  }
}

Using pnpm (alternative):

{
  "mcpServers": {
    "aironin-browse": {
      "command": "pnpm",
      "args": ["dlx", "aironin-browse-mcp"],
      "env": {
        "NODE_ENV": "production",
        "REMOTE_BROWSER_ENABLED": "true",
        "SCREENSHOT_QUALITY": "75",
        "BROWSER_VIEWPORT_SIZE": "900x600",
        "BROWSER_NAVIGATION_TIMEOUT": "15000"
      }
    }
  }
}

Installation Options

Default Installation (Recommended for Dev Containers):

npm install  # Skips Chromium download, uses system/remote Chrome

With Local Chromium Download:

INSTALL_CHROMIUM=true npm install  # Downloads Chromium locally

Convenience Scripts:

npm run install:no-chromium     # Explicit no-Chromium install
npm run install:with-chromium   # Explicit with-Chromium install
npm run reinstall:no-chromium   # Clean and reinstall without Chromium
npm run reinstall:with-chromium # Clean and reinstall with Chromium

Development Setup

git clone <repository>
cd aironin-browse-mcp
npm install  # Uses safe defaults
npm run build
npm start

Usage Examples

Basic Browser Automation

// Launch browser and navigate
await launch_browser({ url: "https://example.com" });

// Click on an element
await click_element({ coordinates: "200,300" });

// Type text
await type_text({ text: "Hello World" });

// Take screenshot for analysis
await take_screenshot({ quality: 85 });

// Close browser
await close_browser({});

Screenshot Analysis

// Take screenshot for AI analysis
await take_screenshot({ quality: 90 });

// Analyze page content
await analyze_page({ includeScreenshot: true });

// Save screenshot to disk
await save_screenshot({ filename: "result", quality: 85 });

HTML Source Inspection

// Get full page source
await get_page_source({ includeComments: false });

// Get page title
await get_page_title({});

// Extract meta tags
await get_page_meta({ includeAllMeta: true });

// Inspect element at coordinates
await inspect_element({
  coordinates: "200,300",
  includeChildren: true,
});

Verification

To verify your installation is working:

  1. Test the MCP server directly:

    # Using npm (default)
    npx --yes aironin-browse-mcp
    
    # Using pnpm (alternative)
    pnpm dlx aironin-browse-mcp
  2. Check your MCP client logs for any error messages

  3. Restart your MCP client (Cursor, Continue, etc.) after adding the configuration

  4. Look for browser automation tools in your AI agent's available tools

Updates

To update to the latest version:

# For pnpm dlx installation (automatic)
# Just restart your MCP client - it will use the latest version

# For npx installation (automatic)
# Just restart your MCP client - it will use the latest version

# For global npm installation
npm update -g aironin-browse-mcp

Then restart your MCP client (Cursor, Continue, etc.).

🏗️ Building

npm run build

🧪 Testing

npm test

📄 License

MIT

🆘 Support