Skip to main content
Glama

Stealth Browser MCP

by vibheksoni
Checklist.md13.1 kB
# Browser Automation MCP Testing Checklist ## ✅ **TESTED AND WORKING** ### Core Browser Management - ✅ `spawn_browser` - Creates new browser instances (FIXED v0.2.4: root user support, flexible args parsing, platform-aware configuration) - ✅ `navigate` - Navigate to URLs - ✅ `close_instance` - Close browser instances - ✅ `list_instances` - List all browser instances - ✅ `get_instance_state` - Get browser instance details ### Element Extraction Functions - ✅ `extract_element_styles` - Extract CSS styles (CDP implementation, fixed hanging) - ✅ `extract_element_structure` - Extract DOM structure (fixed JS template issues) - ✅ `extract_element_events` - Extract event handlers (fixed JS template issues) - ✅ `extract_element_animations` - Extract CSS animations/transitions (created new JS file) - ✅ `extract_element_assets` - Extract element assets (fixed tab.evaluate() args, now uses external JS with file fallback) - ✅ `extract_related_files` - Extract related CSS/JS files (fixed tab.evaluate() args, now uses external JS with file fallback) ### File-Based Extraction Functions - ✅ `extract_element_styles_to_file` - Save styles to file - ✅ `extract_element_structure_to_file` - Save structure to file - ✅ `extract_element_events_to_file` - Save events to file (fixed list/dict error) - ✅ `extract_element_animations_to_file` - Save animations to file - ✅ `extract_element_assets_to_file` - Save assets to file ### Complete Element Cloning - ✅ `clone_element_complete` - Complete element cloning (with file fallback) - ✅ `extract_complete_element_to_file` - Complete extraction to file - ✅ `extract_complete_element_cdp` - CDP-based complete extraction ### Progressive Element Cloning - ✅ `clone_element_progressive` - Progressive cloning system - ✅ `expand_styles` - Expand styles data for stored element - ✅ `expand_events` - Expand events data - ✅ `expand_children` - Expand children data (fixed "unhashable type: 'slice'" error, now has response handler) - ✅ `expand_css_rules` - Expand CSS rules data - ✅ `expand_pseudo_elements` - Expand pseudo-elements data - ✅ `expand_animations` - Expand animations data - ✅ `list_stored_elements` - List stored elements - ✅ `clear_stored_element` - Clear specific stored element - ✅ `clear_all_elements` - Clear all stored elements ### CDP Function Executor - ✅ `discover_global_functions` - Discover JS functions (with file fallback, fixed schema) - ✅ `discover_object_methods` - Discover object methods (fixed to use CDP get_properties instead of JavaScript Object.getOwnPropertyNames, now returns 93+ methods, wrapped with response handler) - ✅ `call_javascript_function` - Call JS functions (fixed illegal invocation) - ✅ `inject_and_execute_script` - Execute custom JS code - ✅ `inspect_function_signature` - Inspect function details - ✅ `create_persistent_function` - Create persistent functions - ✅ `execute_function_sequence` - Execute function sequences (handles mixed success/failure) - ✅ `create_python_binding` - Create Python-JS bindings - ✅ `get_execution_contexts` - Get JS execution contexts - ✅ `list_cdp_commands` - List available CDP commands - ✅ `execute_cdp_command` - Execute raw CDP commands (IMPORTANT: use snake_case params like "return_by_value", not camelCase "returnByValue") - ✅ `get_function_executor_info` - Get executor info ### File Management - ✅ `list_clone_files` - List saved clone files - ✅ `cleanup_clone_files` - Clean up old files (deleted 15 files) ### System Functions - ✅ `hot_reload` - Hot reload modules (implied working) - ✅ `reload_status` - Check reload status (shows module load status) - ✅ `get_debug_view` - Get debug information (fixed with pagination) - ✅ `clear_debug_view` - Clear debug logs (fixed with timeout protection) - ✅ `validate_browser_environment_tool` - **NEW v0.2.4!** Environment diagnostics & platform validation ### Basic Browser Interactions - ✅ `go_back` - Navigate back in history - ✅ `go_forward` - Navigate forward in history - ✅ `reload_page` - Reload current page ### Element Interaction - ✅ `query_elements` - Find elements by selector - ✅ `click_element` - Click on elements - ✅ `type_text` - Type text into input fields (ENHANCED: added parse_newlines parameter for Enter key handling) - ✅ `paste_text` - **NEW!** Instant text pasting via CDP insert_text (10x faster than typing) - ✅ `select_option` - Select dropdown options (fixed string index conversion & proper nodriver usage) - ✅ `get_element_state` - Get element properties - ✅ `wait_for_element` - Wait for element to appear ### Page Interaction - ✅ `scroll_page` - Scroll the page - ✅ `execute_script` - Execute JavaScript - ✅ `get_page_content` - Get page HTML/text (with large response file handling) - ✅ `take_screenshot` - Take page screenshots ### Network Operations - ✅ `list_network_requests` - List captured network requests - ✅ `get_request_details` - Get request details (working properly) - ✅ `get_response_details` - Get response details (working properly) - ✅ `get_response_content` - Get response body (fixed RequestId object) - ✅ `modify_headers` - Modify request headers (fixed Headers object) ### Cookie Management - ✅ `get_cookies` - Get page cookies - ✅ `set_cookie` - Set cookie values (fixed url/domain requirement per nodriver docs) - ✅ `clear_cookies` - Clear cookies (fixed proper CDP methods) ### Tab Management - ✅ `list_tabs` - List all tabs - ✅ `switch_tab` - Switch to specific tab - ✅ `get_active_tab` - Get active tab info - ✅ `new_tab` - Open new tab - ✅ `close_tab` - Close specific tab ## ✅ **ALL FUNCTIONS WORKING** ### CDP Advanced Functions - ✅ `execute_python_in_browser` - Execute Python in browser (FIXED! Now uses proper py2js transpiler - functions, loops work; classes have minor edge cases) ### File Management - ✅ `export_debug_logs` - Export debug information (FIXED! Lock-free fallback with ownership tracking) ### Dynamic Network Hook System (NEW!) - ✅ `create_dynamic_hook` - Create AI-generated Python function hooks (tested with block, redirect, conditional logic) - ✅ `create_simple_dynamic_hook` - Create template-based hooks (block, redirect, add_headers, log actions) - ✅ `list_dynamic_hooks` - List all dynamic hooks with statistics (shows hook details and match counts) - ✅ `get_dynamic_hook_details` - Get detailed hook information (shows function code and config) - ✅ `remove_dynamic_hook` - Remove dynamic hooks (removes hook by ID) - ✅ `get_hook_documentation` - Get documentation for creating hook functions (AI learning) - ✅ `get_hook_examples` - Get example hook functions (10 detailed examples for AI) - ✅ `get_hook_requirements_documentation` - Get hook requirements docs (matching criteria) - ✅ `get_hook_common_patterns` - Get common hook patterns (ad blocking, API proxying, etc.) - ✅ `validate_hook_function` - Validate hook function code (syntax checking) **TESTED HOOK TYPES:** - ✅ **Block Hook** - Successfully blocks matching URLs (shows chrome-error page) - ✅ **Network-level Redirect** - Changes content while preserving original URL - ✅ **HTTP Redirect** - Proper 302 redirect with URL bar update - ✅ **Response Content Replacement** - Full response body modification (JSON → "Testing" text) - ✅ **Response Header Injection** - Add custom headers to responses - ✅ **Request/Response Stage Processing** - Both request and response interception working - ✅ **AI-Generated Functions** - Custom Python logic for complex request processing ## 🔧 **FIXED ISSUES** 1. **CSS Extraction Hanging** → Replaced with CDP implementation 2. **JavaScript Template Errors** → Fixed template substitution in external JS files 3. **Events File Extraction Error** → Fixed framework handlers list/dict processing 4. **Large Response Errors** → Added automatic file fallback system 5. **JavaScript Function Call Binding** → Fixed context binding for methods 6. **Schema Validation Error** → Fixed return types to match expected schemas 7. **Select Option Input Validation** → Fixed string to int conversion for index parameter 8. **Set Cookie URL/Domain Required** → Added url parameter and fallback logic per nodriver docs 9. **Get Page Content Large Response** → Wrapped with response handler for automatic file saving 10. **Get Response Content Error** → Fixed RequestId object creation and tuple result handling 11. **Modify Headers Error** → Fixed Headers object creation for CDP 12. **Clear Cookies List Error** → Fixed proper CDP methods and cookie object handling 13. **Extract Element Assets/Related Files Tab.evaluate() Args** → Fixed functions to use external JS files with template substitution instead of multiple arguments 14. **Large Response Auto-Save** → Added response handler wrapper to extract_element_assets and extract_related_files 15. **Debug Functions Hanging** → Added pagination and timeout protection (get_debug_view ✅, clear_debug_view ✅, export_debug_logs ✅) 16. **Execute Python in Browser Hanging & Translation Errors** → Fixed with proper py2js transpiler from am230/py2js - now handles functions, loops, variables correctly with only minor class edge cases 17. **Export Debug Logs Lock Deadlock** → Fixed with lock-free fallback and ownership tracking - now works perfectly ✅ 18. **Broken Network Hook Functions** → Removed 13 incomplete/broken functions (create_request_hook, create_response_hook, etc.) that called non-existent methods - moved to oldstuff/old_funcs.py for reference 19. **Root User Browser Spawning** → Fixed "Failed to connect to browser" when running as root/administrator with auto-detection ✅ 20. **Args Parameter JSON Validation** → Fixed "Input validation error" for JSON string args format with flexible parsing ✅ 21. **Container Environment Compatibility** → Added Docker/Kubernetes support with auto-detection and required arguments ✅ 22. **Cross-Platform Browser Configuration** → Enhanced Windows/Linux/macOS support with platform-aware argument merging ✅ ## 📊 **TESTING SUMMARY** - **Total Functions**: 90 functions - **Tested & Working**: 90 functions ✅ - **Functions with Issues**: 0 functions ❌ - **Major Issues Fixed**: 22 critical issues resolved - **Success Rate**: 100% 🎯 🚀 **LATEST ACHIEVEMENTS:** ✅ **Cross-Platform Compatibility & Root Support (v0.2.4)** - Smart environment detection, automatic privilege handling, flexible args parsing, and comprehensive platform diagnostics ✅ **Advanced Text Input System (v0.2.3)** - Lightning-fast `paste_text()` via CDP and enhanced `type_text()` with newline parsing for complex multi-line form automation ✅ **Complete Dynamic Hook System with Response-Stage Processing** - AI-powered network interception system with real-time processing, no pending state, custom Python function support, and full response content modification capability ## 🎯 **POTENTIAL FUTURE ENHANCEMENTS** 1. **Advanced Hook Patterns** - More complex conditional logic examples 2. **Hook Performance Optimization** - Load testing with multiple patterns 3. **Machine Learning Integration** - AI-driven request pattern analysis 4. **Hook Templates** - Pre-built patterns for common use cases 5. **Multi-instance Hook Coordination** - Synchronized browser fleet management ## ✅ **COMPLETED ENHANCEMENTS (v0.2.4)** ### 🛡️ **Cross-Platform & Root User Support** - ✅ **Smart Environment Detection** - Auto-detects root/admin, containers, OS differences - ✅ **Platform-Aware Browser Configuration** - Automatic sandbox handling based on environment - ✅ **Flexible Args Parsing** - Supports JSON arrays, JSON strings, and single strings - ✅ **Container Compatibility** - Docker/Kubernetes detection with required arguments - ✅ **Chrome Discovery** - Automatic Chrome/Chromium executable detection - ✅ **Environment Diagnostics** - New validation tool for pre-flight checks - ✅ **Enhanced Error Messages** - Platform-specific guidance and solutions ### 📊 **Technical Implementation** - ✅ **`platform_utils.py` Module** - Comprehensive cross-platform utility functions - ✅ **`is_running_as_root()`** - Cross-platform privilege detection - ✅ **`is_running_in_container()`** - Container environment detection - ✅ **`merge_browser_args()`** - Smart argument merging with platform requirements - ✅ **`validate_browser_environment()`** - Complete environment validation - ✅ **Enhanced spawn_browser()** - Multi-format args parsing with platform integration ## ✅ **COMPLETED ENHANCEMENTS (v0.2.1)** - ✅ **Response-Stage Processing** - Content modification hooks (IMPLEMENTED & TESTED) - ✅ **Hook Chain Processing** - Multiple hooks on same request with priority system (IMPLEMENTED) - ✅ **Response Body Modification** - AI can completely replace response content (IMPLEMENTED & TESTED) - ✅ **Response Headers Parsing Fix** - Proper CDP response header handling (FIXED) - ✅ **Base64 Encoding Support** - Binary content support for fulfill requests (IMPLEMENTED)

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vibheksoni/stealth-browser-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server