MCP Web Browser Server
by random-robbie
Verified
Security Enhancements
Proper Error Handling and Logging: Added comprehensive logging with formatted output and proper error tracing
URL Sanitization: Automatically adds HTTPS prefix to URLs when needed
Content Security Policy Bypass Control: Added option to bypass CSP for better testing capabilities
Custom User-Agent: Configurable user-agent string
Security Headers: Added security-related HTTP headers to requests
JavaScript Execution Restrictions: Added validation to prevent cookie stealing via JavaScript
Performance Improvements
Browser Inactivity Timeout: Automatically closes browser after inactivity to free resources
Optimized Page Loading: Changed from 'networkidle' to 'domcontentloaded' for faster page loading
Resource Cleanup: Improved cleanup processes to ensure all resources are properly released
Retry Logic: Added retry mechanisms for page creation and element clicking
Efficient Screenshot Capture: Added JPEG compression for faster screenshot processing
Functional Additions
Multi-Tab Support: Added ability to create, switch between, and manage multiple tabs
create_new_tab: Opens a new browser tab
switch_tab: Switches between open tabs
list_tabs: Shows all open tabs and their information
close_tab: Closes a specific tab
Advanced Page Interaction:
refresh_page: Refreshes the current page
get_page_info: Provides detailed page information including metadata
scroll_page: Controls page scrolling in all directions
wait_for_navigation: Waits for page navigation to complete
execute_javascript: Safely executes JavaScript on the page
Enhanced Link Extraction:
Added filtering capabilities for links
Returns more metadata about links (title, text, etc.)
Improved Element Interaction:
Better visibility checking for elements
Automatic scrolling to ensure elements are in view
More reliable clicking with retry logic
Code Structure and Reliability
Better State Management: Added global state tracking for browser, pages, and tabs
Background Monitoring: Added inactivity monitor to clean up unused resources
Detailed Logging: Comprehensive logging throughout the system
Dynamic Playwright Import: Better error handling for Playwright import
Configurability: Added more configuration options for timeouts, viewport size, etc.
These improvements make the web browser MCP server more robust, secure, and feature-rich for your pentesting work, while ensuring resources are properly managed.