WaveXisMCP 是一个 MCP(Model Context Protocol)服务器,将 wavexis 浏览器自动化库暴露给大语言模型(LLM),使 LLM 能够通过工具调用来控制浏览器。它提供 220 个工具,覆盖 Chrome、Edge 和 Firefox,基于 CDP(Chrome DevTools Protocol)和 BiDi(WebDriver BiDi)协议。项目完全使用 Python 编写,无需 Node.js,也无需下载 Chromium,直接启动用户已有的 Chrome 或 Edge 安装。
主要能力
- 220 个工具,按 13 个能力层级(capability tiers)组织,可通过 --caps 参数按需启用。默认核心层(core)包含 72 个工具,全部启用为 --caps=all。
- 双后端:CDP 后端(cdpwave)默认包含,直接通过 WebSocket 连接 Chrome/Edge,无需驱动;BiDi 后端(bidiwave)支持 Firefox 和 Chrome,需要 chromedriver 或 geckodriver,可从 PATH 自动启动。
- 隐身模式:设置 stealth=true 可隐藏 navigator.webdriver,伪造插件、语言和 chrome 运行时信息。
- 结构化错误:每个错误都包含 suggestion 字段,引导 LLM 自行纠正,无需人工干预。
- 多动作 YAML:在单次工具调用中链式执行 navigate → click → fill → screenshot 等操作,支持 continue_on_error。
- 原始 CDP/BiDi 访问:为专用工具未覆盖的浏览器功能提供逃生通道。
- 附加功能:Lighthouse 审计、WebAuthn、蓝牙、Cast 等。
- 安全内置:SSRF 防护、路径沙箱、速率限制。
- 测试:700+ 测试,强制 90% 覆盖率,使用真实 Chrome 进行端到端测试。
使用方式 将 WaveXisMCP 添加到 MCP 客户端配置(如 Claude Desktop、Cursor、Windsurf、VS Code)后,即可让 LLM 调用工具。例如要求 LLM 对 https://example.com 进行全页截图,LLM 会调用 wavexis_screenshot(url="https://example.com", full_page=true) 并返回截图。
支持两种模式:
- 无状态模式:调用任意工具时传入 url 参数,浏览器自动启动、执行并关闭。
- 会话模式:打开一个持久浏览器会话,链式执行多个工具调用,完成后关闭,避免每次操作都启动浏览器。
自然语言交互:使用 wavexis_act 工具,通过自然语言指令与页面交互。该工具会获取可访问性快照,使用关键词评分将指令匹配到元素,并执行检测到的动作(点击、输入、填充、悬停),不调用外部 LLM,纯启发式匹配。
连接已有 Chrome:使用 connect_existing=True 启动 Chrome 并开启 --remote-debugging-port,然后连接,可复用已登录的浏览器配置文件。Chrome 以有头模式启动,会话关闭时终止浏览器子进程。
MCP 资源与提示:提供只读浏览器状态资源(当前 URL、cookies、控制台消息、打开的标签页)和工作流模板提示(scrape_page、audit_page、fill_form、debug_page)。
HTTP 服务器模式:可作为 HTTP 服务器运行,用于 CI/CD、共享实例或 Docker,默认绑定 127.0.0.1,使用 --allow-remote 可绑定 0.0.0.0。
速率限制:支持按会话的令牌桶速率限制,超出时返回结构化错误,可通过 --rate-limit 0 禁用。
环境要求
- Python 3.11、3.12 或 3.13
- 浏览器:Google Chrome、Microsoft Edge 或任何基于 Chromium/Chrome 的浏览器
- BiDi 后端(可选):Chrome 需要 ChromeDriver/EdgeDriver,Firefox 需要 geckodriver
安装 CDP 后端默认包含。BiDi 后端安装:pip install "wavexis-mcp[bidi]"。也可不安装直接运行(推荐方式,具体命令见官方文档)。
适用场景
- 让 LLM 执行浏览器截图、页面交互、数据抓取、表单填写、性能审计等任务。
- 需要复用已登录浏览器会话的自动化流程。
- 在 CI/CD 或 Docker 中运行共享的浏览器自动化服务。
限制
- 不支持 WebKit(Safari),Playwright MCP 支持而 WaveXisMCP 暂不支持。
- 每个能力层级都会向 LLM 上下文添加工具定义,消耗 token,建议按需启用。
- 连接已有 Chrome 时以有头模式启动,headless 参数被忽略。
- 部分功能(如 Lighthouse 审计、WebAuthn、蓝牙、Cast)的具体使用细节需参考官方文档。
项目地址:https://github.com/MathiasPaulenko/wavexis-mcp 完整文档、API 参考和示例托管于 mathiaspaulenko.github.io/wavexis-mcp。