浏览器自动化服务器

基于MCP(模型-控制器-提示)架构的Chrome浏览器自动化服务器,提供网页导航、登录、元素操作等功能。

  • by dlwjdtn535
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 dlwjdtn535/mcp-chrome-server

使用说明

MCP Chrome服务器

基于MCP(模型控制器提示符)的Chrome服务器,用于浏览器自动化。

安装

先决条件

  • Python 3.12
  • 已安装谷歌Chrome浏览器
  • uv(Python包安装程序)或Docker

通过Smithery安装

npx -y @smithery/cli install @dlwjdtn535/mcp-chrome-server --client claude

配置设置

根据您的环境选择以下设置方法之一:

1.使用紫外线(推荐)

Windows安装程序:

{
  "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设置:

{
  "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设置:

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

配置

Chrome配置文件路径

每个操作系统的默认Chrome配置文件路径:

操作系统 路径
窗户 %LOCALAPPDATA%\Google\Chrome\User Data
macOS ~/Library/Application Support/Google/Chrome
Linux ~/.config/google-chrome

重要提示

  • 启动自动化服务器之前,关闭所有正在运行的Chrome实例
  • 确保Chrome配置文件目录的权限正确
  • 对于Docker设置,请确保卷装载路径与系统的Chrome配置文件路径匹配

凭据管理

使用系统钥匙链安全地存储和管理登录信息:

# 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"
)

主要特点

浏览器控件

# Open browser
result = tool_open_browser()

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

# Close browser
result = tool_close_browser()

Web登录

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

特殊处理:

  • 检测到时等待用户解决验证码
  • 自动检测双因素身份验证
  • 登录失败场景的详细分析

元素操作

# 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")

重要注意事项

  1. Chrome配置文件使用情况

    • 验证配置文件路径配置是否正确
    • 使用配置文件关闭所有其他Chrome窗口
  2. 自动化检测预防

    • 模拟自然用户行为
    • 在登录尝试之间保持适当的延迟
  3. 安全

    • 重要凭据始终使用系统密钥链
    • 切勿在环境变量或配置文件中直接公开凭据