nstbrowser剧作家mcp
MCP服务器,结合 Nst浏览器 配置文件管理 剧作家 通过CDP(Chrome DevTools协议)实现浏览器自动化。
建立在官方之上 @playwright/mcp 软件包——所有浏览器自动化工具都由微软的Playwright MCP服务器提供,通过CDP连接到NSTBrowser配置文件。
特性
- 26个MCP工具 --20个浏览器自动化工具(来自
@playwright/mcp)+6个会话/配置文件管理工具 - 连接到现有的NSTBrowser配置文件或创建临时配置文件
- 具有会话切换功能的多会话支持
- Playwright浏览器完全自动化:导航、点击、打字、截图、JavaScript评估、拖放、表单填写等
- 控制台日志和网络请求跟踪
- AI驱动交互的可访问性快照
先决条件
- >= 20
- Nst浏览器 已安装并正在运行
- NSTBrowser API密钥
快速开始
克劳德代码
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.运作原理
- 会话创建 --当你打电话的时候
create_session,服务器连接到NSTBrowser的API以获取请求配置文件的CDP(Chrome DevTools协议)WebSocket URL。 - 剧作家MCP桥 --CDP端点传递给
@playwright/mcpscreateConnection,它创建了一个连接到该浏览器的完整Playwright MCP服务器实例。 - 工具代理 --在第一次会话创建时,浏览器工具从Playwright MCP实例中发现,并在我们的服务器上注册为代理工具。工具调用被转发到活动会话的Playwright MCP客户端。
- 多会话 --每个会话都有自己的Playwright MCP连接。切换会话将所有浏览器工具调用路由到新的活动会话。
发展
npm install
npm run build
npm test
npm run lint