mcpField
S
Selenium MCP Server

Selenium MCP Server

本地服务
github.com/Raghvendra-Raghuvanshi浏览器自动化073 周前更新

关于 Selenium MCP Server

Selenium MCP Server 通过 Selenium WebDriver 让 MCP 客户端自动化操作浏览器。它支持多种浏览器,并提供导航、页面交互、信息采集和标签页管理能力,适用于个人或团队工作流。

主要功能

  1. 01支持 Chrome、Firefox、Edge 和 Safari
  2. 02浏览网页并与页面交互
  3. 03获取无障碍快照和截图
  4. 04查看网络请求与控制台消息
  5. 05管理浏览器标签页
  6. 06无头与隔离模式

适用场景

  1. 01自动填写并提交表单
  2. 02采集网页信息和链接
  3. 03在 CI 中执行浏览器任务

MCP 相关

向 MCP 客户端提供 Selenium 浏览器自动化工具,包括导航、点击、输入、截图和标签页控制。客户端通过命令配置并启动服务。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"selenium": {
"command": "npx",
"args": [
"-y",
"selenium-mcp-server"
]
}
}
}
启动命令npx -y selenium-mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmselenium-mcp-server

工具

6

收录的工具列表 · 更新于 2 周前

参数类型必填说明
urlstring是要导航到的 URL

详细介绍

Selenium MCP 服务

一个使用 Selenium WebDriver 进行浏览器自动化的模型上下文协议(MCP)服务。通过标准协议让大模型和团队实现浏览器自动化,类似于 Playwright MCP。

🚀 主要功能

  • 支持多种浏览器(Chrome、Firefox、Edge、Safari)
  • 适合团队使用:默认显示浏览器
  • 符合 MCP 的 API(导航、点击、输入、截图等)
  • 方便团队和 CI 上手

📦 面向团队使用发布 MCP 服务

1. 发布到 npm(供整个团队使用)
  • 确保 package.json 正确(见下文)
  • 运行:
npm publish --access public
  • 或使用私有注册表:
npm publish --access restricted
2. 安装并运行(适用于任何团队)
全局安装(推荐团队使用)
npm install -g selenium-mcp-server
selenium-mcp-server --browser chrome
或使用 npx(无需安装)
npx selenium-mcp-server@latest --browser chrome
3. 在 MCP 客户端中配置(例如 Cursor、CI 或自定义客户端)

将以下内容添加到 .cursor/mcp.json 或等效文件中:

{
  "mcpServers": {
    "selenium": {
      "command": "selenium-mcp-server",
      "args": ["--browser", "chrome"]
    }
  }
}
  • 对于 CI,将服务作为后台进程运行,并让客户端连接到其端口。

📝 新团队上手指南

  1. 安装 Node.js 18+ 和 Java 11+
  2. 全局安装 MCP 服务,或使用 npx
  3. 与团队分享 npm 包名称和 README
  4. 提供配置和用法示例(见上文)
  5. 如需支持,请使用 GitHub 仓库的 issues 页面

用于发布的 package.json 示例

{
  "name": "selenium-mcp-server",
  "version": "1.0.0",
  "description": "Selenium MCP server for browser automation",
  "main": "index.js",
  "bin": { "selenium-mcp-server": "index.js" },
  "repository": { "type": "git", "url": "https://github.com/your-org/selenium-mcp-server.git" },
  "author": "Your Name",
  "license": "MIT"
}

📋 可用工具

  • browser_navigate - 导航到任意 URL
  • browser_snapshot - 获取页面可访问性快照及元素引用
  • browser_click - 使用快照中的引用点击元素
  • browser_type - 在表单字段中输入文本,可选择提交
  • browser_wait_for - 等待指定时长、文本出现或文本消失
  • browser_take_screenshot - 截取当前页面

🛠️ 安装与设置

Cursor 用户
  1. 添加到 Cursor 设置:

    • 前往 Cursor Settings → MCP → Add new MCP Server
    • 名称:selenium-mcp
    • 命令类型:command
    • 命令:npx
    • 参数:["selenium-mcp-server@latest"]
  2. 替代 JSON 配置:

{
  "mcpServers": {
    "selenium-mcp": {
      "command": "npx",
      "args": ["selenium-mcp-server@latest"]
    }
  }
}
其他 MCP 客户端

在 MCP 客户端中使用相同的配置方式:

{
  "mcpServers": {
    "selenium-mcp": {
      "command": "npx",
      "args": ["selenium-mcp-server@latest"]
    }
  }
}
其他安装方式
点击查看其他安装选项
方法 1:本地安装
npm install selenium-mcp-server
方法 2:全局安装
npm install -g selenium-mcp-server

快速开始

🎯 零安装(推荐)
1. 添加配置

在项目根目录中创建 .cursor/mcp.json:

{
  "mcpServers": {
    "selenium": {
      "command": "npx",
      "args": [
        "selenium-mcp-server@latest",
        "--browser", "chrome"
      ]
    }
  }
}
2. 重启 Cursor
  • 完全退出 Cursor
  • 重启 Cursor
  • npx 将自动下载并运行服务
其他设置方式
选项 A:本地安装
1. 在项目中安装
npm install selenium-mcp-server
2. 配置 Cursor
{
  "mcpServers": {
    "selenium": {
      "command": "node",
      "args": ["./node_modules/selenium-mcp-server/dist/index.js", "--browser", "chrome", "--headless"]
    }
  }
}
选项 B:全局安装
1. 全局安装
npm install -g selenium-mcp-server
2. 配置 Cursor
{
  "mcpServers": {
    "selenium": {
      "command": "selenium-mcp",
      "args": ["--browser", "chrome", "--headless"]
    }
  }
}
3. 在 Cursor 中使用

让 Cursor 执行浏览器自动化操作:

  • “导航到 google.com 并截取屏幕截图”
  • “填写 example.com 上的联系表单”
  • “从当前页面提取所有链接”

配置选项

selenium-mcp [options]

Options:
  --browser <browser>        Browser to use (chrome, firefox, edge, safari) (default: "chrome")
  --headless                 Run browser in headless mode
  --executable-path <path>   Path to browser executable
  --user-data-dir <path>     Path to user data directory
  --isolated                 Keep browser profile in memory
  --viewport-size <size>     Browser viewport size (e.g., 1280,720)
  --output-dir <path>        Path to directory for output files
  -h, --help                 Display help for command

可用工具

导航
  • browser_navigate - 导航到 URL
  • browser_navigate_back - 返回上一页
  • browser_navigate_forward - 前进到下一页
页面交互
  • browser_click - 点击元素
  • browser_type - 在输入框中输入文本
  • browser_hover - 将鼠标悬停在元素上
  • browser_drag - 拖放元素
  • browser_select_option - 选择下拉选项
  • browser_press_key - 按下键盘按键
信息收集
  • browser_snapshot - 捕获可访问性树
  • browser_take_screenshot - 截取屏幕截图
  • browser_network_requests - 列出网络请求
  • browser_console_messages - 获取控制台消息
标签页管理
  • browser_tab_list - 列出已打开的标签页
  • browser_tab_new - 打开新标签页
  • browser_tab_select - 切换标签页
  • browser_tab_close - 关闭标签页
实用工具
  • browser_wait_for - 等待元素/文本
  • browser_file_upload - 上传文件
  • browser_handle_dialog - 处理警告/对话框
  • browser_resize - 调整浏览器窗口大小
  • browser_pdf_save - 将页面保存为 PDF

使用示例

基本导航和截图
// In Cursor, ask:
"Navigate to https://example.com and take a screenshot"
表单交互
// In Cursor, ask:
"Go to the contact page and fill out the form with name 'John Doe' and email '[email protected]'"
数据提取
// In Cursor, ask:
"Visit the product page and extract all product names and prices"

要求

  • Node.js 18+
  • Java 11+(用于 Selenium WebDriver)
  • 浏览器驱动(由 WebDriverManager 自动管理)

配置示例

本地开发
{
  "mcpServers": {
    "selenium": {
      "command": "selenium-mcp",
      "args": ["--browser", "chrome"]
    }
  }
}
无头生产环境
{
  "mcpServers": {
    "selenium": {
      "command": "selenium-mcp",
      "args": [
        "--browser", "chrome",
        "--headless",
        "--viewport-size", "1920,1080"
      ]
    }
  }
}
自定义浏览器路径
{
  "mcpServers": {
    "selenium": {
      "command": "selenium-mcp",
      "args": [
        "--browser", "chrome",
        "--executable-path", "/path/to/chrome"
      ]
    }
  }
}

故障排除

未找到浏览器

如果出现未找到浏览器的错误:

  1. 安装浏览器(Chrome、Firefox 等)
  2. 使用 --executable-path 指定浏览器位置
  3. 检查 Java 是否已安装且可访问
权限问题

在 macOS 上,你可能需要授予辅助功能权限:

  1. 前往“系统偏好设置”>“安全性与隐私”>“隐私”
  2. 选择“辅助功能”
  3. 添加你的终端应用程序
内存问题

对于大型页面或长时间运行的会话:

{
  "mcpServers": {
    "selenium": {
      "command": "selenium-mcp",
      "args": ["--isolated", "--headless"]
    }
  }
}

参与贡献

  1. Fork 此仓库
  2. 创建功能分支
  3. 进行修改
  4. 添加测试
  5. 提交拉取请求

许可证

MIT 许可证 - 详情请参阅 LICENSE 文件。

相关项目

参考资料

更多信息请参阅 CONTRIBUTING.md 和 TEAM_SETUP_GUIDE.md

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。