关于 Selenium MCP Server
Selenium MCP Server 通过 Selenium WebDriver 让 MCP 客户端自动化操作浏览器。它支持多种浏览器,并提供导航、页面交互、信息采集和标签页管理能力,适用于个人或团队工作流。
主要功能
- 01支持 Chrome、Firefox、Edge 和 Safari
- 02浏览网页并与页面交互
- 03获取无障碍快照和截图
- 04查看网络请求与控制台消息
- 05管理浏览器标签页
- 06无头与隔离模式
适用场景
- 01自动填写并提交表单
- 02采集网页信息和链接
- 03在 CI 中执行浏览器任务
MCP 相关
向 MCP 客户端提供 Selenium 浏览器自动化工具,包括导航、点击、输入、截图和标签页控制。客户端通过命令配置并启动服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
6收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| url | string | 是 | 要导航到的 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,将服务作为后台进程运行,并让客户端连接到其端口。
📝 新团队上手指南
- 安装 Node.js 18+ 和 Java 11+
- 全局安装 MCP 服务,或使用 npx
- 与团队分享 npm 包名称和 README
- 提供配置和用法示例(见上文)
- 如需支持,请使用 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- 导航到任意 URLbrowser_snapshot- 获取页面可访问性快照及元素引用browser_click- 使用快照中的引用点击元素browser_type- 在表单字段中输入文本,可选择提交browser_wait_for- 等待指定时长、文本出现或文本消失browser_take_screenshot- 截取当前页面
🛠️ 安装与设置
Cursor 用户
-
添加到 Cursor 设置:
- 前往
Cursor Settings→MCP→Add new MCP Server - 名称:
selenium-mcp - 命令类型:
command - 命令:
npx - 参数:
["selenium-mcp-server@latest"]
- 前往
-
替代 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- 导航到 URLbrowser_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"
]
}
}
}
故障排除
未找到浏览器
如果出现未找到浏览器的错误:
- 安装浏览器(Chrome、Firefox 等)
- 使用
--executable-path指定浏览器位置 - 检查 Java 是否已安装且可访问
权限问题
在 macOS 上,你可能需要授予辅助功能权限:
- 前往“系统偏好设置”>“安全性与隐私”>“隐私”
- 选择“辅助功能”
- 添加你的终端应用程序
内存问题
对于大型页面或长时间运行的会话:
{
"mcpServers": {
"selenium": {
"command": "selenium-mcp",
"args": ["--isolated", "--headless"]
}
}
}
参与贡献
- Fork 此仓库
- 创建功能分支
- 进行修改
- 添加测试
- 提交拉取请求
许可证
MIT 许可证 - 详情请参阅 LICENSE 文件。
相关项目
- Playwright MCP - 使用 Playwright 的类似服务
- Model Context Protocol - 协议规范
- Selenium WebDriver - 底层浏览器自动化框架
参考资料
更多信息请参阅 CONTRIBUTING.md 和 TEAM_SETUP_GUIDE.md
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。