Selenium浏览器自动化服务

MCP Selenium Server是一个为AI代理提供的Selenium WebDriver浏览器自动化服务,支持多种浏览器操作和交互。

  • by angiejones
  • JavaScript
  • 本地部署
  • 429 星标
  • 更新于
在 GitHub 查看 angiejones/mcp-selenium

使用说明

MCP硒服务器

Selenium WebDriver的模型上下文协议(MCP)服务器——AI代理的浏览器自动化。

设置

Goose (Desktop)

粘贴到浏览器地址栏:

goose://extension?cmd=npx&arg=-y&arg=%40angiejones%2Fmcp-selenium%40latest&id=selenium-mcp&name=Selenium%20MCP&description=automates%20browser%20interactions
Goose (CLI)
goose session --with-extension "npx -y @angiejones/mcp-selenium@latest"
Claude Code
claude mcp add selenium -- npx -y @angiejones/mcp-selenium@latest
Cursor / Windsurf / other MCP clients
{
  "mcpServers": {
    "selenium": {
      "command": "npx",
      "args": ["-y", "@angiejones/mcp-selenium@latest"]
    }
  }
}

示例用法

告诉你选择的AI代理:

打开Chrome浏览器,访问github/angiejones,然后截图。

代理将调用Selenium的API start_browser, navigate,以及 take_screenshot无需手动编写脚本或明确指示。

支持的浏览器

Chrome、Firefox、Edge和Safari。

Safari注释: 需要macOS。跑 sudo safaridriver --enable 一次并启用 Safari中的“允许远程自动化”→ 设置→ 开发商。没有无头模式。


Tools

start_browser

启动浏览器会话。

参数 类型 必填 说明
浏览器 字符串 是 chrome, firefox, edge,或 safari
选项 对象 否 { headless: boolean, arguments: string[] }

导航

导航到URL。

参数 类型 必填 说明
url string 是 要导航到的url

互动

在元素上执行鼠标操作。

参数 类型 必填 说明
action string 是 click, doubleclick, rightclick,或 hover
by string Yes 定位器策略: id, css, xpath, name, tag, class
value string Yes 定位器策略的值
timeout number No 最大等待时间(毫秒)(默认值:10000)

send_keys

在元素中键入文本。先清除字段。

参数 类型 必填 说明
by string 是 定位器策略
value string Yes 定位器值
text string Yes 要输入的文本
timeout number No 最大等待时间(毫秒)(默认值:10000)

get_element_text

获取元素的文本内容。

参数 类型 必填 说明
by string 是 定位器策略
value string Yes 定位器值
timeout number No 最大等待时间(毫秒)(默认值:10000)

get_element_attribute

从元素获取属性值。

参数 类型 必填 说明
by string 是 定位器策略
value string Yes 定位器值
attribute string Yes 属性名称(例如。, href, value, class)
timeout number No 最大等待时间(毫秒)(默认值:10000)

按键

按下键盘键。

参数 类型 必填 说明
key string Yes 要按下的键(例如。, Enter, Tab, a)

上传文件

通过文件输入元素上传文件。

参数 类型 必填 说明
by string 是 定位器策略
value string Yes 定位器值
filePath string Yes 文件的绝对路径
timeout number No 最大等待时间(毫秒)(默认值:10000)

take_screenshot

捕获当前页面的屏幕截图。

参数 类型 必填 说明
outputPath 字符串 否 保存路径。如果省略,则返回base64图像数据。

关闭会话

关闭当前浏览器会话。没有参数。

execute_script

在浏览器中执行JavaScript。用于其他工具未涵盖的高级交互(例如,拖放、滚动、读取计算样式、DOM操作)。

参数 类型 必填 说明
script string Yes 要执行的JavaScript代码
args array 否 参数可通过以下方式访问 arguments[0]等等。

窗口

管理浏览器窗口和选项卡。

参数 类型 必填 说明
action string 是 list, switch, switch_latest,或 close
handle string No 窗口句柄(必需 switch)

框架

将焦点切换到框架或返回主页。

参数 类型 必填 说明
action string 是 switch 或 default
by string 否 定位器策略(适用于 switch)
value string No 定位器值(用于 switch)
index number No 帧索引,从0开始(用于 switch)
timeout number No 最大等待时间(毫秒)(默认值:10000)

警报

处理浏览器警报、确认或提示对话框。

参数 类型 必填 说明
action string 是 accept, dismiss, get_text,或 send_text
text string 否 要发送的文本(必填 send_text)
timeout number No 最大等待时间(毫秒)(默认值:5000)

add_cookie

添加cookie。浏览器必须位于cookie域的页面上。

参数 类型 必填 说明
name string Yes Cookie名称
value string Yes Cookie值
域 字符串 否 Cookie域
path string 否 Cookie路径
secure boolean 否 安全标志
httpOnly boolean 否 仅HTTP标志
expire number No Unix时间戳

get_cookies

获取Cookie。按名称返回全部或特定值。

参数 类型 必填 说明
name string 否 Cookie名称。省略所有Cookie。

删除cookie

删除Cookie。按名称删除所有或特定内容。

参数 类型 必填 说明
name string 否 Cookie名称。省略删除所有内容。

诊断

获取通过WebDriver BiDi捕获的浏览器诊断(支持时自动启用)。

参数 类型 必填 说明
type string 是 console, errors,或 network
clear boolean 否 返回后清除缓冲区(默认值:false)
Resources

MCP资源提供只读数据,客户端可以在不调用工具的情况下访问这些数据。

浏览器-status://current

返回当前浏览器会话状态(活动会话ID或“无活动会话”)。

财产 价值
MIME类型 text/plain
需要浏览器 否

加速ssibility://current

返回当前页面的可访问性树快照——交互式元素和文本内容的紧凑、结构化JSON表示。比完整的HTML小得多。有助于理解页面布局和查找要交互的元素。

财产 价值
MIME类型 application/json
需要浏览器 是

Development

设置

git clone https://github.com/angiejones/mcp-selenium.git
cd mcp-selenium
npm install

运行测试

npm test

需要PATH上的Chrome+chromedriver。测试无头运行。

通过Smithery安装

npx -y @smithery/cli install @angiejones/mcp-selenium --client claude

全局安装

npm install -g @angiejones/mcp-selenium
mcp-selenium

许可证

麻省理工学院