iRoninIT/aironin-browse-mcp
If you are the rightful owner of aironin-browse-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
aiRonin Browse MCP Server is a Model Context Protocol server designed for browser automation with real-time visibility, optimized for AI agents.
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 aironin-browse-mcp@1.2.10
For Dev Containers:
# Use npx (recommended - handles installation issues automatically)
npx --yes aironin-browse-mcp@1.2.10
# Or install globally with resilient installation
npm install -g aironin-browse-mcp@1.2.10
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 URLclick_element: Click at specified coordinatestype_text: Type text into the browserscroll_page: Scroll the page up or downhover_element: Hover at specified coordinatesresize_browser: Resize browser windowclose_browser: Close the browser
Screenshot & Analysis
take_screenshot: Take a screenshot for AI agent analysiscapture_page: Capture a full page screenshotsave_screenshot: Take and save a screenshot to diskanalyze_page: Analyze the current page content
HTML Source Inspection
get_page_source: Get the full HTML source code of the current pageget_page_title: Get the title of the current pageget_page_meta: Extract meta tags and other page metadatainspect_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"
- Restart your MCP client (Cursor/Continue)
- Check that Node.js version is 20.0.0 or higher
- Verify the server is running:
npx --yes aironin-browse-mcp@1.2.10
Dev Container Issues
- Use the latest version:
npx --yes aironin-browse-mcp@1.2.10 - The server will automatically use your host Chrome
- If Puppeteer installation fails, the server will still work with remote browsers
Permission Issues
- Use
npx --yesto avoid prompts - For global install:
sudo npm install -g aironin-browse-mcp@1.2.10
Puppeteer Installation Issues
If you see Puppeteer installation errors in dev containers:
- The server will still work with remote browsers
- Start Chrome with:
chrome --remote-debugging-port=9222 - The server will auto-detect and connect to remote Chrome
Installation Issues
-
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 -
Permission denied:
# Check permissions ls -la ~/.cursor/mcp.json chmod 644 ~/.cursor/mcp.json -
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
-
Chrome not launching:
- Ensure sufficient disk space
- Check internet connection
- Verify Chrome is not already running
-
Remote browser connection fails:
- Start Chrome with:
chrome --remote-debugging-port=9222 - Check firewall settings
- Start Chrome with:
Common Errors
-
"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
-
"MCP server failed to start":
- Check Node.js version (requires 20.0.0+)
- Verify all dependencies are installed
-
"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
-
"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:
-
Test the MCP server directly:
# Using npm (default) npx --yes aironin-browse-mcp # Using pnpm (alternative) pnpm dlx aironin-browse-mcp -
Check your MCP client logs for any error messages
-
Restart your MCP client (Cursor, Continue, etc.) after adding the configuration
-
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
- Issues: GitHub Issues
- Documentation:
- Discussions: GitHub Discussions