| 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