mcp-chrome-server

mcp-chrome-server

3.4

A Chrome server based on MCP (Model-Controller-Prompt) for browser automation.

The MCP Chrome Server is a robust tool designed for automating browser tasks using the Model-Controller-Prompt (MCP) architecture. It leverages Python and the Google Chrome browser to perform a variety of automation tasks, such as web navigation, login automation, and element manipulation. The server is highly configurable and can be set up using different methods, including the 'uv' Python package installer or Docker. It supports secure credential management through system keychains, ensuring that sensitive information is protected. The server is compatible with Windows, macOS, and Linux, and provides detailed configuration options for each platform.

Features

  • Browser Control: Open, navigate, and close browser sessions programmatically.
  • Web Login: Automate login processes with support for CAPTCHA and 2-factor authentication.
  • Element Manipulation: Interact with web elements by clicking, typing, and retrieving text.
  • Security: Securely store and manage credentials using system keychains.
  • Automation Detection Prevention: Simulate natural user behavior to avoid detection.

Usage with Different Platforms

Windows Setup


{
  "mcpServers": {
    "mcp-chrome-server": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "%LOCALAPPDATA%\\Programs\\mcp-chrome-server\\src",
        "mcp-chrome-server"
      ],
      "env": {
        "CHROME_PROFILE_PATH": "%LOCALAPPDATA%\\Google\\Chrome\\User Data"
      }
    }
  }
}

macOS Setup


{
  "mcpServers": {
    "mcp-chrome-server": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/usr/local/bin/mcp-chrome-server/src",
        "mcp-chrome-server"
      ],
      "env": {
        "CHROME_PROFILE_PATH": "$HOME/Library/Application Support/Google/Chrome"
      }
    }
  }
}

Linux Setup


{
  "mcpServers": {
    "mcp-chrome-server": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/usr/local/bin/mcp-chrome-server/src",
        "mcp-chrome-server"
      ],
      "env": {
        "CHROME_PROFILE_PATH": "$HOME/.config/google-chrome"
      }
    }
  }
}