mcpField
P
pilot-mcp — Fast Browser Automation MCP Server

pilot-mcp — Fast Browser Automation MCP Server

本地服务
github.com/TacosyHorchata浏览器自动化3217 周前更新

关于 pilot-mcp — Fast Browser Automation MCP Server

面向 AI Agent 的浏览器自动化 MCP 服务,默认使用进程内 Playwright 隔离会话。适合 QA 自动化与需要截图证据的场景,并以较小的快照控制上下文长度。

主要功能

  1. 01默认原生 Playwright 隔离浏览器会话
  2. 02按档位加载 9、40 或 69 个工具
  3. 03快照差异比对,仅返回变化内容
  4. 04从本机浏览器导入 Cookie
  5. 05支持 iframe 与人工接管 CAPTCHA

适用场景

  1. 01并行执行 QA 自动化测试并保存截图
  2. 02让 AI Agent 访问页面并总结内容
  3. 03在需要已登录状态时通过扩展模式复用真实 Chrome 配置

MCP 相关

该项目是 MCP 服务,通过 stdio 向 Claude Code、Cursor 等 MCP 客户端提供浏览器操作工具,包括导航、点击、填写、截图和快照差异等。

配置

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

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

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

安装包
npmpilot-mcp

工具

30

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

参数类型必填说明
urlstring是要导航到的 URL(例如,“https://example.com”)

详细介绍

pilot — 面向 AI Agent 的浏览器自动化 MCP

npm license stars

默认使用由 Playwright 驱动的原生浏览器会话。QA 自动化无需 Chrome 扩展。

pilot 演示

Pilot 提供两种浏览器后端:

  • 原生模式(默认):隔离的 Playwright 浏览器上下文。这是并行 QA 自动化和可靠截图的受支持方式。
  • 扩展模式(旧版/可选启用):连接到你的真实 Chrome 配置文件,以便使用现有 Cookie 和已登录的会话。

原生模式完全不使用 chrome.tabs.captureVisibleTab(),因此截图不受 Chrome 是否处于前台、标签页是否可见且处于活动状态,或扩展服务工作线程是否刚刚启动的影响。


工作原理

AI Agent → MCP Server → Broker on 127.0.0.1:3131 → Native browser session
         (stdio)       (first process owns broker)  (Playwright context/page)
  1. Pilot 作为 MCP 服务运行 — Claude Code、Cursor 或任何 MCP 客户端通过 stdio 连接
  2. 第一个 Pilot 进程成为本地主机上的代理
  3. 后续 Pilot 进程作为代理客户端连接
  4. 每个会话都拥有隔离的原生浏览器上下文/页面
  5. 截图由 Playwright 获取,而不是通过 Chrome 扩展截图 API

快速开始

1. 添加 MCP 服务
codex mcp add pilot \
  --env PILOT_BROWSER_MODE=native \
  --env PILOT_PROFILE=full \
  -- npx -y pilot-mcp

对于本地检出:

npm install
npm run build
codex mcp add pilot \
  --env PILOT_BROWSER_MODE=native \
  --env PILOT_PROFILE=full \
  -- node /absolute/path/to/pilot/dist/index.js
2. 开始使用

“打开 https://example.com,截一张图,并总结页面内容。”

无需安装扩展,也不要求 Chrome 处于前台。

有关原生模式操作、压力测试命令和清理检查的完整说明,请参阅 docs/native-mode.md。


精简快照

其他工具会将每个页面中超过 50K 个字符的内容转储到上下文窗口。Pilot 会控制内容长度:

Other tools:   navigate(58K) → navigate(58K) → answer        = 116K chars
Pilot:         navigate(2K)  → navigate(2K)  → snapshot(9K)  =  13K chars

snapshot_diff 仅显示操作之间发生的变化,不会重复读取未更改的内容。

上下文更少 = 响应更快、API 调用成本更低、幻觉更少。


Pilot 与 @playwright/mcp 对比

Pilot@playwright/mcp
浏览器默认使用原生 Playwright 上下文;通过旧版扩展连接真实 Chrome新建 Chromium 实例
认证状态默认隔离的原生环境;扩展模式可使用真实 Chrome Cookie匿名 — 需手动设置
机器人检测自动化使用原生模式;真实配置文件交接使用扩展模式被 Cloudflare 拦截
快照大小导航约 2K,完整快照约 9K约 50-60K
快照差异pilot_snapshot_diff❌
Cookie 导入Chrome、Arc、Brave、Edge、Comet手动导入 JSON
iframe✅❌
工具配置core(9 个)/standard(40 个)/full(69 个)--caps 分组
传输方式stdiostdio、HTTP、SSE

3 种配置,涵盖 69 个工具

工具列表越长,大模型的表现越差。只加载你需要的内容:

配置工具数包含内容
core9navigate、snapshot、click、fill、type、press_key、wait、screenshot、snapshot_diff
standard40Core + pilot_act、pilot_guide、evidence、doctor/reset、tabs、scroll、hover、drag、iframes、auth、block、find
full69Standard + 网络拦截、断言、剪贴板、地理位置、CDP、evaluate、PDF、响应式、深度检查
{
  "mcpServers": {
    "pilot": {
      "command": "npx",
      "args": ["-y", "pilot-mcp"],
      "env": { "PILOT_PROFILE": "standard" }
    }
  }
}

默认配置:standard。完整工具参考 →


原生模式

原生模式为默认模式:

PILOT_BROWSER_MODE=native

适用于 QA 自动化、并行 MCP 会话和截图取证。

在 QA 运行前验证:

PILOT_HEADLESS=1 npm run stress:screenshots
npm run stress:codex

预期结果:两者均报告 6/6 passed。

扩展模式

扩展模式为旧版功能,默认不启用:

PILOT_BROWSER_MODE=extension

仅当你需要使用用户已通过身份验证的真实 Chrome 配置文件时,才使用此模式。

从真实浏览器导入 Cookie:pilot_import_cookies({ browser: "chrome", domains: [".github.com"] })

支持通过 macOS Keychain / Linux libsecret 使用 Chrome、Arc、Brave、Edge、Comet。遇到 CAPTCHA 时:pilot_handoff → 你进行处理 → pilot_resume。


要求

  • Node.js >= 18
  • Playwright Chromium
  • macOS 或 Linux
  • 仅扩展模式:Chrome + Pilot 扩展

如果缺少 Chromium:

npx playwright install chromium

安全性

  • 扩展仅通过 localhost(127.0.0.1)通信
  • 原生代理仅通过 localhost(127.0.0.1)通信
  • 每个 MCP 会话的原生会话都使用隔离的浏览器上下文
  • 输出路径验证可防止在 PILOT_OUTPUT_DIR 之外写入文件
  • 所有文件操作均提供路径遍历保护
  • PILOT_PROFILE 控制要公开哪些工具(core / standard / full)

致谢

核心架构——基于引用的元素选择、快照差异比较和带注释的屏幕截图——移植自 Garry Tan 的 gstack。基于 Playwright 和 MCP SDK 构建。


如果 Pilot 对你有帮助,请为仓库点亮星标,这能帮助其他人发现它。

评论

支持 Markdown

第一次接触 MCP?

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

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