浏览器自动化管理服务

一款结合NSTBrowser配置文件管理和Playwright浏览器自动化的服务,支持多会话管理和全面的浏览器自动化操作。

  • by jackie099
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 jackie099/nstbrowser-playwright-mcp

使用说明

nstbrowser剧作家mcp

MCP服务器,结合 Nst浏览器 配置文件管理 剧作家 通过CDP(Chrome DevTools协议)实现浏览器自动化。

建立在官方之上 @playwright/mcp 软件包——所有浏览器自动化工具都由微软的Playwright MCP服务器提供,通过CDP连接到NSTBrowser配置文件。

特性

  • 26个MCP工具 --20个浏览器自动化工具(来自 @playwright/mcp)+6个会话/配置文件管理工具
  • 连接到现有的NSTBrowser配置文件或创建临时配置文件
  • 具有会话切换功能的多会话支持
  • Playwright浏览器完全自动化:导航、点击、打字、截图、JavaScript评估、拖放、表单填写等
  • 控制台日志和网络请求跟踪
  • AI驱动交互的可访问性快照

先决条件

快速开始

克劳德代码

claude mcp add nstbrowser -- npx -y nstbrowser-playwright-mcp

然后在环境中设置API密钥或通过 --env:

claude mcp add nstbrowser -e NSTBROWSER_API_KEY=your-api-key-here -- npx -y nstbrowser-playwright-mcp

克劳德桌面

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "nstbrowser": {
      "command": "npx",
      "args": ["-y", "nstbrowser-playwright-mcp"],
      "env": {
        "NSTBROWSER_API_KEY": "your-api-key-here"
      }
    }
  }
}

光标/风帆

添加到MCP设置(.cursor/mcp.json 或Windsurf同等产品):

{
  "mcpServers": {
    "nstbrowser": {
      "command": "npx",
      "args": ["-y", "nstbrowser-playwright-mcp"],
      "env": {
        "NSTBROWSER_API_KEY": "your-api-key-here"
      }
    }
  }
}

从源码安装

git clone https://github.com/jackie099/nstbrowser-playwright-mcp.git
cd nstbrowser-playwright-mcp
npm install
npm run build

配置

环境变量

变量 必填 默认 描述
NSTBROWSER_API_KEY 是 - 您的NSTBrowser API密钥
NSTBROWSER_API_ADDRESS 没有 http://localhost:8848/api/v2 NSTBrowser API终结点

可用工具

会话管理

工具 说明
create_session 创建浏览器会话--提供 profileId 对于现有的配置文件,或不带参数的调用来创建临时配置文件(所有参数都是可选的,具有合理的默认值)
list_sessions 列出所有活动的浏览器会话
switch_session 切换活动会话
close_session 关闭会话并断开连接

浏览器自动化(来自 @playwright/mcp)

创建第一个会话后,这些工具将自动可用。它们由官方Playwright MCP服务器提供,并使用可访问性快照参考(element/ref)针对元素。

工具 说明
browser_navigate 导航到URL
browser_navigate_back 返回浏览器历史记录
browser_snapshot 获取页面的可访问性快照
browser_take_screenshot 截图(PNG或JPEG)
browser_click 单击元素
browser_type 在可编辑元素中键入文本
browser_fill_form 一次填写多个表单字段
browser_press_key 按键盘键
browser_hover 将鼠标悬停在元素上
browser_select_option 选择下拉选项
browser_drag 在元素之间拖放
browser_file_upload 上传文件
browser_evaluate 在页面或元素上评估JavaScript
browser_run_code 运行Playwright代码片段
browser_wait_for 等待文本、文本消失或时间
browser_tabs 管理选项卡(列表、新建、关闭、选择)
browser_console_messages 读取控制台消息
browser_network_requests 列出网络请求
browser_resize 调整浏览器窗口大小
browser_handle_dialog 接受或关闭对话框

NSTBrowser管理

工具 说明
nst_get_profiles 列出可用的NSTBrowser配置文件
nst_get_browsers 列出正在运行的NSTBrowser实例

create_session 参数

所有参数都是可选的。当否 profileId 创建临时配置文件。NSTBrowser API对任何省略的字段应用合理的默认值(请参见 Nstbrower API文档 详细信息)。

参数 说明
profileId 要连接的现有NSTBrowser配置文件ID
name 临时配置文件的名称(在没有时使用 profileId)
kernel 浏览器内核(chromium)
kernelMilestone 内核版本里程碑(例如。 128, 130, 132)
platform 目标平台: linux, mac,或 windows
headless 在无头模式下运行浏览器
proxy 代理字符串(例如。 http://user:pass@host:port)

用法示例

连接到现有配置文件

Use create_session with profileId "abc123" to connect to my NSTBrowser profile,
then navigate to https://example.com and take a screenshot.

创建临时会话(不需要参数)

Create a temporary browser session and navigate to https://news.ycombinator.com.
Get an accessibility snapshot of the page.

使用自定义设置创建临时会话

Create a session with platform "windows" and kernelMilestone "132",
then navigate to https://example.com.

多会话工作流

Create two sessions - one for GitHub and one for Gmail.
Switch between them to check notifications on both.

运作原理

  1. 会话创建 --当你打电话的时候 create_session,服务器连接到NSTBrowser的API以获取请求配置文件的CDP(Chrome DevTools协议)WebSocket URL。
  2. 剧作家MCP桥 --CDP端点传递给 @playwright/mcps createConnection,它创建了一个连接到该浏览器的完整Playwright MCP服务器实例。
  3. 工具代理 --在第一次会话创建时,浏览器工具从Playwright MCP实例中发现,并在我们的服务器上注册为代理工具。工具调用被转发到活动会话的Playwright MCP客户端。
  4. 多会话 --每个会话都有自己的Playwright MCP连接。切换会话将所有浏览器工具调用路由到新的活动会话。

发展

npm install
npm run build
npm test
npm run lint

许可证

麻省理工学院