mcpField
V
Vuda (visual Ui Debug Agent)

Vuda (visual Ui Debug Agent)

远程服务
github.com/samihalawaAI 与智能体8411 周前更新
代码仓库

关于 Vuda (visual Ui Debug Agent)

Vuda 是通过 Playwright 检查和测试网页界面的 MCP 服务,供兼容 MCP 的 AI 客户端使用。它支持本地或远程浏览器,并提供截图、DOM 检查、工作流验证和视觉比较工具。

主要功能

  1. 01页面与元素截图
  2. 02DOM 和计算样式检查
  3. 03多步骤 UI 工作流验证
  4. 04控制台与性能监测
  5. 05视觉状态对比
  6. 06站点地图爬取与 API 测试

适用场景

  1. 01检查网页布局及交互元素
  2. 02验证用户操作流程
  3. 03比较页面改动前后的视觉结果
  4. 04排查浏览器控制台错误

MCP 相关

Vuda 通过 stdio 提供 MCP 服务,向客户端开放 29 个浏览器检查与测试工具。它还通过 MCP 资源提供截图、浏览器状态和调试提示词。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://github.com/samihalawa/visual-ui-debug-agent-mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
ocisamihalawa/visual-ui-debug-agent-mcp

工具

详细介绍

VUDA — 视觉 UI 调试 Agent

构建状态 npm 版本 npm 下载量 GitHub 星标 最近提交 ISC 许可证

为兼容 MCP 的 AI 客户端提供真实浏览器、屏幕截图、DOM 检查、工作流验证、控制台捕获、API 检查和视觉对比。
29 个 MCP 工具 · 本地、Browserbase、Anchor 或任何 CDP 浏览器 · Node.js 20+

VUDA 的功能

VUDA(Visual UI Debug Agent)是一个基于 Model Context Protocol 的服务,可使用 Playwright 检查和测试 Web 界面。MCP 服务通过标准输入/输出在本地运行;其浏览器可以在本地、Browserbase、Anchor Browser 上运行,也可以连接到现有的 CDP 端点。所有工具都使用同一个已选定的浏览器运行环境。

  • 捕获整页、视口、元素、本地文件和批量屏幕截图。
  • 映射交互元素,并检查渲染后的 DOM 和计算样式。
  • 执行多步 UI 工作流,同时保留浏览器状态。
  • 监控控制台输出并分析页面性能。
  • 对比两种渲染状态并返回视觉差异。
  • 遍历站点地图并调用 API 端点进行测试。
  • 模拟受支持的 Playwright 设备。

VUDA 功能:屏幕截图、工作流、性能、API 测试和视觉对比

快速开始

1. 运行 VUDA
npx -y visual-ui-debug-agent-mcp

默认的 local 模式需要兼容 Chromium 的浏览器。如果尚未安装,请安装对应的浏览器:

npx playwright install chromium
2. 将其添加到 MCP 客户端
{
  "mcpServers": {
    "vuda": {
      "command": "npx",
      "args": ["-y", "visual-ui-debug-agent-mcp"]
    }
  }
}

更改 MCP 配置后,请重启客户端。服务会将协议消息写入 stdout,并将诊断信息写入临时日志文件。

本地模式无需提供商账号。

Docker 用户可以使用相同的 stdio 传输方式:

{
  "mcpServers": {
    "vuda": {
      "command": "docker",
      "args": ["run", "--interactive", "--rm", "ghcr.io/samihalawa/visual-ui-debug-agent-mcp:latest"]
    }
  }
}

如需在 Docker 中使用文件里的提供商凭据,请在 args 数组的 "run" 后立即添加 "--env-file", "/absolute/path/to/.env"。

3. 试用

让客户端执行以下操作:

Use VUDA to inspect https://example.com, capture a screenshot, list the
interactive elements, and report console errors and obvious layout issues.

工具参考

分析与捕获
工具用途
enhanced_page_analyzer屏幕截图、控制台、性能和交互元素分析
screenshot_url捕获 URL、视口、整页或指定元素
batch_screenshot_urls捕获多个 URL,便于并排查看
screenshot_local_files渲染并捕获本地 HTML 文件
dom_inspector返回元素属性、子元素和计算样式
visual_comparison对比两个渲染页面或元素
工作流、诊断和 API
工具用途
ui_workflow_validator执行并验证描述的用户操作流程
navigation_flow_validator验证一系列浏览器操作
console_monitor在一段时间内捕获浏览器控制台消息
performance_analysis收集导航和页面性能指标
api_endpoint_tester测试多个 HTTP 端点
sitemap_crawler从站点地图发现并检查页面
tunnel_helper存储或检索远程隧道 URL 和设置指南
debug_memory在单次服务会话期间保存简短的调试笔记
直接控制 Playwright

playwright_navigate、playwright_click、playwright_iframe_click、playwright_fill、playwright_select、playwright_hover、playwright_evaluate、playwright_console_logs、playwright_get_visible_text、playwright_get_visible_html、playwright_go_back、playwright_go_forward、playwright_press_key、playwright_drag 和 playwright_screenshot。

配置

VUDA 会正常读取环境变量,并自动从其工作目录加载 .env。从源代码检出版本运行时,请复制 .env.example。对于 npx 安装,请将 .env 放在 MCP 进程的工作目录中、在客户端配置中传入变量,或将 DOTENV_CONFIG_PATH 设置为 .env 的绝对路径。

选择浏览器
模式所需配置账户状态
本地(默认)VUDA_BROWSER_PROVIDER=localVUDA_STORAGE_STATE_PATH、Cookie JSON 或 Cookie 文件
BrowserbaseVUDA_BROWSER_PROVIDER=browserbase、BROWSERBASE_API_KEY重用 BROWSERBASE_CONTEXT_ID 或注入 Cookie
Anchor BrowserVUDA_BROWSER_PROVIDER=anchor、ANCHOR_API_KEY在 VUDA_ANCHOR_SESSION_JSON 中使用 Anchor 配置文件,或注入 Cookie
现有浏览器VUDA_BROWSER_PROVIDER=cdp、VUDA_CDP_URL使用该浏览器上下文;Cookie 注入为可选项

Browserbase 示例:

VUDA_BROWSER_PROVIDER=browserbase
BROWSERBASE_API_KEY=your_api_key
BROWSERBASE_PROJECT_ID=your_project_id
BROWSERBASE_CONTEXT_ID=your_saved_context_id

使用持久化认证配置文件的 Anchor Browser 示例:

VUDA_BROWSER_PROVIDER=anchor
ANCHOR_API_KEY=your_api_key
VUDA_ANCHOR_SESSION_JSON={"browser":{"profile":{"name":"vuda","persist":true}}}

所有 29 个工具在每种模式下都保留原有名称和输入。读取 MCP 资源 browser://status,确认所选提供商、当前连接状态、会话 ID,以及是否有可用的实时视图。绝不会返回 CDP 和实时视图 URL。

导入 Cookie 或本地状态

所有提供商都支持注入 Cookie。可内联提供 Playwright Cookie 数组,也可通过文件提供:

VUDA_COOKIES_FILE=/absolute/path/to/cookies.json
# VUDA_COOKIES_JSON=[{"name":"session","value":"...","domain":"example.com","path":"/"}]

对于本地模式,VUDA_STORAGE_STATE_PATH 会加载 Playwright 存储状态文件。设置 VUDA_PERSIST_STORAGE_STATE=true 后,VUDA 正常退出时会将更新后的状态写回。对于需要在多个云端会话之间保留的状态,Browserbase Contexts 和 Anchor 配置文件是提供商原生的选择。

无需额外的包装器或 SDK,即可使用特定于提供商的会话选项:

  • VUDA_BROWSERBASE_SESSION_JSON 会合并到 Browserbase 的创建会话请求中。
  • VUDA_ANCHOR_SESSION_JSON 会作为 Anchor 的创建会话请求发送。
超时

所有超时设置均为可选:

变量默认值用途
VUDA_DEFAULT_TIMEOUT15000Playwright 通用超时,单位为毫秒
VUDA_NAVIGATION_TIMEOUT15000导航超时
VUDA_SELECTOR_TIMEOUT12000选择器等待超时
VUDA_STABILITY_WAIT5000导航后、捕获前的延迟
VUDA_UI_UPDATE_WAIT1000短暂 UI 更新的延迟
VUDA_PERFORMANCE_THRESHOLD15000慢速页面阈值
VUDA_INTERACTION_DELAY500直接交互之间的延迟

示例:

{
  "mcpServers": {
    "vuda": {
      "command": "npx",
      "args": ["-y", "visual-ui-debug-agent-mcp"],
      "env": {
        "VUDA_NAVIGATION_TIMEOUT": "30000",
        "VUDA_STABILITY_WAIT": "2000"
      }
    }
  }
}

开发

git clone https://github.com/samihalawa/visual-ui-debug-agent-mcp.git
cd visual-ui-debug-agent-mcp
npm ci
npm test

npm test 会构建 TypeScript 服务,通过 MCP stdio 传输启动该服务,验证准确的 29 个工具清单,读取捆绑资源,执行有状态的工具调用,并捕获真实的浏览器截图。

它还会验证 Browserbase 和 Anchor 的会话请求与清理格式、CDP 选择、Cookie 加载,以及爬虫的浏览器初始化。在 CI 中,提供商调用使用确定性模拟;如需建立实时云端会话,请使用你自己的 .env。

提交拉取请求前,还请运行:

npm audit
npm pack --dry-run

架构

VUDA 架构

VUDA 在所有提供商之间共用一个 Playwright 控制平面。本地模式会为页面级分析创建隔离上下文;远程模式会复用提供商上下文,让经过身份验证的状态在不同工具之间保留。VUDA 会将截图作为 MCP 图像内容返回,并将生成的截图、浏览器状态和调试提示词作为 MCP 资源公开。

贡献

欢迎提交问题和聚焦明确的拉取请求。开发工作流和审查清单请参阅 CONTRIBUTING.md。发布历史记录在 CHANGELOG.md 中。

许可证

ISC © 2023–2026 Sami Halawa 和贡献者。

评论

支持 Markdown

第一次接触 MCP?

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

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