home / mcp / browser use mcp server

Browser Use MCP Server

Provides AI-driven browser control via MCP with multi-LLM support and session persistence.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "deploya-labs-mcp-browser-use": {
      "command": "uvx",
      "args": [
        "mcp-server-browser-use"
      ],
      "env": {
        "RESOLUTION": "1920x1080x24",
        "VNC_PASSWORD": "youvncpassword",
        "MCP_MAX_STEPS": "30",
        "MCP_MODEL_NAME": "claude-3-5-sonnet-20241022",
        "MCP_USE_VISION": "true",
        "MCP_TEMPERATURE": "0.3",
        "OLLAMA_ENDPOINT": "http://localhost:11434",
        "OPENAI_ENDPOINT": "https://api.openai.com/v1",
        "BROWSER_HEADLESS": "false",
        "MISTRAL_ENDPOINT": "https://api.mistral.ai/v1",
        "RESOLUTION_WIDTH": "1920",
        "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_ENDPOINT": "https://openrouter.ai/api/v1",
        "ANONYMIZED_TELEMETRY": "true",
        "BROWSER_WINDOW_WIDTH": "1280",
        "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"
      }
    }
  }
}

You run an AI-driven browser automation server that speaks the Model Context Protocol (MCP). It lets a client send natural language instructions to control a browser, navigate pages, fill forms, click elements, and analyze screenshots. It supports multiple LLM providers and keeps browser sessions across tasks for smooth, context-aware interactions.

How to use

You connect an MCP client to the server to start issuing browser-control commands in natural language. The server handles navigation, form interactions, and vision-based actions, while maintaining session state so subsequent tasks build on past context. Choose your preferred LLM provider and adjust model settings to control creativity and response length. Run the server locally or inside your development environment, then point your MCP client at the configured entry point to begin issuing tasks.

How to install

Prerequisites you need on your machine before starting are:

  • Python 3.11 or higher
  • uv (the Python package installer for this runtime)
  • Chrome/Chromium browser

Install the MCP server runtime and prepare the environment for running the server. The following steps align with typical local setup using the uv runner and a client configuration snippet for the browser-use MCP server.

"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"
    }
  }
}

How to run locally

To develop and test, install development dependencies and start the server in a local directory that contains the MCP server package. Here is a representative flow you can follow from a project directory.

# Install dev dependencies
uv sync

# Run with debugger (inspect MCP server) - adjust directory as needed
npx @modelcontextprotocol/inspector uv --directory . run mcp-server-browser-use

Configuration and security

Performance and privacy considerations come from tuning the MCP model provider, prompt temperature, and the number of actions allowed per step. You can pick from multiple providers like Anthropic, OpenAI, Azure OpenAI, or DeepSeek, and you can customize the model name and temperature through environment variables.

Troubleshooting

If you encounter issues, try the following checks. Close all Chrome instances before starting to avoid conflicts. Verify that API keys and endpoints for your chosen LLM provider are set correctly in the environment variables. If vision features are needed, enable MCP_USE_VISION to true so the server can analyze screenshots and perform vision-based actions.