browser-mcp-server
Yet Another Browser MCP Server
Install / Use
claude mcp add ricardodeazambuja -- npx -y github:ricardodeazambuja/browser-mcp-serverIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Development & EngineeringSupported Platforms
Tags
Our assessment of browser-mcp-server
browser-mcp-server scores 71/100 on our quality scale, 3799th of 4,632 Development & Engineering skills we index.
Its MCP Server is 27 KB long, well organised into 119 sections with 32 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated about 10 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
- Our last check on 2026-09-16 found the source still online.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 81/100, with 3 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-10-13. Automated pattern scan on 2026-10-13. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
browser-mcp-server compared with similar skills
All 4 of these similar skills score higher than browser-mcp-server; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| browser-mcp-server (this skill)by ricardodeazambuja | 71 | 3 | 10mo ago | MCP Server |
| taste-skillby Leonxlnx | 100 | 108.6k | 2d ago | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 108.0k | 1d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.7k | today | CLAUDE.md |
| ai-job-searchby ai-job-search-dev | 100 | 69.0k | today | CLAUDE.md |
Frequently asked questions
- How do I install browser-mcp-server?
- Run
claude mcp add ricardodeazambuja -- npx -y github:ricardodeazambuja/browser-mcp-server. The install tabs above show the steps for each supported agent. - Which AI agents does browser-mcp-server work with?
- It is written for Claude Code, Claude Desktop and Gemini CLI, as a MCP Server file. Other agents that read the same format can often use it too.
- Is browser-mcp-server safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is MIT-licensed and scores 81/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is browser-mcp-server still maintained?
- The repository was last updated about 10 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
Skill content
View source on GitHubBrowser MCP Server
A universal browser automation MCP server using Playwright. Control Chrome programmatically through the Model Context Protocol.
63 powerful browser automation tools including multi-tab management, media monitoring/control, low-level interaction, session recording, CDP-based performance profiling, network analysis, security testing, and on-demand documentation.
Features
- ✅ Smart Chrome Detection: Automatically finds and uses system Chrome/Chromium
- ✅ Three-Tier Strategy: Antigravity Chrome → System Chrome → Playwright Chromium
- ✅ Universal: Works with Antigravity, Claude Desktop, and any MCP client
- ✅ 63 Tools: Media control, multi-tab, pixel-based interaction, CDP power user tools, and more
- ✅ On-Demand Docs: Built-in documentation tool with return schemas and examples
- ✅ Auto-Install: Playwright installed automatically via npm (no manual setup)
- ✅ Safe: Isolated browser profile (won't touch your personal Chrome)
- ✅ Console Capture: Debug JavaScript errors in real-time
- ✅ Session Recording: Playwright traces with screenshots, DOM, and network activity
- ✅ Auto-Reconnect: Handles browser crashes gracefully
Quick Reference
| Installation Method | Best For | Setup Time | |-------------------|----------|------------| | NPM Package | Production use, easy updates | 30 seconds | | Clone Repository | Development, contributing | 2 minutes | | Direct Download | Quick testing, minimal setup | 1 minute |
| MCP Client | Config File Location |
|------------|---------------------|
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)<br>%APPDATA%/Claude/claude_desktop_config.json (Windows) |
| Antigravity | ~/.gemini/antigravity/mcp_config.json |
| Claude Code | Use claude mcp add command |
| Gemini CLI | Use gemini mcp add command |
Key Points:
- ✅ Requires Node.js >= 16.0.0
- ✅ Playwright installs automatically (via npm) or manually (via git clone)
- ✅ Automatically detects and uses system Chrome/Chromium
- ✅ Uses absolute paths in config files
- ✅ Isolated browser profile (won't touch personal Chrome)
- ✅ Restart MCP client after config changes
Quick Start
Installation
Method 1: NPM Package (Recommended)
# Install globally (Playwright installs automatically)
npm install -g @ricardodeazambuja/browser-mcp-server
# Or use directly with npx (no installation needed)
npx @ricardodeazambuja/browser-mcp-server
Note: Playwright is installed automatically as a dependency. The server will automatically detect and use your system Chrome/Chromium if available, or fall back to Playwright's Chromium.
Method 2: Clone Repository (For Development)
# Clone the repository
git clone https://github.com/ricardodeazambuja/browser-mcp-server.git
cd browser-mcp-server
# Install dependencies (includes Playwright)
npm install
# Optional: Install Chromium browser if not using system Chrome
npx playwright install chromium
Method 3: Direct Download (Single File)
# Download the main file directly (no git required)
curl -o src/index.js \
https://raw.githubusercontent.com/ricardodeazambuja/browser-mcp-server/main/src/index.js
# Install Playwright
npm install playwright
# Optional: Install Chromium browser if not using system Chrome
npx playwright install chromium
Usage with Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
Using local installation:
{
"mcpServers": {
"browser-tools": {
"command": "node",
"args": ["/absolute/path/to/src/index.js"]
}
}
}
Using NPM:
{
"mcpServers": {
"browser-tools": {
"command": "npx",
"args": ["-y", "@ricardodeazambuja/browser-mcp-server"]
}
}
}
Note: Replace /absolute/path/to/ with the actual path where you installed the file.
Usage with Antigravity
Add to ~/.gemini/antigravity/mcp_config.json:
Using local installation:
{
"mcpServers": {
"browser-tools": {
"command": "node",
"args": ["/home/username/.gemini/antigravity/src/index.js"]
}
}
}
Using NPM:
{
"mcpServers": {
"browser-tools": {
"command": "npx",
"args": ["-y", "@ricardodeazambuja/browser-mcp-server"]
}
}
}
Then refresh MCP servers in Antigravity.
Usage with Claude Code
Add the browser-mcp-server using the Claude CLI:
Using local installation:
# Install the MCP server with default isolated profile
claude mcp add --transport stdio browser \
-- node /absolute/path/to/src/index.js
# Or with custom browser profile for more control
claude mcp add --transport stdio browser \
--env MCP_BROWSER_PROFILE=/path/to/custom/profile \
-- node /absolute/path/to/src/index.js
Using NPM:
# Install using npx (no local installation needed)
claude mcp add --transport stdio browser \
-- npx -y @ricardodeazambuja/browser-mcp-server
# With custom browser profile
claude mcp add --transport stdio browser \
--env MCP_BROWSER_PROFILE=/path/to/custom/profile \
-- npx -y @ricardodeazambuja/browser-mcp-server
Verify installation:
# List all MCP servers
claude mcp list
# Check server status
claude mcp get browser
Example usage in Claude Code:
# Natural language commands
> Navigate to https://example.com and take a screenshot
> Click the login button and fill in the username field
> What's the text in the .main-content selector?
# Direct tool invocation via slash commands
> /mcp__browser__browser_navigate https://example.com
> /mcp__browser__browser_screenshot
Note: The server uses an isolated browser profile at /tmp/chrome-mcp-profile by default, ensuring it won't access your personal Chrome cookies or data.
Usage with Gemini CLI
Add the browser-mcp-server using the Gemini CLI commands:
Using local installation:
# Install the MCP server with default isolated profile
gemini mcp add browser node /absolute/path/to/src/index.js
# Or with custom browser profile
gemini mcp add -e MCP_BROWSER_PROFILE=/path/to/custom/profile browser \
node /absolute/path/to/src/index.js
Using NPM:
# Install using npx (no local installation needed)
gemini mcp add browser npx -y @ricardodeazambuja/browser-mcp-server
# With custom browser profile
gemini mcp add -e MCP_BROWSER_PROFILE=/path/to/custom/profile browser \
npx -y @ricardodeazambuja/browser-mcp-server
Management commands:
# List all configured MCP servers
gemini mcp list
# Remove the server if needed
gemini mcp remove browser
Example usage in Gemini CLI:
# Natural language commands
> Navigate to https://github.com and take a screenshot
> Click the search button and type "MCP servers"
> Get the text from the .repository-content selector
# The CLI will use the browser automation tools automatically
Advanced options:
# Add with specific scope (user vs project)
gemini mcp add -s user browser node /path/to/src/index.js
# Add with timeout configuration
gemini mcp add --timeout 30000 browser node /path/to/src/index.js
# Skip tool confirmation prompts (use with caution)
gemini mcp add --trust browser node /path/to/src/index.js
Available Tools (63)
Documentation
- browser_docs(toolName?) - Get detailed docs, return schemas, examples, and caveats for any tool
Multi-Page Management
- browser_list_pages() - List all open tabs/pages
- browser_new_page(url?) - Open a new tab
- browser_switch_page(index) - Switch active tab
- browser_close_page(index?) - Close a tab
Media Awareness & Control
- browser_get_media_summary() - List all audio/video elements with state
- browser_get_audio_analysis(durationMs?, selector?) - Analyze audio output (volume, spectrum)
- browser_control_media(selector, action, value?) - Play, pause, mute, seek
Navigation & Interaction
- browser_navigate(url) - Navigate to a URL
- browser_click(selector) - Click an element (selector-based)
- browser_type(selector, text) - Type text into an input
- browser_scroll(x?, y?) - Scroll the page (generic)
- browser_reload() - Reload current page
- browser_go_back() - Navigate back
- browser_go_forward() - Navigate forward
- browser_wait(ms) - Pause execution
Low-Level Interaction
- browser_mouse_move(x, y) - Move mouse to pixel coordinates
- browser_mouse_click(x?, y?, button?, count?) - Click at pixel coordinates
- browser_mouse_drag(fromX, fromY, toX, toY) - Drag and drop
- browser_mouse_wheel(deltaX, deltaY) - Scroll mouse wheel
- browser_press_key(key) - Send keyboard event (e.g. "Enter")
Information Gathering
- browser_screenshot(fullPage?) - Capture screenshot
- browser_get_text(selector) - Get text from element
- browser_get_dom(selector?) - Get DOM structure
- browser_read_page() - Get page metadata (title, URL)
- browser_evaluate(code) - Execute JavaScript
Console Debugging
- browser_console_start(level?) - Start capturing logs
- browser_console_get(filter?) - Get captured logs
- browser_console_clear() - Clear logs and stop
Advanced Interaction
- browser_hover(selector) - Hover over element
- browser_focus(selector) - Focus element
- browser_select(selector, values) - Select dropdown options
- browser_wait_for_selector(selector, timeout?) - Wait for element
- browser_resize_window(width, height) - Resize window
- browser_start_video_recording(path?) - Start session recording
- browser_stop_video_recording() - Stop and save recording
- browser_health_check() - Verify browser connection
🔬 Power User Tools (CDP-Based)
Advanced diagnostic tools using Chrome DevTools Protocol for performance analysis, network debugging, security testing, and storage inspection. These 26 additional tools provide deep insights into browser internals.
Performance Profiling (8 tools)
- browser_perf_start_profile(sampleInterval?) - Start CPU profiling
- browser_perf_stop_profile() - Get CPU profile data with summary
- browser_perf_take_heap_snapshot(reportProgress?) - Capture memory snapshot
- browser_perf_get_heap_usage() - Current JavaScript heap statistics
- browser_perf_get_metrics() - Runtime metrics (DOM nodes, listeners, etc.)
- browser_perf_get_performance_metrics() - Web vitals (FCP, LCP, CLS, TTFB)
- browser_perf_start_coverage(resetOnNavigation?) - Track code coverage
- browser_perf_stop_coverage() - Get coverage results
Use Cases: Memory leak detection, CPU profiling, performance optimization, code coverage analysis, web vitals monitoring
Network Analysis (7 tools)
- browser_net_start_monitoring(patterns?) - Monitor network requests
- browser_net_get_requests(filter?) - Get captured requests with timing
- browser_net_stop_monitoring() - Stop monitoring and clear log
- browser_net_export_har(includeContent?) - Export HTTP Archive log
- browser_net_get_websocket_frames(requestId) - Inspect WebSocket frames
- browser_net_set_request_blocking(patterns) - Block URL patterns
- browser_net_emulate_conditions(offline, latency, download, upload) - Network throttling
Use Cases: API debugging, HAR export, WebSocket debugging, performance testing, request blocking, network throttling
Security Testing (6 tools)
- browser_sec_get_security_headers() - Inspect security HTTP headers
- browser_sec_get_certificate_info() - TLS/SSL certificate details
- browser_sec_detect_mixed_content() - Find HTTP resources on HTTPS pages
- browser_sec_start_csp_monitoring() - Monitor CSP violations
- **browser_sec_get_csp_vi
Truncated for display — read the full file on GitHub.
Related Skills
taste-skill
108.6kAgent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
Agent-Reach
108.0kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
78.7kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
ai-job-search
69.0kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
