MCP Browser
Click on "Install 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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/bobmatnyc/mcp-browser'
If you have feedback or need assistance with the MCP directory API, please join our Discord server