Browser MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_BROWSER_PROFILE | No | Custom browser profile location. The server uses an isolated browser profile at /tmp/chrome-mcp-profile by default. | /tmp/chrome-mcp-profile |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| browser_navigateC | Navigate to a URL in the browser (see browser_docs) |
| browser_reloadB | Reload the current page (see browser_docs) |
| browser_go_backB | Navigate back in history (see browser_docs) |
| browser_go_forwardB | Navigate forward in history (see browser_docs) |
| browser_clickB | Click an element on the page using Playwright selector (see browser_docs) |
| browser_typeB | Type text into an input field (see browser_docs) |
| browser_hoverB | Hover over an element (see browser_docs) |
| browser_focusC | Focus an element (see browser_docs) |
| browser_selectB | Select options in a dropdown (see browser_docs) |
| browser_scrollC | Scroll the page (see browser_docs) |
| browser_mouse_moveC | Move the mouse to specific coordinates (see browser_docs) |
| browser_mouse_clickC | Click the mouse at specific coordinates or on current position (see browser_docs) |
| browser_mouse_dragC | Drag from one position to another (see browser_docs) |
| browser_mouse_wheelC | Scroll the mouse wheel (see browser_docs) |
| browser_press_keyB | Send a keyboard event (press a key) (see browser_docs) |
| browser_list_pagesB | List all open browser pages (tabs) (see browser_docs) |
| browser_new_pageC | Open a new browser page (tab) (see browser_docs) |
| browser_switch_pageB | Switch to a different browser page (tab) (see browser_docs) |
| browser_close_pageB | Close a browser page (tab) (see browser_docs) |
| browser_get_media_summaryB | Get a summary of all audio and video elements on the page (see browser_docs) |
| browser_get_audio_analysisB | Analyze audio output for a duration to detect sound vs silence and frequencies (see browser_docs) |
| browser_control_mediaC | Control a media element (play, pause, seek, mute) (see browser_docs) |
| browser_console_startB | Start capturing browser console logs (console.log, console.error, console.warn, etc.) (see browser_docs) |
| browser_console_getA | Get all captured console logs since browser_console_start was called (see browser_docs) |
| browser_console_clearA | Clear all captured console logs and stop listening (see browser_docs) |
| browser_screenshotC | Take a screenshot of the current page (see browser_docs) |
| browser_get_textC | Get text content from an element (see browser_docs) |
| browser_evaluateB | Execute JavaScript in the browser context (see browser_docs) |
| browser_get_domC | Get the full DOM structure or specific element data (see browser_docs) |
| browser_read_pageB | Read the content and metadata of the current page (see browser_docs) |
| browser_health_checkA | Check if the browser is running and accessible on port 9222 (see browser_docs) |
| browser_waitC | Pause execution for a duration (see browser_docs) |
| browser_resize_windowB | Resize the browser window (useful for testing responsiveness) (see browser_docs) |
| browser_wait_for_selectorC | Wait for an element to appear on the page (see browser_docs) |
| browser_start_video_recordingA | Start recording browser session as video (see browser_docs) |
| browser_stop_video_recordingA | Stop video recording and save the file (see browser_docs) |
| browser_docsA | Get detailed documentation, return values, examples, and caveats for any browser tool |
| browser_perf_start_profileC | Start CPU profiling to track JavaScript execution (see browser_docs) |
| browser_perf_stop_profileB | Stop CPU profiling and get profile data (see browser_docs) |
| browser_perf_take_heap_snapshotB | Capture heap snapshot for memory analysis (see browser_docs) |
| browser_perf_get_heap_usageB | Get current JavaScript heap usage statistics (see browser_docs) |
| browser_perf_get_metricsB | Get runtime performance metrics (DOM nodes, event listeners, JS heap) (see browser_docs) |
| browser_perf_get_performance_metricsA | Get web vitals and navigation timing (FCP, LCP, CLS, TTFB) (see browser_docs) |
| browser_perf_start_coverageB | Start tracking CSS and JavaScript code coverage (see browser_docs) |
| browser_perf_stop_coverageA | Stop coverage and get results showing used vs unused code (see browser_docs) |
| browser_net_start_monitoringC | Start monitoring network requests with detailed timing (see browser_docs) |
| browser_net_get_requestsC | Get captured network requests with timing breakdown (see browser_docs) |
| browser_net_stop_monitoringA | Stop network monitoring and clear request log (see browser_docs) |
| browser_net_export_harB | Export full network activity log in HAR format (see browser_docs) |
| browser_net_get_websocket_framesC | Get WebSocket frames for inspecting real-time communication (see browser_docs) |
| browser_net_set_request_blockingC | Block requests matching URL patterns (see browser_docs) |
| browser_net_emulate_conditionsC | Emulate network conditions (throttling) (see browser_docs) |
| browser_sec_get_security_headersB | Inspect security-related HTTP headers (see browser_docs) |
| browser_sec_get_certificate_infoB | Get TLS/SSL certificate details for HTTPS sites (see browser_docs) |
| browser_sec_detect_mixed_contentB | Detect mixed content warnings (HTTPS page loading HTTP resources) (see browser_docs) |
| browser_sec_start_csp_monitoringB | Monitor Content Security Policy violations (see browser_docs) |
| browser_sec_get_csp_violationsB | Get captured CSP violations (see browser_docs) |
| browser_sec_stop_csp_monitoringA | Stop CSP monitoring and clear violations (see browser_docs) |
| browser_storage_get_indexeddbC | Inspect IndexedDB databases and their data (see browser_docs) |
| browser_storage_get_cache_storageB | List Cache Storage API caches and their entries (see browser_docs) |
| browser_storage_delete_cacheB | Delete a specific cache from Cache Storage (see browser_docs) |
| browser_storage_get_service_workersB | Get service worker registrations and their state (see browser_docs) |
| browser_storage_unregister_service_workerB | Unregister a service worker (see browser_docs) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 63 tools
Most tools have distinct purposes with clear boundaries, such as browser_click for clicking elements and browser_navigate for URL navigation. However, some overlap exists, like browser_click and browser_mouse_click, which could cause confusion despite different use cases (selector-based vs. coordinate-based). The descriptions help differentiate them, but the overlap is noticeable.
All tool names follow a consistent snake_case pattern with a 'browser_' prefix and descriptive verb_noun combinations, such as browser_get_dom and browser_start_video_recording. This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming style.
With 63 tools, the count is excessive for a browser automation server, making it overwhelming and likely to cause analysis paralysis for agents. While the domain is broad, a more focused set of 15-25 tools would be more manageable and appropriate for typical use cases.
The tool set provides comprehensive coverage for browser automation, including navigation, interaction, performance monitoring, security analysis, and media control. It supports full CRUD-like operations for web elements, network requests, and storage, with no obvious gaps that would hinder agent workflows.