modelscope·@samihalawa/mcp-ai-vision-debug-ui-automation
为克劳德和其他与MCP兼容的AI助手提供由AI驱动的视觉分析功能,使它们能够捕获和分析截图、执行文件操作以及生成UI/UX报告。
这是一个自主调试的MCP服务器,它通过Playwright使AI模型能够分析、调试和与Web界面交互。该服务器让任何AI模型(即使是没有内置视觉能力的模型)都能够对网页进行视觉检查,发现UI错误,测试用户工作流程,并验证应用程序性能——所有这些都不需要人工干预。

这个MCP服务器作为一个由AI驱动的自主调试代理,可以:
该服务器设计为智能工作,重用浏览器会话,避免不必要的文件创建,并专注于您应用程序最重要的方面。
安装此MCP服务器最简单的方法是通过任何兼容MCP的网关:
bash
claude-gateway install visual-ui-debug-agent-mcp
使用我们的一行安装脚本:
bash curl -s https://raw.githubusercontent.com/samihalawa/visual-ui-debug-agent-mcp/main/scripts/install-global.sh | bash
对于全局安装,可以通过npm:
bash
npm install -g visual-ui-debug-agent-mcp
visual-ui-debug-agent-mcp
对于容器化部署:
bash
docker pull samihalawa/visual-ui-debug-agent-mcp:latest
docker run -p 8080:8080 samihalawa/visual-ui-debug-agent-mcp:latest
此包完全兼容Smithery,使用包含的配置文件:
bash
smithery install visual-ui-debug-agent-mcp
npm run smithery:key YOUR_SMITHERY_API_KEY
完整的安装和使用说明,请参阅Smithery集成指南。
enhanced_page_analyzer 🔍提供带有交互元素映射、性能指标和视觉检查的网页综合分析。
javascript const analysis = await mcp.callTool("enhanced_page_analyzer", { url: "https://example.com/dashboard", includeConsole: true, mapElements: true, fullPage: true });
ui_workflow_validator 🔄通过执行并验证一系列UI交互来自动测试完整的用户旅程。
javascript
const result = await mcp.callTool("ui_workflow_validator", {
startUrl: "https://example.com/login",
taskDescription: "用户登录流程",
steps: [
{ description: "输入用户名", action: "fill", selector: "#username", value: "test" },
{ description: "输入密码", action: "fill", selector: "#password", value: "pass" },
{ description: "点击登录", action: "click", selector: "button[type= submit ]" },
{ description: "验证仪表板加载", action: "verifyElementVisible", selector: ".dashboard" }
],
captureScreenshots: "all"
});#### 3. visual_comparison 👁️
比较两个网页或UI状态以识别视觉差异。
javascript const diff = await mcp.callTool("visual_comparison", { url1: "https://example.com/before", url2: "https://example.com/after", threshold: 0.05 });
screenshot_url 📸捕获任何URL的高质量截图,并可选择全页或特定元素。
javascript const screenshot = await mcp.callTool("screenshot_url", { url: "https://example.com/profile", fullPage: true, device: "iPhone 13" });
batch_screenshot_urls 📷在一个操作中对多个URL进行截图,以便高效比较。
javascript const screenshots = await mcp.callTool("batch_screenshot_urls", { urls: ["https://example.com/page1", "https://example.com/page2"], fullPage: true });
navigation_flow_validator 🧭测试多步骤导航序列并进行验证。
javascript const navResult = await mcp.callTool("navigation_flow_validator", { startUrl: "https://example.com", steps: [ { action: "click", selector: "a.products" }, { action: "wait", waitTime: 1000 }, { action: "click", selector: ".product-item" } ], captureScreenshots: true });
api_endpoint_tester 🔌测试多个API端点并验证响应以进行后端验证。
javascript const apiTest = await mcp.callTool("api_endpoint_tester", { url: "https://api.example.com/v1", endpoints: [ { path: "/users", method: "GET" }, { path: "/products", method: "GET" } ], authToken: "Bearer token123" });
dom_inspector 🔬详细检查DOM元素及其属性。
javascript const elementInfo = await mcp.callTool("dom_inspector", { url: "https://example.com", selector: "nav.main-menu", includeChildren: true, includeStyles: true });
console_monitor 📟监控并捕获控制台日志以检测错误。
javascript const logs = await mcp.callTool("console_monitor", { url: "https://example.com/app", filterTypes: ["error", "warning"], duration: 5000 });
performance_analysis ⚡测量和分析页面加载性能指标。
javascript const perfMetrics = await mcp.callTool("performance_analysis", { url: "https://example.com/dashboard", iterations: 3 });
screenshot_local_files 📁对本地HTML文件进行截图。
javascript const localScreenshot = await mcp.callTool("screenshot_local_files", { filePath: "/path/to/local/file.html" });
完整的低级Playwright控制集,用于精确自动化:
playwright_navigate: 导航到特定URLplaywright_click: 点击元素playwright_iframe_click: 点击iframe内的元素playwright_fill: 填充表单字段playwright_select: 选择下拉选项playwright_hover: 悬停在元素上playwright_evaluate: 在页面上下文中运行JavaScriptplaywright_console_logs: 获取控制台日志playwright_get_visible_text: 提取可见文本playwright_get_visible_html: 获取可见HTMLplaywright_go_back: 后退playwright_go_forward: 前进playwright_press_key: 按键盘键playwright_drag: 拖放元素playwright_screenshot: 截图MCP服务器可以通过组合工具自主执行完整的调试工作流。例如:
javascript // 1. 分析当前版本 const currentAnalysis = await mcp.callTool("enhanced_page_analyzer", {...});
// 2. 与先前版本比较 const comparisonResult = await mcp.callTool("visual_comparison", {...});
// 3. 生成视觉差异报告 const report = await mcp.callTool("ui_workflow_validator", {...});### 端到端用户流程验证 javascript // 1. 从登录流程开始 const loginResult = await mcp.callTool("ui_workflow_validator", {...});
// 2. 验证核心功能 const featureResults = await mcp.callTool("navigation_flow_validator", {...});
// 3. 测试 API 端点 const apiResults = await mcp.callTool("api_endpoint_tester", {...});
javascript // 1. 分析初始性能 const initialPerformance = await mcp.callTool("performance_analysis", {...});
// 2. 识别加载缓慢的元素 const elem…
ModelContextProtocol服务器适用于Magic UI,它通过提供诸如跑马灯、动画、特效和互动背景等组件的代码,使AI助手能够轻松为Web应用程序实现UI组件。
一个提供网页开发工具的MCP服务器,例如屏幕捕捉功能,可以让AI代理获取并处理用户屏幕的截图。
一个由人工智能驱动的工具,可以从自然语言描述生成现代UI组件,并与流行的IDE集成,以简化UI开发工作流程。
通过模型上下文协议(MCP)将Blender连接到Claude AI,使Claude能够直接与Blender交互并对其进行控制,从而实现AI辅助的3D建模、场景操作和渲染。
集成了Dify AI API,为Ant Design组件提供代码生成服务,支持文本和图像输入,并具备流式处理能力。
一种模型上下文协议服务器,提供创建、管理和导出Excalidraw绘图的API功能,支持SVG、PNG和JSON等多种格式。