Browser

Provides a universal browser automation MCP server using Playwright with 63 tools for navigation, interaction, media, CDP-based profiling, network analysis, security testing, and on-demand docs.
  • typescript

1

GitHub Stars

typescript

Language

5 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "madebytokens-browser-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@ricardodeazambuja/browser-mcp-server"
      ],
      "env": {
        "MCP_BROWSER_PROFILE": "/path/to/custom/profile"
      }
    }
  }
}

You have a universal browser automation MCP server built on Playwright. It lets you control Chrome programmatically using the Model Context Protocol, giving you 63 tools for multi-tab management, media control, CDP-based profiling, network analysis, security testing, and on-demand documentation. It automatically detects Chrome/Chromium, runs in an isolated browser profile, captures console output, records sessions, and can reconnect after crashes, making browser automation safe and reproducible for AI agents and MCP clients.

How to use

You use this MCP server by connecting your MCP client (such as Claude Desktop, Antigravity, Claude Code, or Gemini CLI) to a local or remote process that runs the server. Your client issues tool calls to navigate pages, interact with elements, capture screenshots, analyze network requests, inspect storage, and run advanced CDP-based diagnostics. The server handles launching or attaching to a browser, keeps a clean, isolated profile, and provides on-demand documentation for each tool when you request it.

Typical workflows include opening a page, performing actions (clicks, typing, scrolling), taking screenshots or videos of the session, and using CDP tools to profile performance, monitor network activity, or test security headers. You can run multiple tabs, capture console logs for debugging, and request exact tool details via the on-demand documentation feature.

How to install

Prerequisites: you need Node.js version 16.0.0 or newer installed on your system.

Choose an installation method and run the commands below.

# Method 1: NPM Package (Recommended)
npm install -g @ricardodeazambuja/browser-mcp-server

# Or run directly with npx (no installation needed)
npx @ricardodeazambuja/browser-mcp-server

Additional sections

Configuration and usage details below show concrete MCP server commands and how to connect from different MCP clients. Use the exact commands and paths shown to ensure correct startup and profiles.

Configuration

Environment variables you may use with the server include MCP_BROWSER_PROFILE to point to a custom isolated browser profile. If you supply a custom profile, the server will use that location for the isolated Chrome/Chromium instance.

# Example: set a custom browser profile location before starting the server
export MCP_BROWSER_PROFILE="$HOME/.mcp-browser-profile"
node src/index.js

Security

Isolated browser profile ensures the server never touches your personal Chrome data. The server runs without setup dialogs, extensions, sync, or background updates, providing a clean and reproducible environment for automation.

Troubleshooting

If you see a message about no Chrome/Chromium browser found, you can either install system Chrome/Chromium or install Playwright’s Chromium and retry. Also, you can run a health check to verify which browser mode is active and where the browser profile is located.

Development

The project uses a modular structure with a core server and tools. You can run tests, explore the source, and modify or extend tools as needed.

Available tools

browser_docs

Get detailed docs, return schemas, examples, and caveats for any tool

browser_list_pages

List all open tabs/pages

browser_new_page

Open a new tab

browser_switch_page

Switch active tab

browser_close_page

Close a tab

browser_get_media_summary

List all audio/video elements with state

browser_get_audio_analysis

Analyze audio output (volume, spectrum)

browser_control_media

Play, pause, mute, seek

browser_navigate

Navigate to a URL

browser_click

Click an element (selector-based)

browser_type

Type text into an input

browser_scroll

Scroll the page (generic)

browser_reload

Reload current page

browser_go_back

Navigate back

browser_go_forward

Navigate forward

browser_wait

Pause execution

browser_mouse_move

Move mouse to pixel coordinates

browser_mouse_click

Click at pixel coordinates

browser_mouse_drag

Drag and drop

browser_mouse_wheel

Scroll mouse wheel

browser_press_key

Send keyboard event

browser_screenshot

Capture screenshot

browser_get_text

Get text from element

browser_get_dom

Get DOM structure

browser_read_page

Get page metadata (title, URL)

browser_evaluate

Execute JavaScript in the page context

browser_console_start

Start capturing console logs

browser_console_get

Get captured logs

browser_console_clear

Clear logs and stop

browser_hover

Hover over element

browser_focus

Focus element

browser_select

Select dropdown options

browser_wait_for_selector

Wait for element to appear

browser_resize_window

Resize the browser window

browser_start_video_recording

Start session recording

browser_stop_video_recording

Stop and save recording

browser_health_check

Verify browser connection

browser_perf_start_profile

Start CPU profiling (CDP)

browser_perf_stop_profile

Get CPU profile data with summary

browser_perf_take_heap_snapshot

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

Track code coverage

browser_perf_stop_coverage

Get coverage results

browser_net_start_monitoring

Monitor network requests

browser_net_get_requests

Get captured requests with timing

browser_net_stop_monitoring

Stop monitoring and clear log

browser_net_export_har

Export HTTP Archive log

browser_net_get_websocket_frames

Inspect WebSocket frames

browser_net_set_request_blocking

Block URL patterns

browser_net_emulate_conditions

Network throttling

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_violations

Get violation log

browser_sec_stop_csp_monitoring

Stop monitoring

browser_storage_get_indexeddb

Inspect IndexedDB

browser_storage_get_cache_storage

List Cache Storage entries

browser_storage_delete_cache

Delete cache

browser_storage_get_service_workers

Service worker state

browser_storage_unregister_service_worker

Unregister worker

browser_docs

On-demand documentation for tools with parameters, return schemas, and examples

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
Browser MCP Server - madebytokens/browser-mcp-server | VeilStrat