Marketplace browser-automation
Enterprise-grade browser automation using WebDriver protocol. Use when the user needs to automate web browsers, perform web scraping, test web applications, fill forms, take screenshots, monitor performance, or execute multi-step browser workflows. Supports Chrome, Firefox, and Edge with connection pooling and health management.
git clone https://github.com/aiskillstore/marketplace
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/emillindfors/browser-automation" ~/.claude/skills/aiskillstore-marketplace-browser-automation && rm -rf "$T"
skills/emillindfors/browser-automation/SKILL.mdBrowser Automation Skill
This skill provides guidance for using the rust-browser-mcp server to automate web browsers through the WebDriver protocol. It enables enterprise-grade browser control with performance monitoring, multi-session support, and health management.
Overview
The rust-browser-mcp server provides 45+ MCP tools for browser automation:
Core Automation Tools (25)
- Navigation:
,navigate
,back
,forwardrefresh - Element Interaction:
,click
,send_keys
,hover
,find_elementfind_elements - Information Extraction:
,get_title
,get_text
,get_attribute
,get_propertyget_page_source - Advanced:
,fill_and_submit_form
,login_form
,scroll_to_elementwait_for_element - JavaScript:
execute_script - Visual:
,screenshot
,resize_window
,get_current_urlget_page_load_status
Performance Monitoring Tools (5)
- Page load times, resource timing, navigation dataget_performance_metrics
- Heap monitoring, memory leak detectionmonitor_memory_usage
- Error detection, log filteringget_console_logs
- Automated performance analysisrun_performance_test
- Network, FPS, CPU trackingmonitor_resource_usage
Driver Management Tools (7)
,start_driver
,stop_driverstop_all_driverslist_managed_drivers
,get_healthy_endpointsrefresh_driver_healthforce_cleanup_orphaned_processes
Recipe System (4)
- Create reusable automation workflowscreate_recipe
- Run a saved recipeexecute_recipe
- List all available recipeslist_recipes
- Remove a recipedelete_recipe
Setup Instructions
Prerequisites
Ensure you have at least one WebDriver installed:
- Chrome: ChromeDriver (must match Chrome version)
- Firefox: GeckoDriver
- Edge: MSEdgeDriver
Configuration for Claude Desktop
Add to your
claude_desktop_config.json:
{ "mcpServers": { "browser": { "command": "/path/to/rust-browser-mcp", "args": ["--transport", "stdio", "--browser", "chrome"] } } }
Environment Variables
| Variable | Default | Description |
|---|---|---|
| | WebDriver URL or "auto" for auto-discovery |
| | Run browsers in headless mode |
| - | Preferred browser: chrome, firefox, edge |
| | Browsers to start concurrently |
| | Enable connection pooling |
| | Max connections per driver type |
Usage Patterns
Basic Navigation
1. Use `navigate` with URL to load a page 2. Use `wait_for_element` to ensure page loads 3. Use `get_title` or `get_text` to verify content
Form Filling
1. Navigate to the form page 2. Use `find_element` with CSS selector to locate fields 3. Use `send_keys` to input values 4. Use `click` on submit button, or use `fill_and_submit_form` for convenience
Web Scraping
1. Navigate to target page 2. Use `find_elements` to get multiple matching elements 3. Use `get_text` or `get_attribute` to extract data 4. Use `execute_script` for complex DOM traversal
Performance Testing
1. Navigate to page under test 2. Use `run_performance_test` for automated analysis 3. Use `get_performance_metrics` for detailed timing data 4. Use `monitor_memory_usage` to detect leaks 5. Use `get_console_logs` to capture errors
Multi-Step Workflows with Recipes
1. Define a recipe with `create_recipe` including steps array 2. Each step specifies: action (tool name), arguments, optional retry logic 3. Execute with `execute_recipe` and parameters 4. Recipes support conditions and browser-specific variants
Session Management
Browser-Specific Sessions
Use session IDs prefixed with browser name for explicit browser control:
- Uses Chromechrome_session1
- Uses Firefoxfirefox_work
- Uses Edgeedge_testing
Multi-Session Support
You can run multiple browser sessions concurrently by using different session IDs:
Session: chrome_user1 -> Opens first Chrome tab Session: chrome_user2 -> Opens second Chrome tab Session: firefox_admin -> Opens Firefox for different workflow
Best Practices
Error Handling
- Always use
before interacting with dynamic contentwait_for_element - Check
for slow-loading pagesget_page_load_status - Use
to debug JavaScript errorsget_console_logs
Performance
- Enable connection pooling (default) for better resource usage
- Reuse session IDs when possible
- Use headless mode for faster execution
Security
- Never store credentials in recipes
- Use environment variables for sensitive data
- Clear sessions after authentication workflows
Troubleshooting
Driver Not Starting
- Verify WebDriver is installed and in PATH
- Check browser version matches driver version
- Use
to see statuslist_managed_drivers
Element Not Found
- Use browser DevTools to verify selector
- Wait for page load with
wait_for_element - Try different selector strategies (CSS, XPath)
Performance Issues
- Check
for leaksmonitor_memory_usage - Use
for JavaScript errorsget_console_logs - Consider reducing concurrent sessions
Reference Files
See companion files for detailed information:
- Complete tool documentationreference/tools.md
- Recipe system guidereference/recipes.md
- Example automation scriptsexamples/