browser-use
AI-driven browser automation via Model Context Protocol
When & Why to Use This Skill
The browser-use Claude skill is a powerful AI-driven automation engine that leverages the Model Context Protocol (MCP) to interact with web browsers. It enables users to perform complex web tasks—such as navigating pages, filling forms, and extracting structured data—using natural language. By combining deep research capabilities with a unique 'skill learning' feature, it can discover web APIs to transform slow browser interactions into high-speed automated workflows, making it an essential tool for data extraction, market research, and routine web task management.
Use Cases
- Deep Web Research: Automatically search across multiple web sources to synthesize comprehensive reports on specific topics or market trends.
- Structured Data Extraction: Navigate complex websites to scrape and organize data such as GitHub trending repositories, product listings, or financial news.
- Automated Form Filling: Execute repetitive data entry tasks, such as submitting contact forms or setting up accounts, by providing simple natural language instructions.
- Workflow Learning & Replay: Record complex manual browser sequences as reusable 'skills' that can be executed via direct API calls for significantly faster performance.
- Background Task Monitoring: Manage long-running automation agents with real-time progress tracking, health checks, and task cancellation capabilities.
| name | browser-use |
|---|---|
| description | AI-driven browser automation via Model Context Protocol |
Browser Use
AI-powered browser automation for web interactions, research, and data extraction powered by the browser-use library.
When to Use
- Automate web interactions (fill forms, click buttons, navigate pages)
- Perform deep research across multiple web sources
- Extract structured data from web pages
- Learn and replay browser workflows as reusable skills
- Monitor and manage long-running browser automation tasks
Core Tools
run_browser_agent
Execute a browser automation task using AI. Supports skill-based execution, learning mode, and background task execution.
Parameters:
task(string, required) - Natural language description of what to do in the browsermax_steps(integer, optional) - Maximum number of agent steps (default: from settings)skill_name(string, optional) - Name of a learned skill to use for hintsskill_params(string or dict, optional) - Parameters for the skill (JSON string or dict)learn(boolean, optional) - Enable learning mode to discover and extract APIssave_skill_as(string, optional) - Name to save learned skill (requires learn=True)
Returns: Result of the browser automation task. In learning mode, includes skill extraction status.
Examples:
# Basic usage
Search for "Claude Code plugins" on Google and summarize the top 3 results
# With max steps
Fill out the contact form at https://example.com/contact with my information
max_steps: 20
# Learning mode - discover and save a skill
Go to GitHub trending page and extract the top 5 repositories
learn: true
save_skill_as: github_trending
# Using a learned skill
task: Get trending Python repositories
skill_name: github_trending
skill_params: {"language": "python", "limit": 10}
run_deep_research
Perform multi-source research on a topic with AI-guided search and synthesis.
Parameters:
topic(string, required) - The research topic or question to investigatemax_searches(integer, optional) - Maximum number of web searches (default: from settings)save_to_file(string, optional) - Optional file path to save the research report
Returns: A comprehensive research report in markdown format
Examples:
# Basic research
What are the latest developments in AI-powered browser automation?
# With search limit
Research the security implications of CDP-based browser automation
max_searches: 10
# Save to file
Compare Playwright, Puppeteer, and Selenium for 2025
save_to_file: /path/to/research/browser-automation-comparison.md
Skill Management Tools
skill_list
List all available learned browser skills with usage statistics.
Parameters: None
Returns: JSON list of skill summaries with name, description, success rate, usage count, and last used timestamp
Example:
{
"skills": [
{
"name": "github_trending",
"description": "Extract trending repositories from GitHub",
"success_rate": 95.0,
"usage_count": 20,
"last_used": "2025-12-20T18:00:00"
}
],
"skills_directory": "/Users/user/.config/browser-skills"
}
skill_get
Get full details of a specific skill including API endpoints, parameters, and execution hints.
Parameters:
skill_name(string, required) - Name of the skill to retrieve
Returns: Full skill definition in YAML format
Example:
skill_name: github_trending
skill_delete
Delete a learned skill by name.
Parameters:
skill_name(string, required) - Name of the skill to delete
Returns: Success or error message
Example:
skill_name: outdated_skill
Task Management Tools
health_check
Check if the browser automation server is running and get system statistics.
Parameters: None
Returns: JSON with server health status, uptime, memory usage, and running tasks
Example Response:
{
"status": "healthy",
"uptime_seconds": 3600.5,
"memory_mb": 256.3,
"running_tasks": 2,
"tasks": [
{
"task_id": "a1b2c3d4",
"tool": "run_browser_agent",
"stage": "navigating",
"progress": "5/100",
"message": "Searching Google..."
}
],
"stats": {
"total_completed": 45,
"total_failed": 2,
"avg_duration_sec": 32.1
}
}
task_list
List recent browser automation and research tasks with filtering.
Parameters:
limit(integer, optional) - Maximum number of tasks to return (default: 20)status_filter(string, optional) - Filter by status: "running", "completed", "failed", "pending"
Returns: JSON list of recent tasks
Example:
# List recent tasks
limit: 10
# List only running tasks
status_filter: running
limit: 5
# List failed tasks
status_filter: failed
task_get
Get detailed information about a specific task including input, output, and progress.
Parameters:
task_id(string, required) - Task ID (full UUID or prefix match)
Returns: JSON with complete task details, timestamps, and result/error
Example:
task_id: a1b2c3d4
task_cancel
Cancel a running browser agent or research task.
Parameters:
task_id(string, required) - Task ID (full UUID or prefix match)
Returns: JSON with success status and message
Example:
task_id: a1b2c3d4
Common Workflows
Web Research Workflow
- Use
run_deep_researchwith your research question - Review the synthesized markdown report
- Use
run_browser_agentfor follow-up exploration of specific sources - Check
task_listto monitor progress
# Step 1: Deep research
run_deep_research
topic: What are the best practices for MCP server development in 2025?
max_searches: 8
# Step 2: Follow-up investigation
run_browser_agent
task: Go to the top-ranked article and extract code examples
Form Automation Workflow
- Use
run_browser_agentwith task describing the form - Include URL if known, or let agent search for it
- Agent navigates, fills fields, and submits
- Use
task_getto verify completion
run_browser_agent
task: Fill out the contact form at https://example.com/contact with name "John Doe", email "john@example.com", and message "Request for demo"
max_steps: 30
Learning and Reusing Skills
- Run
run_browser_agentwithlearn: trueto discover APIs - Agent records network calls and extracts patterns
- Save skill with
save_skill_as - Use
skill_listto see learned skills - Reuse with
skill_nameparameter for faster execution
# Step 1: Learn a skill
run_browser_agent
task: Go to Hacker News and extract the top 10 stories with titles, URLs, and scores
learn: true
save_skill_as: hackernews_top_stories
# Step 2: List learned skills
skill_list
# Step 3: Reuse the skill (faster direct execution)
run_browser_agent
task: Get current top stories from Hacker News
skill_name: hackernews_top_stories
skill_params: {"limit": 5}
Long-Running Task Management
- Start a browser automation task (runs in background)
- Use
task_listto check status - Use
task_getfor detailed progress - Use
task_cancelif needed
# Step 1: Start task
run_browser_agent
task: Research all articles on example.com blog and create a summary
max_steps: 200
# Step 2: Check progress
task_list
status_filter: running
# Step 3: Get details
task_get
task_id: a1b2c3d4
# Step 4: Cancel if needed
task_cancel
task_id: a1b2c3d4
Advanced Features
Skill-Based Execution
When a skill is learned with API endpoints, it supports direct execution which bypasses the AI agent for much faster performance:
- First run: Agent explores the website (60-120 seconds)
- Skill learned: API patterns extracted and saved
- Subsequent runs: Direct API calls (2-5 seconds)
Fallback behavior: If direct execution fails (auth required, API changed), automatically falls back to agent-based execution.
Progress Tracking
Both run_browser_agent and run_deep_research support real-time progress tracking:
- Step-by-step navigation updates
- Progress percentage (current step / total steps)
- Current stage (initializing, navigating, extracting, analyzing)
- Task message (current action description)
Background Task Support
Long-running tasks automatically run in background when requested by the MCP client:
- Tasks tracked in SQLite database
- Persistent across server restarts
- Query status anytime with
task_listandtask_get - Cancel with
task_cancel
Configuration
The browser-use MCP server can be configured via ~/.config/mcp-server-browser-use/config.json or environment variables. Key settings:
browser.headless- Run browser in headless mode (default: true)browser.cdp_url- Connect to external Chrome via CDP (optional)agent.max_steps- Default maximum steps (default: 100)research.max_searches- Default research searches (default: 5)skills.enabled- Enable skill learning and execution (default: true)skills.directory- Where to store learned skills (default: ~/.config/browser-skills/)
Troubleshooting
Server Not Responding
# Check server health
health_check
# Check if server is running
# In terminal: mcp-server-browser-use status
Task Stuck or Failing
# List running tasks
task_list
status_filter: running
# Get task details
task_get
task_id: <task_id>
# Cancel if stuck
task_cancel
task_id: <task_id>
Skill Execution Fails
# Get skill details to verify parameters
skill_get
skill_name: my_skill
# Try without skill to re-learn
run_browser_agent
task: <original task>
learn: true
save_skill_as: my_skill_v2
Best Practices
- Start with health_check - Verify server is ready before running tasks
- Use descriptive task names - Help the AI understand your intent clearly
- Set reasonable max_steps - 30-50 for simple tasks, 100-200 for complex research
- Learn frequently-used workflows - Save time with skill-based execution
- Monitor long tasks - Use task_list and task_get to track progress
- Clean up failed tasks - Use task_cancel to free resources
- Save research to files - Use save_to_file to preserve research reports
Limitations
- Browser automation requires the MCP server to be running as a daemon
- CDP-based browsers must be on localhost (security restriction)
- Some websites may block automation (respect robots.txt and rate limits)
- Skill learning requires successful task completion and API discovery
- Task cancellation may take a few seconds to complete gracefully