关于 headlessstage
headlessstage 是通过注入兼容 Puppeteer 的执行器进行浏览器自动化的命令行工具和 stdio MCP 服务,支持页面交互、截图和 JavaScript 执行,但不附带浏览器。
主要功能
- 01导航至 URL
- 02点击、悬停和操作表单
- 03截取页面或元素截图
- 04在页面中执行 JavaScript
- 05需要注入浏览器执行器
适用场景
- 01自动填写浏览器表单
- 02截取页面或元素截图
- 03在自动化过程中对页面运行 JavaScript
MCP 相关
提供浏览器导航、截图、点击、悬停、表单交互和 JavaScript 执行的 MCP 工具。必须注入兼容 Puppeteer 的浏览器执行器;软件包不附带浏览器。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
7收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| url | string | 是 | 要将浏览器导航到的 URL |
| launchOptions | object | 否 | 浏览器实例的可选 Puppeteer 启动选项对象 |
| allowDangerous | boolean | 否 | 是否允许危险的启动选项,例如禁用浏览器沙箱 |
详细介绍
headlessstage
通过无头浏览器页面进行浏览器自动化,集 CLI 和 stdio MCP 服务于一个二进制文件中。导航至 URL、点击、悬停、填写和选择表单元素、截取命名截图,并在页面中执行 JavaScript。
浏览器本身通过可注入的执行器接口(src/types.ts 中的 BrowserExecutor)接入。本软件包不捆绑浏览器,也不会下载浏览器:未配置执行器时,浏览器命令会报出清晰的“Browser unavailable”错误。部署时注入一个兼容 Puppeteer 的执行器,即可驱动真实浏览器。除非调用明确传入 allowDangerous: true,否则会拒绝会削弱浏览器安全性的启动选项(--no-sandbox、--disable-web-security、--allow-insecure-localhost)。
安装
npx -y @reneturcios/headlessstage mcp
CLI
headlessstage mcp # stdio MCP server
headlessstage navigate <url>
headlessstage screenshot <name> [selector]
headlessstage click <selector>
headlessstage fill <selector> <value>
headlessstage evaluate <script>
headlessstage --version
退出代码:0 表示成功,1 表示浏览器错误,2 表示用法错误。
MCP 工具
| 工具 | 用途 |
|---|---|
puppeteer_navigate | 在浏览器中导航至任意 URL |
puppeteer_screenshot | 截取整个页面或特定元素的截图 |
puppeteer_click | 点击页面上的元素 |
puppeteer_hover | 将鼠标悬停在页面上的元素上 |
puppeteer_fill | 填写输入字段 |
puppeteer_select | 选择带有 SELECT 标签的元素 |
puppeteer_evaluate | 在浏览器控制台中执行 JavaScript |
MCP 客户端配置:
{
"mcpServers": {
"headlessstage": {
"command": "npx",
"args": ["-y", "@reneturcios/headlessstage", "mcp"]
}
}
}
Docker
docker run -i ghcr.io/cloudcorprecords/headlessstage # MCP server
docker run --rm ghcr.io/cloudcorprecords/headlessstage --version
开发
npm install
npm run build
npm test
MIT 许可证。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。