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.