mcpField
M
MCP Chrome Server

MCP Chrome Server

Local
github.com/dlwjdtn535Browser Automation4Updated 80w ago

About MCP Chrome Server

MCP Chrome Server provides Chrome browser automation for users who need to control a browser through MCP. It supports browser operations, web login, and element interaction, with handling for CAPTCHA and two-factor authentication.

Key features

  1. 01Open, close, and navigate the browser
  2. 02Automate web login
  3. 03Click elements and enter text
  4. 04Detect CAPTCHA and two-factor authentication
  5. 05Manage credentials with the system keychain

Use cases

  1. 01Automate a website login flow
  2. 02Navigate to a page and interact with elements
  3. 03Handle CAPTCHA or two-factor authentication during login

MCP support

The server exposes Chrome control, web login, and element interaction tools to MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"chrome-server": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
Run commandnpx -y @smithery/cli

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@smithery/cli

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

MCP Chrome Server

smithery badge Buy Me A Coffee

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

Installation

Prerequisites
  • Python 3.12
  • Google Chrome browser installed
  • uv (Python package installer) or Docker
Installing via Smithery
npx -y @smithery/cli install @dlwjdtn535/mcp-chrome-server --client claude
Configuration Setup

Choose one of the following setup methods based on your environment:

1. Using uv (Recommended)

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

Configuration

Chrome Profile Paths

Default Chrome profile paths for each operating system:

OSPath
Windows%LOCALAPPDATA%\Google\Chrome\User Data
macOS~/Library/Application Support/Google/Chrome
Linux~/.config/google-chrome
Important Notes
  • Close all running Chrome instances before starting the automation server
  • Ensure proper permissions for the Chrome profile directory
  • For Docker setup, make sure the volume mount path matches your system's Chrome profile path
Credential Management

Securely store and manage login information using the system keychain:

# Save credentials
result = tool_save_credentials(
    site="example.com",
    username="your_username",
    password="your_password"
)

# Retrieve saved credentials
result = tool_get_credentials(
    site="example.com",
    username="your_username"
)

Key Features

Browser Control
# Open browser
result = tool_open_browser()

# Navigate to URL
result = tool_navigate(url="https://example.com")

# Close browser
result = tool_close_browser()
Web Login
result = tool_web_login(
    url="https://example.com/login",
    credentials={
        "username": "your_username",
        "password": "your_password"
    },
    selectors={
        "username": "#id",
        "password": "#pw",
        "submit": ".login-button"
    }
)

Special handling:

  • Waits for user to solve CAPTCHA when detected
  • Automatic detection of 2-factor authentication
  • Detailed analysis of login failure scenarios
Element Manipulation
# Click element
result = tool_click(selector=".button")

# Type text
result = tool_type(
    selector="#input-field",
    text="Hello, World!"
)

# Get text
result = tool_get_text(selector=".content")

# Get multiple elements
result = tool_get_elements(selector=".items")

Important Considerations

  1. Chrome Profile Usage

    • Verify correct profile path configuration
    • Close all other Chrome windows using the profile
  2. Automation Detection Prevention

    • Simulation of natural user behavior
    • Maintain appropriate delays between login attempts
  3. Security

    • Always use system keychain for important credentials
    • Never expose credentials directly in environment variables or configuration files

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.