Browser Use
About
Enables AI assistants to interact with web browsers through a FastAPI server for web browsing, content extraction, and automation tasks with configurable LLM providers and browser modes.
Details
- Repository
- deploya-labs/mcp-browser-use
- License
- MIT
Explore
- 🧠 MCP Integration - Full protocol implementation for AI agent communication
- 🌐 Browser Automation - Page navigation, form filling, and element interaction
- 👁️ Visual Understanding - Screenshot analysis and vision-based interactions
- 🔄 State Persistence - Maintain browser sessions between tasks
- 🔌 Multi-LLM Support - OpenAI, Anthropic, Azure, DeepSeek integration
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Browser UseCommand (node, npx, python, etc.)uvxArguments-
Argument 1
mcp-server-browser-use
Environment-
RESOLUTION
1920x1080x24 -
CHROME_PATH
-
VNC_PASSWORD
youvncpassword -
MCP_MAX_STEPS
30 -
GOOGLE_API_KEY
-
MCP_MODEL_NAME
claude-3-5-sonnet-20241022 -
MCP_USE_VISION
true -
OPENAI_API_KEY
-
MCP_TEMPERATURE
0.3 -
MISTRAL_API_KEY
-
OLLAMA_ENDPOINT
http://localhost:11434 -
OPENAI_ENDPOINT
https://api.openai.com/v1 -
BROWSER_HEADLESS
false -
CHROME_USER_DATA
-
DEEPSEEK_API_KEY
-
MISTRAL_ENDPOINT
https://api.mistral.ai/v1 -
RESOLUTION_WIDTH
1920 -
ANTHROPIC_API_KEY
-
DEEPSEEK_ENDPOINT
https://api.deepseek.com -
RESOLUTION_HEIGHT
1080 -
ANTHROPIC_ENDPOINT
https://api.anthropic.com -
BROWSER_TRACE_PATH
trace.json -
MCP_MODEL_PROVIDER
anthropic -
OPENROUTER_API_KEY
-
OPENROUTER_ENDPOINT
https://openrouter.ai/api/v1 -
ANONYMIZED_TELEMETRY
true -
AZURE_OPENAI_API_KEY
-
BROWSER_WINDOW_WIDTH
1280 -
AZURE_OPENAI_ENDPOINT
-
BROWSER_WINDOW_HEIGHT
720 -
CHROME_DEBUGGING_HOST
localhost -
CHROME_DEBUGGING_PORT
9222 -
BROWSER_RECORDING_PATH
recording.mp4 -
BROWSER_DISABLE_SECURITY
false -
MCP_MAX_ACTIONS_PER_STEP
5 -
MCP_TOOL_CALL_IN_CONTENT
true -
BROWSER_USE_LOGGING_LEVEL
info -
CHROME_PERSISTENT_SESSION
false
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
- Python 3.11 or higher
- uv (fast Python package installer)
- Chrome/Chromium browser
uv sync
The server supports multiple LLM providers through environment variables. Here are the available options for MCP_MODEL_PROVIDER:
| Provider | Value | Required Env Variables |
|----------|--------|----------------------|
| Anthropic | anthropic | ANTHROPIC_API_KEY<br>ANTHROPIC_ENDPOINT (optional) |
| OpenAI | openai | OPENAI_API_KEY<br>OPENAI_ENDPOINT (optional) |
| Azure OpenAI | azure_openai | AZURE_OPENAI_API_KEY<br>AZURE_OPENAI_ENDPOINT |
| DeepSeek | deepseek | DEEPSEEK_API_KEY<br>DEEPSEEK_ENDPOINT (optional) |
| Gemini | gemini | GOOGLE_API_KEY |
| Mistral | mistral | MISTRAL_API_KEY<br>MISTRAL_ENDPOINT (optional) |
| Ollama | ollama | OLLAMA_ENDPOINT (optional, defaults to localhost:11434) |
| OpenRouter | openrouter | OPENROUTER_API_KEY<br>OPENROUTER_ENDPOINT (optional) |
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"browser use": {
"env": {
"RESOLUTION": "1920x1080x24",
"CHROME_PATH": "",
"VNC_PASSWORD": "youvncpassword",
"MCP_MAX_STEPS": "30",
"GOOGLE_API_KEY": "",
"MCP_MODEL_NAME": "claude-3-5-sonnet-20241022",
"MCP_USE_VISION": "true",
"OPENAI_API_KEY": "",
"MCP_TEMPERATURE": "0.3",
"MISTRAL_API_KEY": "",
"OLLAMA_ENDPOINT": "http://localhost:11434",
"OPENAI_ENDPOINT": "https://api.openai.com/v1",
"BROWSER_HEADLESS": "false",
"CHROME_USER_DATA": "",
"DEEPSEEK_API_KEY": "",
"MISTRAL_ENDPOINT": "https://api.mistral.ai/v1",
"RESOLUTION_WIDTH": "1920",
"ANTHROPIC_API_KEY": "",
"DEEPSEEK_ENDPOINT": "https://api.deepseek.com",
"RESOLUTION_HEIGHT": "1080",
"ANTHROPIC_ENDPOINT": "https://api.anthropic.com",
"BROWSER_TRACE_PATH": "trace.json",
"MCP_MODEL_PROVIDER": "anthropic",
"OPENROUTER_API_KEY": "",
"OPENROUTER_ENDPOINT": "https://openrouter.ai/api/v1",
"ANONYMIZED_TELEMETRY": "true",
"AZURE_OPENAI_API_KEY": "",
"BROWSER_WINDOW_WIDTH": "1280",
"AZURE_OPENAI_ENDPOINT": "",
"BROWSER_WINDOW_HEIGHT": "720",
"CHROME_DEBUGGING_HOST": "localhost",
"CHROME_DEBUGGING_PORT": "9222",
"BROWSER_RECORDING_PATH": "recording.mp4",
"BROWSER_DISABLE_SECURITY": "false",
"MCP_MAX_ACTIONS_PER_STEP": "5",
"MCP_TOOL_CALL_IN_CONTENT": "true",
"BROWSER_USE_LOGGING_LEVEL": "info",
"CHROME_PERSISTENT_SESSION": "false"
},
"args": [
"mcp-server-browser-use"
],
"command": "uvx"
}
}
}
Linux
{
"env": {
"RESOLUTION": "1920x1080x24",
"CHROME_PATH": "",
"VNC_PASSWORD": "youvncpassword",
"MCP_MAX_STEPS": "30",
"GOOGLE_API_KEY": "",
"MCP_MODEL_NAME": "claude-3-5-sonnet-20241022",
"MCP_USE_VISION": "true",
"OPENAI_API_KEY": "",
"MCP_TEMPERATURE": "0.3",
"MISTRAL_API_KEY": "",
"OLLAMA_ENDPOINT": "http://localhost:11434",
"OPENAI_ENDPOINT": "https://api.openai.com/v1",
"BROWSER_HEADLESS": "false",
"CHROME_USER_DATA": "",
"DEEPSEEK_API_KEY": "",
"MISTRAL_ENDPOINT": "https://api.mistral.ai/v1",
"RESOLUTION_WIDTH": "1920",
"ANTHROPIC_API_KEY": "",
"DEEPSEEK_ENDPOINT": "https://api.deepseek.com",
"RESOLUTION_HEIGHT": "1080",
"ANTHROPIC_ENDPOINT": "https://api.anthropic.com",
"BROWSER_TRACE_PATH": "trace.json",
"MCP_MODEL_PROVIDER": "anthropic",
"OPENROUTER_API_KEY": "",
"OPENROUTER_ENDPOINT": "https://openrouter.ai/api/v1",
"ANONYMIZED_TELEMETRY": "true",
"AZURE_OPENAI_API_KEY": "",
"BROWSER_WINDOW_WIDTH": "1280",
"AZURE_OPENAI_ENDPOINT": "",
"BROWSER_WINDOW_HEIGHT": "720",
"CHROME_DEBUGGING_HOST": "localhost",
"CHROME_DEBUGGING_PORT": "9222",
"BROWSER_RECORDING_PATH": "recording.mp4",
"BROWSER_DISABLE_SECURITY": "false",
"MCP_MAX_ACTIONS_PER_STEP": "5",
"MCP_TOOL_CALL_IN_CONTENT": "true",
"BROWSER_USE_LOGGING_LEVEL": "info",
"CHROME_PERSISTENT_SESSION": "false"
},
"args": [
"mcp-server-browser-use"
],
"command": "uvx"
}
Macos
{
"env": {
"RESOLUTION": "1920x1080x24",
"CHROME_PATH": "",
"VNC_PASSWORD": "youvncpassword",
"MCP_MAX_STEPS": "30",
"GOOGLE_API_KEY": "",
"MCP_MODEL_NAME": "claude-3-5-sonnet-20241022",
"MCP_USE_VISION": "true",
"OPENAI_API_KEY": "",
"MCP_TEMPERATURE": "0.3",
"MISTRAL_API_KEY": "",
"OLLAMA_ENDPOINT": "http://localhost:11434",
"OPENAI_ENDPOINT": "https://api.openai.com/v1",
"BROWSER_HEADLESS": "false",
"CHROME_USER_DATA": "",
"DEEPSEEK_API_KEY": "",
"MISTRAL_ENDPOINT": "https://api.mistral.ai/v1",
"RESOLUTION_WIDTH": "1920",
"ANTHROPIC_API_KEY": "",
"DEEPSEEK_ENDPOINT": "https://api.deepseek.com",
"RESOLUTION_HEIGHT": "1080",
"ANTHROPIC_ENDPOINT": "https://api.anthropic.com",
"BROWSER_TRACE_PATH": "trace.json",
"MCP_MODEL_PROVIDER": "anthropic",
"OPENROUTER_API_KEY": "",
"OPENROUTER_ENDPOINT": "https://openrouter.ai/api/v1",
"ANONYMIZED_TELEMETRY": "true",
"AZURE_OPENAI_API_KEY": "",
"BROWSER_WINDOW_WIDTH": "1280",
"AZURE_OPENAI_ENDPOINT": "",
"BROWSER_WINDOW_HEIGHT": "720",
"CHROME_DEBUGGING_HOST": "localhost",
"CHROME_DEBUGGING_PORT": "9222",
"BROWSER_RECORDING_PATH": "recording.mp4",
"BROWSER_DISABLE_SECURITY": "false",
"MCP_MAX_ACTIONS_PER_STEP": "5",
"MCP_TOOL_CALL_IN_CONTENT": "true",
"BROWSER_USE_LOGGING_LEVEL": "info",
"CHROME_PERSISTENT_SESSION": "false"
},
"args": [
"mcp-server-browser-use"
],
"command": "uvx"
}
Windows
{
"env": {
"RESOLUTION": "1920x1080x24",
"CHROME_PATH": "",
"VNC_PASSWORD": "youvncpassword",
"MCP_MAX_STEPS": "30",
"GOOGLE_API_KEY": "",
"MCP_MODEL_NAME": "claude-3-5-sonnet-20241022",
"MCP_USE_VISION": "true",
"OPENAI_API_KEY": "",
"MCP_TEMPERATURE": "0.3",
"MISTRAL_API_KEY": "",
"OLLAMA_ENDPOINT": "http://localhost:11434",
"OPENAI_ENDPOINT": "https://api.openai.com/v1",
"BROWSER_HEADLESS": "false",
"CHROME_USER_DATA": "",
"DEEPSEEK_API_KEY": "",
"MISTRAL_ENDPOINT": "https://api.mistral.ai/v1",
"RESOLUTION_WIDTH": "1920",
"ANTHROPIC_API_KEY": "",
"DEEPSEEK_ENDPOINT": "https://api.deepseek.com",
"RESOLUTION_HEIGHT": "1080",
"ANTHROPIC_ENDPOINT": "https://api.anthropic.com",
"BROWSER_TRACE_PATH": "trace.json",
"MCP_MODEL_PROVIDER": "anthropic",
"OPENROUTER_API_KEY": "",
"OPENROUTER_ENDPOINT": "https://openrouter.ai/api/v1",
"ANONYMIZED_TELEMETRY": "true",
"AZURE_OPENAI_API_KEY": "",
"BROWSER_WINDOW_WIDTH": "1280",
"AZURE_OPENAI_ENDPOINT": "",
"BROWSER_WINDOW_HEIGHT": "720",
"CHROME_DEBUGGING_HOST": "localhost",
"CHROME_DEBUGGING_PORT": "9222",
"BROWSER_RECORDING_PATH": "recording.mp4",
"BROWSER_DISABLE_SECURITY": "false",
"MCP_MAX_ACTIONS_PER_STEP": "5",
"MCP_TOOL_CALL_IN_CONTENT": "true",
"BROWSER_USE_LOGGING_LEVEL": "info",
"CHROME_PERSISTENT_SESSION": "false"
},
"args": [
"mcp-server-browser-use"
],
"command": "uvx"
}

<br/>
browser-use MCP server
> Project Note: This MCP server implementation builds upon the browser-use/web-ui foundation. Core browser automation logic and configuration patterns are adapted from the original project.
AI-driven browser automation server implementing the Model Context Protocol (MCP) for natural language browser control.
<a href="https://glama.ai/mcp/servers/dz6dy5hw59"></a>
Features
- 🧠 MCP Integration - Full protocol implementation for AI agent communication
- 🌐 Browser Automation - Page navigation, form filling, and element interaction
- 👁️ Visual Understanding - Screenshot analysis and vision-based interactions
- 🔄 State Persistence - Maintain browser sessions between tasks
- 🔌 Multi-LLM Support - OpenAI, Anthropic, Azure, DeepSeek integration
Quick Start
Prerequisites
- Python 3.11 or higher
- uv (fast Python package installer)
- Chrome/Chromium browser
Installation
Claude Desktop
On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
"mcpServers": {
"browser-use": {
"command": "uvx",
"args": [
"mcp-server-browser-use",
],
"env": {
"OPENROUTER_API_KEY": "",
"OPENROUTER_ENDPOINT": "https://openrouter.ai/api/v1",
"OPENAI_ENDPOINT": "https://api.openai.com/v1",
"OPENAI_API_KEY": "",
"ANTHROPIC_ENDPOINT": "https://api.anthropic.com",
"ANTHROPIC_API_KEY": "",
"GOOGLE_API_KEY": "",
"AZURE_OPENAI_ENDPOINT": "",
"AZURE_OPENAI_API_KEY": "",
"DEEPSEEK_ENDPOINT": "https://api.deepseek.com",
"DEEPSEEK_API_KEY": "",
"MISTRAL_API_KEY": "",
"MISTRAL_ENDPOINT": "https://api.mistral.ai/v1",
"OLLAMA_ENDPOINT": "http://localhost:11434",
"ANONYMIZED_TELEMETRY": "true",
"BROWSER_USE_LOGGING_LEVEL": "info",
"CHROME_PATH": "",
"CHROME_USER_DATA": "",
"CHROME_DEBUGGING_PORT": "9222",
"CHROME_DEBUGGING_HOST": "localhost",
"CHROME_PERSISTENT_SESSION": "false",
"BROWSER_HEADLESS": "false",
"BROWSER_DISABLE_SECURITY": "false",
"BROWSER_WINDOW_WIDTH": "1280",
"BROWSER_WINDOW_HEIGHT": "720",
"BROWSER_TRACE_PATH": "trace.json",
"BROWSER_RECORDING_PATH": "recording.mp4",
"RESOLUTION": "1920x1080x24",
"RESOLUTION_WIDTH": "1920",
"RESOLUTION_HEIGHT": "1080",
"VNC_PASSWORD": "youvncpassword",
"MCP_MODEL_PROVIDER": "anthropic",
"MCP_MODEL_NAME": "claude-3-5-sonnet-20241022",
"MCP_TEMPERATURE": "0.3",
"MCP_MAX_STEPS": "30",
"MCP_USE_VISION": "true",
"MCP_MAX_ACTIONS_PER_STEP": "5",
"MCP_TOOL_CALL_IN_CONTENT": "true"
}
}
Local Development
"browser-use": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-browser-use",
"run",
"mcp-server-browser-use"
],
"env": {
...
}
}
Development
# Install dev dependencies
uv sync
Run with debugger
npx @modelcontextprotocol/inspector uv --directory . run mcp-server-browser-use
Troubleshooting
- Browser Conflicts: Close all Chrome instances before starting.
- API Errors: Verify API keys in environment variables match your LLM provider.
- Vision Support: Ensure MCP_USE_VISION=true for screenshot analysis.
Provider Configuration
The server supports multiple LLM providers through environment variables. Here are the available options for MCP_MODEL_PROVIDER:
| Provider | Value | Required Env Variables |
|----------|--------|----------------------|
| Anthropic | anthropic | ANTHROPIC_API_KEY<br>ANTHROPIC_ENDPOINT (optional) |
| OpenAI | openai | OPENAI_API_KEY<br>OPENAI_ENDPOINT (optional) |
| Azure OpenAI | azure_openai | AZURE_OPENAI_API_KEY<br>AZURE_OPENAI_ENDPOINT |
| DeepSeek | deepseek | DEEPSEEK_API_KEY<br>DEEPSEEK_ENDPOINT (optional) |
| Gemini | gemini | GOOGLE_API_KEY |
| Mistral | mistral | MISTRAL_API_KEY<br>MISTRAL_ENDPOINT (optional) |
| Ollama | ollama | OLLAMA_ENDPOINT (optional, defaults to localhost:11434) |
| OpenRouter | openrouter | OPENROUTER_API_KEY<br>OPENROUTER_ENDPOINT (optional) |
Notes:
- For endpoints marked as optional, default values will be used if not specified - Temperature can be configured usingMCP_TEMPERATURE (default: 0.3)
- Model can be specified using MCP_MODEL_NAME
- For Ollama models, additional context settings like num_ctx and num_predict are configurable
Credits
This project extends the browser-use/web-ui under MIT License. Special thanks to the original authors for their browser automation framework.
License
MIT - See LICENSE for details.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



