MCP Browser
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Browsergo to wikipedia.org and search for 'MCP protocol'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Browser
A professional Model Context Protocol (MCP) server that provides comprehensive browser automation and console log capture through Chrome extension integration. Features automated installation, DOM interaction capabilities, and seamless Claude Code integration.
🌟 Zero Documentation Required
Get started without reading any documentation:
pip install mcp-browser
mcp-browser extension install
mcp-browser install
mcp-browser start --backgroundLoad the extension in Chrome (one-time):
chrome://extensions→ enable Developer mode → “Load unpacked” → select~/mcp-browser-extensions/chrome/
Prefer an interactive wizard?
mcp-browser quickstartNeed help anytime? The CLI is completely self-documenting:
mcp-browser --help # See all commands
mcp-browser reference # Quick reference card
mcp-browser doctor # Diagnose and fix issues
mcp-browser tutorial # Step-by-step feature tourRelated MCP server: Algonius Browser
🚀 Quick Start (30 Seconds)
Option 1: Zero-Config Installation (Recommended)
pip install mcp-browser
mcp-browser extension install
mcp-browser install
mcp-browser start --backgroundOption 2: Development Installation
git clone https://github.com/browserpymcp/mcp-browser.git
cd mcp-browser
make install
make ext-deploy
mcp-browser start --backgroundNext: load the extension
Chrome:
chrome://extensions→ “Load unpacked” →./mcp-browser-extensions/chrome/
✨ Features
Core Capabilities
🎯 Advanced DOM Interaction: Click elements, fill forms, submit data, select dropdowns, wait for elements
📊 Console Log Capture: Real-time capture from all browser tabs with advanced filtering
📷 Screenshots: Extension-backed viewport capture
🌐 Smart Navigation: Programmatic browser navigation with URL validation
🔄 Auto-Discovery: Dynamic port allocation (default 8851-8899) with collision avoidance
🤖 AI-Ready: 5 consolidated MCP tools optimized for efficient prompting
Technical Architecture
⚡ Service-Oriented Architecture (SOA): Clean separation with dependency injection
🔗 WebSocket Communication: Real-time bidirectional browser communication
💾 JSONL Storage: Automatic log rotation (50MB) with 7-day retention
🎨 Chrome Extension: Visual connection status with real-time monitoring
🤖 MCP Integration: Consolidated tool surface for AI-driven browser automation
Installation & CLI
📦 PyPI Distribution:
pip install mcp-browserfor instant setup🎯 Interactive Setup:
mcp-browser quickstartfor guided configuration🔧 Self-Documenting CLI: Built-in help, tutorials, and troubleshooting
🏥 Health Monitoring:
mcp-browser doctorfor system diagnostics⚙️ Smart Configuration: Auto-generated settings with sensible defaults
🧪 Self-Verification: Built-in installation testing and demo capabilities
Architecture
The project follows a Service-Oriented Architecture (SOA) with dependency injection:
WebSocket Service: Handles browser connections with port auto-discovery
Storage Service: Manages JSONL log files with rotation
Browser Service: Processes console messages and manages browser state
DOM Interaction: DOM actions, extraction, and screenshots via extension protocol
MCP Service: Exposes tools to MCP clients (Claude Code/Desktop, etc.)
📦 Installation
Platform Support
Supported:
macOS (recommended - full AppleScript integration)
Linux (Chrome/Chromium/Firefox support)
Not Supported:
Windows (incompatible due to AppleScript dependencies)
Prerequisites
Python 3.10+ (with pip)
Chrome/Chromium browser
macOS or Linux operating system
Method 1: PyPI Installation (Recommended)
pip install mcp-browser
mcp-browser extension install
mcp-browser install
mcp-browser start --backgroundMethod 2: Development Installation
git clone https://github.com/browserpymcp/mcp-browser.git
cd mcp-browser
make install
make ext-deploy
mcp-browser start --backgroundMethod 3: pipx Installation (Isolated)
# Install with pipx for complete isolation
pipx install mcp-browser
mcp-browser extension install
mcp-browser install
mcp-browser start --backgroundPrefer an interactive wizard? Run mcp-browser quickstart.
Need detailed installation help? See INSTALLATION.md for platform-specific instructions, troubleshooting, and alternative methods.
🎯 Usage
Self-Documenting CLI
New to MCP Browser? The CLI guides you through everything:
# Interactive setup and feature tour
mcp-browser quickstart # Complete setup guide
mcp-browser tutorial # Step-by-step feature demo
mcp-browser doctor # Diagnose and fix issues
# Get help anytime
mcp-browser --help # See all commands
mcp-browser start --help # Help for specific commandsProfessional Server Management
# Server control
mcp-browser start --background # Start daemon in background (recommended)
mcp-browser start # Start in foreground (debugging)
mcp-browser stop # Stop daemon for current project
mcp-browser status # Status for current project
# Installation management
mcp-browser install # Install/configure MCP integration
mcp-browser uninstall # Remove MCP config entry
# MCP integration
mcp-browser mcp # Run in MCP stdio mode (invoked by MCP clients)
# Utilities
mcp-browser version # Show version info
# Extension management
mcp-browser extension install [--local]
mcp-browser extension update [--local]
mcp-browser extension path --check
# Local testing (CLI)
mcp-browser browser logs --limit 20
mcp-browser browser extract contentUninstalling MCP Browser
MCP Browser provides flexible uninstall options from simple MCP config removal to complete cleanup.
Quick Uninstall (MCP Config Only)
# Remove from Claude Code (default)
mcp-browser uninstall
# Remove from Claude Desktop
mcp-browser uninstall --target claude-desktop
# Remove from both
mcp-browser uninstall --target bothComplete Cleanup
# Preview what would be removed (recommended first step)
mcp-browser uninstall --clean-all --dry-run
# Remove everything with confirmation
mcp-browser uninstall --clean-all
# Remove everything without confirmation (use with caution)
mcp-browser uninstall --clean-all --yesCleanup Options
Flag | Description | What Gets Removed |
| Clean project files |
|
| Clean user data |
|
| Complete removal | MCP config + local + global data (add |
| Remove Playwright cache |
|
| Control backup creation | Creates timestamped backup (default: enabled) |
| Preview changes | Shows what would be removed without doing it |
| Skip confirmations | Removes without prompting (dangerous) |
Safety Features
Automatic Backups: By default, creates timestamped backups in
~/.mcp-browser-backups/before removing dataConfirmation Prompts: Asks for confirmation before destructive operations (unless
--yesis used)Preview Mode: Use
--dry-runto see exactly what would be removedSelective Cleanup: Choose specific cleanup levels based on your needs
Example Scenarios
# Scenario 1: Remove MCP config only (safest)
mcp-browser uninstall
# Scenario 2: Clean local project files only
mcp-browser uninstall --clean-local
# Scenario 3: Clean global data with backup
mcp-browser uninstall --clean-global
# Scenario 4: Preview complete removal
mcp-browser uninstall --clean-all --dry-run
# Scenario 5: Complete removal with backup
mcp-browser uninstall --clean-all
# Scenario 6: Nuclear option (no backup, no confirmation)
mcp-browser uninstall --clean-all --no-backup --yesFor detailed uninstall instructions and recovery options, see UNINSTALL.md
Uninstall the Package Itself
After removing configurations and data, uninstall the package:
# If installed with pip
pip uninstall mcp-browser
# If installed with pipx
pipx uninstall mcp-browser🛠️ MCP Tools (MCP surface)
MCP Browser exposes a consolidated tool surface optimized for AI assistants:
browser_action— navigate/click/fill/select/waitbrowser_query— logs/element/capabilitiesbrowser_screenshot— extension-backed screenshot capturebrowser_form— fill/submit formsbrowser_extract— readable content or semantic DOM extraction
Tool schemas, examples, and legacy-name mapping: docs/reference/MCP_TOOLS.md.
Chrome Extension Features
The Chrome extension provides comprehensive browser integration:
Automatic Console Capture
Multi-tab monitoring: Captures console logs from all active browser tabs
Real-time buffering: Collects messages every 2.5 seconds for optimal performance
Level filtering: Supports error, warn, info, and debug message types
Automatic initialization: Self-starts on page load with verification message
Visual Connection Management
Status indicator: Toolbar icon shows connection state (green = connected, red = disconnected)
Port display: Shows active WebSocket port in extension popup
Auto-reconnection: Automatically reconnects on connection loss
Connection diagnostics: Real-time connection health monitoring
DOM Interaction Support
Element discovery: Supports CSS selectors, XPath, and text-based element finding
Form automation: Integrates with form filling and submission tools
Event handling: Manages click, input, and selection events
Wait mechanics: Handles dynamic content and AJAX loading
Safari Extension (macOS)
Full Safari support with native macOS app wrapper:
Installation
# Automated conversion from Chrome extension
cd /path/to/mcp-browser
bash scripts/create-safari-extension.shFeatures
Safari 17+ Support: Full Manifest V3 compatibility with service workers
Cross-browser API: Uses both
chrome.*andbrowser.*namespacesNative App Wrapper: Packaged as macOS application for App Store distribution
Code Signing Ready: Configured for both development and distribution signing
Xcode Project: Automatically generated with proper capabilities
Key Differences from Chrome
Requires macOS app wrapper (automatically created)
Uses Apple's
safari-web-extension-convertertoolNeeds App Sandbox capabilities for WebSocket connections
Distribution requires Apple Developer account for signing
📚 Complete Guide: See docs/guides/SAFARI_EXTENSION.md for:
Step-by-step setup instructions
Xcode project configuration
Code signing and notarization
App Store and direct distribution
Testing and debugging guides
Common issues and solutions
🗂️ File Structure
Repository structure
mcp-browser/
├── src/ # Python package (mcp_browser)
│ ├── cli/ # CLI commands and utilities
│ ├── services/ # SOA services (WebSocket, MCP, storage, DOM, etc.)
│ ├── extension/ # Packaged Chrome extension assets (used by CLI installer)
│ └── extensions/ # Unpacked extension sources (chrome/firefox/safari)
├── docs/ # Documentation (start at docs/README.md)
├── scripts/ # Dev + release scripts
├── tests/ # Tests
└── mcp-browser-extensions/ # Generated unpacked extensions (gitignored)Runtime data
~/.mcp-browser/
├── config/settings.json # Configuration
├── data/<port>/console.jsonl # Stored console logs (JSONL, rotated)
├── logs/mcp-browser.log # Main log
└── server.pid # Daemon registry (per-project entries)Development
Single-Path Workflows
This project follows the "ONE way to do ANYTHING" principle. Use these commands:
# ONE way to install
make install
# ONE way to develop
make dev
# ONE way to test
make test
# ONE way to build
make build
# ONE way to format code
make lint-fix
# See all available commands
make helpLocal smoke test
make ext-deploy
mcp-browser start --background
mcp-browser demoRunning Tests
# Run all tests with coverage
make test
# Run specific test types
make test-unit
make test-integration
make test-extensionConfiguration
Default config file:
~/.mcp-browser/config/settings.json
Use a custom config for a single invocation:
mcp-browser --config /path/to/settings.json start --backgroundFull details: docs/guides/INSTALLATION.md.
Troubleshooting
Start with:
mcp-browser doctorMaintained guide: docs/guides/TROUBLESHOOTING.md.
License
MIT License - see LICENSE file for details
Documentation
Start here:
docs/README.md(doc index)docs/guides/INSTALLATION.md(install + first run)docs/reference/MCP_TOOLS.md(authoritative MCP tool surface)docs/reference/CODE_STRUCTURE.md(architecture overview)docs/developer/DEVELOPER.md(maintainer guide)
Project-wide doc standards: docs/STANDARDS.md.
AI agent instructions: CLAUDE.md.
Contributing
Contributions are welcome! Please follow the single-path development workflow:
Setup:
make setup(installs deps + pre-commit hooks)Develop:
make dev(start development server)Quality:
make quality(run all linting and tests)Submit: Create feature branch and submit pull request
All code must pass make quality before submission. The pre-commit hooks will automatically format and lint your code.
Support
For issues and questions:
GitHub Issues: https://github.com/browserpymcp/mcp-browser/issues
Documentation: Start with
docs/README.mdArchitecture Questions: See
docs/reference/CODE_STRUCTURE.md
This server cannot be deployed
Maintenance
Related MCP Connectors
Live browser debugging for AI assistants — DOM, console, network via MCP.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
MCP server for Mint — AI-powered QA that runs your app in a real browser on every PR.
MCP server to assist with JxBrowser development.
Related MCP Servers
- AlicenseBqualityCmaintenanceAn MCP server that provides AI models with full browser automation capabilities through Chrome. It enables navigation, interaction, screenshots, and complete DevTools access by bridging AI clients with a companion Chrome extension.997 npm3Apache 2.0

Algonius Browserofficial
AlicenseNot gradedqualityCmaintenanceAn open-source MCP server that provides browser automation capabilities to external AI systems, enabling navigation, DOM interaction, and web content extraction.20Apache 2.0- AlicenseNot gradedqualityDmaintenanceEnables AI agents to control Chrome browser actions like navigation, clicking, form filling, screenshots, and console/network logging via an MCP server and Chrome extension.532 npmMIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI coding tools to control a browser for automated actions, UI extraction, network interception, and screenshots.1-