Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_MODENoMCP 运行模式(stdio/http)stdio
MCP_HTTP_PORTNoHTTP 端口3456
SCREENSHOT_QUALITYNo截图质量80
VALIDPILOT_ARTIFACTS_DIRNo证据存放目录./artifacts

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}
prompts
{
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
api_probeA

API endpoint prober: sends multiple HTTP methods (GET/POST/PUT/DELETE/PATCH/OPTIONS) to the target URL, analyzes response status, content-type, and CORS configuration. Supports custom headers and body, suitable for API security testing and endpoint discovery.

中文详情:

  • 用途:API 端点探测工具,向目标 URL 发送多种 HTTP 方法,分析响应状态、内容类型和 CORS 配置,支持自定义请求头和请求体

  • 何时使用:API 安全测试时探测允许的方法;CORS 配置验证时;端点发现/枚举时;OPTIONS 预检请求行为验证时

  • 输出:{ ok: boolean, url: string, results: array, corsAnalysis: object } — results 每项含 { method, status, contentType, contentLength, allowed }; corsAnalysis 含 { enabled, allowedOrigins, allowCredentials }

  • 参数:

    • url (string, 必填):目标 API URL

    • methods (array, 可选):要测试的 HTTP 方法列表,默认 ["GET","POST","PUT","DELETE","PATCH","OPTIONS"]

    • headers (object, 可选):自定义请求头,如 {"Authorization":"Bearer token","Content-Type":"application/json"}

    • body (string, 可选):请求体(POST/PUT/PATCH 方法使用)

    • checkCors (boolean, 可选):是否分析 CORS 配置,默认 true

  • 错误:URL 不可达抛出 'Request failed';methods 为空数组使用默认方法列表

  • 示例:{"url":"https://api.example.com/users","methods":["GET","POST","OPTIONS"],"headers":{"Authorization":"Bearer token"},"checkCors":true}

arch_reverse_probe

开源版架构逆向探测:通过浏览器可访问的信号逆向识别目标站点的基础架构。包括:1) 技术栈版本指纹(前端框架+版本号);2) 中间件链推断(Server 头、X-Powered-By、CSP、CORS);3) 端口旁路探测(同源常见端口 80/443/3000/8080/8000/5000 是否可达);4) 容器化信号检测(Docker/K8s 元数据泄露、.dockerenv 探测);5) CVE 初筛(基于识别到的版本号匹配已知 CVE)。不依赖 SSH/DB 权限,纯前端可访问信号。

asset_discoveryA

v1.9.5 起合并 asset_routes_discover / asset_endpoint_enum / asset_endpoint_probe 三大资产发现工具。通过 mode 参数切换:routes=前端路由发现;enum=API 端点枚举;probe=端点主动探测。需要先 browser_open 打开页面。

asset_endpoint_enum

开源版浅层 API 端点枚举:结合 network 日志(真实调用过的端点)与 DOM/内联脚本/外部 JS bundle 静态解析(fetch/axios/REST 路径),输出候选 API 端点、方法猜测与来源置信度。仅做被动分析,不做参数 Fuzz 或越权探测。需要先 browser_open 打开页面。

asset_endpoint_probe

开源版端点主动探测:对常见的 20+ 通用端点进行主动 GET/HEAD 请求探测,识别可访问的端点、返回状态码、响应大小等信息。探测列表涵盖认证、用户、订单、配置等常见业务模块。

asset_routes_discoverA

开源版浅层路由发现:从 DOM 链接、hash 路由、内联脚本、已加载 JS bundle 以及 network 日志中静态提取前端路由(SPA / hash / REST 路径)。仅做被动分析,不发起主动探测或越权访问。需要先 browser_open 打开页面。

atl_fix

基于ATL似然比学习结果执行自动修复,支持代码修改、配置调整、数据库迁移等非纯文本修复操作。

atl_learn

基于历史修复模式库的ATL似然比学习机制,分析当前错误与历史修复案例的匹配度,计算贝叶斯后验概率,推荐最可能的根因和修复方案。

browser_a11y_checkA

Run an axe-core accessibility check on the current page, supporting scan-scope restriction, exclude regions, and rule-tag filtering, returning a violations summary.

中文详情:

  • 用途:使用 axe-core 对当前页面执行可访问性检查,支持限定扫描范围、排除区域和规则标签过滤,返回 violations 摘要

  • 何时使用:上线前 WCAG 合规检查时;可访问性自动化回归时;排查元素缺少 aria-label/alt 时;针对特定组件做 a11y 局部扫描时

  • 输出:{ ok: boolean, url: string, total: number, violations: array, passes: number, incomplete: number, summary: string } — 每项含 { id, impact, tags, description, help, nodes: array }

  • 参数:

    • selector (string, 可选):CSS 选择器;指定后只扫描该区域

    • excludeSelectors (array, 可选):排除扫描的 CSS 选择器列表

    • tags (array, 可选):axe runOnly 标签,如 wcag2a/wcag2aa/best-practice

    • sessionName (string, 可选):浏览器会话名称,默认当前活跃会话

  • 错误:浏览器未启动抛出 'Browser not launched';selector 无匹配抛出 'element not found'

  • 示例:{"selector":"main","excludeSelectors":[".ad-banner"],"tags":["wcag2a","wcag2aa"]}

browser_anti_bot_detect

检测页面反爬机制(Cloudflare/JS Challenge/验证码/CAPTCHA等),提供绕过建议和缓解方案。支持检测主流反爬服务并给出风险评估。

browser_aria_click

通过可访问性树的 ref 稳定标识符点击元素。与 browser_aria_snapshot 配合使用:先用 snapshot 获取元素的 ref,再用此工具点击。不依赖 CSS 选择器,CSS 重构后定位仍然稳定有效。

browser_aria_snapshot

获取当前页面的可访问性树(Accessibility Tree)快照。每个元素包含 role、name、ref 稳定标识符、bounds 坐标和子节点。ref 基于 role+name+index 哈希生成,CSS 重构后仍保持稳定,适合用于 AI 驱动的元素定位。

browser_aria_typeA

通过可访问性树的 ref 稳定标识符定位元素并输入文本。与 browser_aria_snapshot 配合使用:先用 snapshot 获取元素的 ref,再用此工具输入文本。自动清空元素已有内容后再输入。不依赖 CSS 选择器,CSS 重构后定位仍然稳定有效。

browser_artifactsA

列出当前 MCP 浏览器验证产生的证据产物:截图、trace.zip、HAR、HTML reports、visual 视觉产物、日志文件和当前 checkpoint。

browser_artifacts_clear

清理截图、Trace、HAR、reports 和 visual 证据产物。默认不清理 MCP 日志,默认清理 visual 产物。

browser_assert

对当前真实浏览器页面执行标准断言:URL、文本、元素可见/隐藏、本轮无错误。返回每条断言的通过/失败详情。

browser_batch

批量执行多个浏览器操作,每个步骤包含type(操作类型: click/type/hover/scroll/screenshot等)、selector(选择器)、text(输入文本)等参数。支持最多20个操作。step.type 与 step.action 互为别名,二者至少传一个。

browser_captchaB

验证码处理工具(v1.9.5 起合并 browser_captcha_detect/read/screenshot)。通过 mode 参数区分子模式:detect(默认,检测验证码类型和复杂度)/ read(OCR 识别验证码文本)/ screenshot(精准截取验证码区域保存 PNG)。

browser_captcha_detect

检测页面中的验证码元素,返回验证码类型、复杂度、是否需要人工处理等信息。支持多种验证码模式:图片验证码、滑块验证码、点选验证码等。

browser_captcha_readA

读取页面中的验证码图片,支持从图片URL直接提取文字(适用于简单验证码服务),以及使用OCR识别复杂验证码。当识别失败或置信度较低时,会返回验证码图片供人工识别。

browser_captcha_screenshotA

精准截取验证码图片区域,保存为PNG文件。支持自动检测验证码位置或手动指定选择器。截图文件可用于后续OCR分析或人工识别。

browser_chainA

链式执行多个浏览器操作,每步操作后自动检查控制台错误和网络错误。发现错误可立即终止并返回失败步骤。支持强制执行模式,开启时强制进行错误检查且不可关闭。step.type 与 step.action 互为别名,二者至少传一个。

browser_clickA

Click a DOM element matched by CSS selector in a real browser. Returns multi-element hint (not timeout) when selector matches multiple elements; use index to pick which one.

中文详情:

  • 用途:在真实浏览器中模拟鼠标点击指定 CSS 选择器元素(按钮、链接、tab、复选框等)

  • 何时使用:触发导航或表单提交时;激活 UI 控件(展开菜单、切换 tab)时;验证按钮可点击性时;在 browser_snapshot 获取元素 ref 后进行交互时

  • 输出:{ ok: boolean, clickedSelector: string, beforeHash: string, afterHash: string, index: number } — afterHash 与 beforeHash 不同表示触发了页面变更

  • 参数:

    • selector (string, 必填):CSS 选择器,支持 Playwright 语法如 'button:has-text("Log In")' 或 '#submit-btn'

    • index (number, 可选):当选择器匹配多个元素时,指定点击第几个(从 0 开始),默认点击第一个

  • 错误:选择器无匹配抛出 'element not found';元素被遮挡抛出 'element not clickable'

  • 示例:{"selector":"#submit-btn","index":0}

browser_click_auditA

Audit a single click: screenshot before→click→wait→screenshot after→image diff→error collection→return. One call replaces 6+ individual tool calls for click-through validation loops. Returns navigation status, visual diff ratio, console/network errors, silentFail errors (HTTP 2xx with error body), and screenshot paths.

browser_consoleA

查看浏览器控制台日志,支持按类型过滤(level: log/warning/error/debug/info)。

覆盖范围:所有 console.error/warn/log/debug、window.onerror 同步异常、unhandledrejection 未处理 Promise 拒绝。

边界说明:

  • 跨域脚本(Script error.):当 标签指向第三方域名且缺少 crossorigin="anonymous" 属性时,只能显示 'Script error.' 而无法获取详情。已自动检测并标记 crossOrigin:true。

  • 极端早期错误:在 addInitScript 执行前发生的 inline 内联同步错误可能遗漏。CDP 层 page.on('console') 可捕获大部分,但 document.write() 中的错误可能被页面渲染流程吞没。

browser_cookiesA

查看和管理浏览器Cookie。支持获取所有Cookie、按域名筛选、设置Cookie、清除Cookie。返回Cookie总数、每个Cookie的详细信息(名称、值、域名、路径、过期时间、安全标志等)。调试时可快速查看登录态、Token等认证信息。

browser_counterfactual_analyzeA

反事实根因分析 - 当测试失败时,分析"如果消除因素X(遮挡物/JS错误/HTTP错误/加载问题),测试是否还会失败",自动生成根因假设并按置信度排序,给出验证工具建议

browser_data_compareB

数据一致性比对:提取页面表格、卡片、列表数据,与期望数据或基准数据进行比对,识别数据缺失、格式错误、内容差异。支持多种数据源:DOM表格、JSON响应、localStorage、API返回数据。

browser_debugA

浏览器调试诊断工具(v1.9.5 起合并 browser_debug_report/browser_diagnose/debug_investigate)。通过 mode 参数区分子模式:report(默认,生成调试报告汇总页面状态、错误日志、网络错误)/ diagnose(自动诊断浏览器错误根因,返回 rootCause/confidence/suggestedFixes)/ investigate(输入问题症状,自动汇总 errors/events/network/DOM/storage/artifacts 并输出假设和证据链)。

browser_debug_reportA

生成当前浏览器调试报告,汇总页面状态、错误日志、网络错误、可选 DOM 与存储信息

browser_diagnoseA

自动诊断浏览器错误根因。分析控制台错误、页面错误、网络错误、元素状态、JS执行状态,定位问题根源(如元素未加载、JS未执行、网络超时、权限不足等)。返回诊断报告含 rootCause、confidence、suggestedFixes、affectedElements。

browser_domA

Query detailed DOM state of a single element matched by CSS selector: visibility, text, attributes, computed style, and bounding box position.

中文详情:

  • 用途:查询指定 CSS 选择器元素的完整 DOM 状态,包括可见性、文本、属性、计算样式和位置坐标

  • 何时使用:点击/输入前确认元素存在且可见时;调试元素被遮挡问题时;验证元素属性(disabled/readonly/checked)时;获取元素位置坐标用于截图时

  • 输出:{ ok: boolean, selector: string, exists: boolean, visible: boolean, text: string, attributes: object, computedStyle: object, boundingBox: { x, y, width, height } }

  • 参数:

    • selector (string, 必填):要查询的 CSS 选择器

  • 错误:选择器无匹配返回 exists=false 但不抛出;选择器语法错误抛出 'Invalid selector'

  • 示例:{"selector":"#submit-btn"}

browser_element_statusA

诊断元素状态(可见性、可交互性、加载状态、遮挡情况、事件绑定)。快速判断元素为何无法点击/输入,返回具体原因(如被遮挡、不可见、disabled、未加载、动画中、z-index问题等)和修复建议。

browser_emulate_deviceB

模拟指定设备(iPhone/Android/平板)的完整特性,包括 User-Agent、视口尺寸、触摸事件、像素密度等。支持预设设备列表和自定义设备配置。

browser_errorsA

统一错误管理工具(v1.9.5 起合并 browser_errors_aggregate 和 browser_errors_clear)。通过 mode 参数区分子模式:view(默认,查看本轮 Console/PageError/HTTP 4xx 5xx/静默失败错误)/ aggregate(去重聚合并返回 Top errors)/ clear(清空错误日志并创建新 checkpoint)。

browser_errors_aggregateA

收集或接收浏览器 Console/Network/PageError/DOM 摘要,去重聚合并返回 Top errors;默认不返回完整日志。

browser_errors_clearA

清空当前浏览器运行时 Console/PageError/Network 错误日志并创建新的验证 checkpoint,用于隔离本轮验证错误。

browser_evalA

在当前浏览器页面执行调试 JavaScript 表达式并返回可序列化结果。返回值会自动脱敏 token、password、apiKey、Authorization 等敏感字段。

browser_eventsA

运行时事件管理工具(v1.9.5 起合并 browser_events_clear)。通过 mode 参数区分子模式:view(默认,查看 browser_instrument 捕获的事件流,支持按类型/URL/方法/状态码过滤)/ clear(清空运行时事件并创建新的事件 checkpoint)。

browser_events_clearA

清空 browser_instrument 捕获的运行时事件并创建新的事件 checkpoint。

browser_findA

智能查找工具(v1.9.5 起合并 browser_find_element/find_page)。通过 mode 参数区分子模式:element(默认,按文本描述或 ARIA 角色智能定位页面元素)/ page(按目标页面关键词定位页面,支持 SPA 按钮导航发现)。

browser_find_elementA

Smart element locator: find visible DOM elements by text description or ARIA role using multi-strategy matching (exact text > contains text > placeholder > aria-label > title/alt > fuzzy), returning CSS selectors and confidence scores sorted by score desc.

中文详情:

  • 用途:按自然语言文本描述或角色智能定位页面元素,返回 CSS 选择器、置信度和元素信息

  • 何时使用:不知道选择器但知道按钮文案时;UI 文案变化后定位元素时;批量自动化脚本根据文案定位时;测试无 id/name 属性的元素时

  • 输出:{ ok: boolean, results: array, total: number } — 每项含 { selector, text, role, tagName, confidence, visible }

  • 参数:

    • text (string, 必填):要查找的元素文本

    • role (string, 可选):元素角色,如 button/link/input/textbox/checkbox/radio/combobox

    • tagName (string, 可选):标签名过滤,如 button/a/input/div

    • onlyVisible (boolean, 可选):只返回可见元素,默认 true

    • limit (number, 可选):返回数量,默认 5

  • 错误:无匹配元素返回空数组但 ok=true;text 为空抛出 'Text is required'

  • 示例:{"text":"提交","role":"button","limit":3}

browser_find_pageA

Smart page discovery: locate target page (login/signup/home/dashboard/admin/settings/profile/etc.) by priority chain (URL path > title > CSS selector > SPA button text > nav region > visible text), returns matched links and suggested navigation URL; optionally auto-navigate.

中文详情:

  • 用途:根据目标页面关键词(login/signup/home/dashboard/admin/settings/profile 等)快速定位页面,支持 SPA 应用的按钮导航发现

  • 何时使用:测试入口页(登录/注册/后台)未直接知晓 URL 时;SPA 应用通过按钮导航时;导航回归测试时;权限切换后定位目标页时

  • 输出:{ ok: boolean, target: string, matched: boolean, matchMethod: string, score: number, links: array, buttons: array, suggestedUrl: string, navigated: boolean }

  • 参数:

    • target (string, 必填):目标页面类型,可选 login/signup/home/dashboard/admin/settings/profile/search/cart/checkout/forgot-password/reset-password/logout/all

    • navigate (boolean, 可选):是否自动导航到发现的页面,默认 false

    • baseUrl (string, 可选):基础 URL,用于尝试常见路径,不指定时从当前 URL 推导

  • 错误:target 值非法抛出 'Invalid target';未匹配且 navigate=true 时返回 matched=false

  • 示例:{"target":"login","navigate":true,"baseUrl":"https://example.com"}

browser_flowA

多步浏览器流程编排工具(v1.9.5 起合并 browser_chain 和 browser_batch),按步骤依次执行 open/click/type/wait/assert/eval/screenshot/snapshot/scroll/hover/select/navigate/har/step/clearErrors 等操作,每步自动捕获证据(截图+快照)。step.type 与 step.action 互为别名,二者至少传一个。通过 mode 参数区分子模式:flow(默认,标准编排)/ chain(链式,每步检查 console+network 错误,等价于 browser_chain)/ batch(批量,受 maxSteps 限制,等价于 browser_batch)。与 validation_flow 的区别:browser_flow 侧重浏览器操作编排,支持更多浏览器原生操作(open/har/snapshot/scroll/hover/select 等);validation_flow 侧重验证语义,仅支持 navigate/click/type/wait/eval/screenshot 6 种操作。

browser_form_fillA

表单填充工具(v1.9.5 起合并 browser_smart_fill)。通过 mode 参数区分子模式:basic(默认,批量填充表单字段并可选提交检测,支持 CSS 选择器模式和字段名模式)/ smart(智能填充单个字段,按 fieldType 自动生成符合格式的测试数据,等价于已废弃的 browser_smart_fill)。

中文详情:

  • 用途:批量或智能填充表单字段并可选提交检测

  • 何时使用:登录/注册表单批量填写时;多字段表单快速测试时;表单提交流程端到端验证时;需要 mock 数据填充表单时

  • 输出:basic 模式返回 { ok, url, filledFields, submitResult, timestamp };smart 模式返回 { success, selector, fieldType, value }

  • 参数:

    • mode (string, 可选):basic(默认)/ smart

    • url (string, basic 模式必填):目标页面 URL

    • selector (string, 可选):表单选择器(basic 模式)或字段选择器(smart 模式必填)

    • fields (object, basic 模式可选):手动指定的字段值

    • fieldType (string, smart 模式必填):字段类型(email/phone/name/address/idCard/number/text/url/date/password)

    • options (object, smart 模式可选):数据生成选项

    • submit (boolean, 可选):basic 模式填充后是否自动提交,默认 true

    • submitSelector (string, 可选):提交按钮选择器

browser_form_validateA

Auto-detect form field validation rules (required, pattern, length, etc.) and run a complete validation flow. Detects HTML5 validation attributes and outputs a detailed report per field.

中文详情:

  • 用途:自动检测表单字段验证规则(必填、格式、长度等),执行完整表单验证流程并输出详细验证报告

  • 何时使用:测试表单校验规则实现是否正确时;提交空表单验证必填提示时;测试 email/url 格式校验时;验证最小/最大长度限制时

  • 输出:{ ok: boolean, url: string, formSelector: string, totalFields: number, fields: array, validationPassed: boolean } — 每项含 { selector, name, type, required, pattern, minLength, maxLength, valid, message }

  • 参数:

    • url (string, 可选):要检测表单的目标 URL,不提供则使用当前页面

    • formSelector (string, 可选):表单选择器,不提供则自动检测页面第一个表单

    • validateSubmit (boolean, 可选):是否尝试提交表单检测验证,默认 true

    • checkRequired (boolean, 可选):是否检测必填字段,默认 true

    • checkPattern (boolean, 可选):是否检测格式模式(email、url 等),默认 true

    • checkLength (boolean, 可选):是否检测长度限制,默认 true

  • 错误:页面无表单抛出 'No form found';URL 不可达抛出 'Navigation failed'

  • 示例:{"url":"https://example.com/register","formSelector":"#signup-form","checkRequired":true}

browser_full_auditA

对当前页面执行全量错误审计,聚合所有错误来源(CDP console + 注入脚本 + 网络 4xx/5xx + 响应体静默失败 + 资源加载错误 + 未处理的 Promise 拒绝 + 跨域脚本错误)。

返回分层报告:

  • summary: 各类别错误计数

  • consoleErrors: CDP 控制台错误列表

  • injectedErrors: 注入脚本捕获的错误列表(含堆栈)

  • networkErrors: HTTP 4xx/5xx 请求列表

  • silentFailures: HTTP 200 但响应体含 SQL 错误/异常信息的请求

  • resourceErrors: 资源加载失败(img/script/link 加载错误)

  • unhandledRejections: 未处理的 Promise 拒绝

  • crossOriginErrors: 跨域脚本错误(Script error.)

  • runtimeErrors: 运行时 JS 异常(含堆栈)

  • diagnostics: 诊断建议

使用场景:在页面加载完成后或交互操作后,调用此工具进行全面健康检查。

browser_full_regressionA

强制执行的浏览器全功能闭环回归验证。自动发现页面上所有可交互功能(链接和按钮),逐个点击验证功能正常工作,检查 Console/Network 错误,验证每个功能的闭环完整性(可进入、可返回)。默认目标 URL: http://localhost:5173

browser_har_exportA

将当前采集的网络记录导出为简化 HAR JSON 文件,包含请求/响应头、请求/响应体摘要、状态码和耗时。输出自动脱敏。

browser_highlightA

Highlight a specific element on the page with a colored border and shadow for human observation and debugging. Effect persists until page refresh.

中文详情:

  • 用途:在页面上高亮显示指定元素(默认红色边框和阴影),便于人工观察和调试

  • 何时使用:调试元素定位问题时;演示/评审时强调某个元素;视觉走查时标记可疑元素;自动化失败后人工复核时

  • 输出:{ ok: boolean, selector: string, color: string, timestamp: string }

  • 参数:

    • selector (string, 必填):要高亮的元素选择器

    • color (string, 可选):高亮颜色,支持 CSS 颜色值,默认 red

  • 错误:selector 无匹配抛出 'element not found';color 值非法会使用默认红色

  • 示例:{"selector":".error-message","color":"#ff6600"}

browser_hoverA

Hover the mouse over a DOM element matched by CSS selector to trigger hover effects, tooltips, and dropdown menus.

中文详情:

  • 用途:将鼠标悬浮到指定 CSS 选择器元素上,触发 hover 效果、tooltip、下拉菜单等交互

  • 何时使用:测试二级菜单展开时;验证 tooltip 显示内容时;触发 hover 状态样式变化时;测试 hover 触发的异步加载时

  • 输出:{ ok: boolean, hoveredSelector: string, timestamp: string }

  • 参数:

    • selector (string, 必填):目标元素的 CSS 选择器

  • 错误:选择器无匹配抛出 'element not found';元素不可见抛出 'element not visible'

  • 示例:{"selector":".user-menu-trigger"}

browser_instrumentB

向当前页面注入运行时调试探针,捕获 fetch/XHR、console error/warn、全局错误、点击、输入、路由和 storage 变化。

browser_lighthouse_auditA

Run a Google Lighthouse audit on the current page, returning Performance, Accessibility, Best Practices, and SEO scores plus key diagnostic advice. Each audit spins up an isolated headless Chrome instance (no interference with the active session) and shuts down afterwards.

中文详情:

  • 用途:对当前页面执行 Google Lighthouse 审计,返回性能、可访问性、最佳实践、SEO 评分及关键诊断建议,每次审计启动独立 Headless Chrome 实例并自动关闭

  • 何时使用:上线前综合质量评估时;性能/可访问性/SEO 多维度评分时;Lighthouse 评分回归监控时;Core Web Vitals 与 SEO 优化建议获取时

  • 输出:{ ok: boolean, url: string, scores: { performance, accessibility, bestPractices, seo }, metrics: object, diagnostics: array, reportPath: string } — metrics 含 lcp/fid/cls/tbt/si

  • 参数:

    • url (string, 可选):要审计的 URL,默认为当前浏览器页面的 URL

    • categories (array, 可选):要审计的类别,可选 performance/accessibility/best_practices/seo,默认全部

    • formFactor (string, 可选):模拟设备类型,可选 mobile/desktop,默认 desktop

    • throttling (boolean, 可选):是否模拟网络节流(3G 模拟),仅 mobile 模式下推荐启用,默认 false

  • 错误:URL 不可达抛出 'Audit failed';Lighthouse 启动失败抛出 'Lighthouse launch failed'

  • 示例:{"url":"https://example.com","categories":["performance","accessibility"],"formFactor":"mobile","throttling":true}

browser_linksA

Extract all navigation links and buttons from the current page, classify them by type (nav, login, signup, admin, settings, search, logout, help, etc.), and return counts plus visible-area info. Supports SPA button discovery beyond tags.

中文详情:

  • 用途:提取当前页面所有导航链接和按钮,按类型分类(导航/首页/登录/注册/管理/设置/搜索/退出/帮助等),并返回分类统计

  • 何时使用:需要快速了解站点可用入口时;导航测试前枚举链接清单时;验证菜单完整性时;SPA 应用发现按钮路由时

  • 输出:{ ok: boolean, totalLinks: number, totalButtons: number, categories: object, links: array, buttons: array } — 各 link/button 含 selector、text、href、category、visible

  • 参数:

    • filter (string, 可选):关键词筛选,只返回 URL/文本包含该关键词的链接或按钮

    • includeExternal (boolean, 可选):是否包含外部链接,默认 false

    • maxLinks (number, 可选):最大返回链接数,默认 100

  • 错误:浏览器未启动抛出 'Browser not launched';maxLinks 过大可能导致响应变慢

  • 示例:{"filter":"login","includeExternal":false,"maxLinks":100}

browser_locatorA

选择器定位工具(v1.9.5 起合并 browser_locator_suggest/validate)。通过 mode 参数区分子模式:suggest(默认,基于已有 selector 命中元素或 target 文本生成稳定推荐选择器)/ validate(验证选择器稳定性,统计匹配数量并输出评分和风险)。

browser_locator_suggestA

基于已有 selector 命中的元素或 target 文本查找可见元素,按可访问属性生成更稳定的推荐选择器、评分、风险和 fallback 列表。

browser_locator_validateA

验证选择器稳定性,统计匹配数量、可见数量,并按 role/label/placeholder/data-testid/text/id/css/xpath 等规则输出分数、风险、警告和建议。

browser_matrix_testA

跨浏览器矩阵测试。在指定的多个浏览器引擎上依次执行相同的操作序列,返回各浏览器的执行结果对比。支持 chromium / firefox / webkit 任意组合。自动管理浏览器的创建和关闭,每个浏览器独立隔离。符合产品定位 v2.0 能力补齐方案 §P0-6。step.action 与 step.type 互为别名,二者至少传一个。

browser_memory_checkA

Memory leak detection: via Performance API, measures detached DOM node count, event-listener leak risk, JS heap size, and total DOM node count, returning a leak-risk assessment and optimization suggestions.

中文详情:

  • 用途:内存泄漏检测,通过 Performance API 检测 detached DOM 节点数量、事件监听器泄漏风险、JS 堆大小和 DOM 节点总数,返回泄漏风险评估和优化建议

  • 何时使用:SPA 长时间运行内存增长排查时;路由切换后 DOM 节点未释放验证时;事件监听器泄漏排查时;上线前内存基线评估时

  • 输出:{ ok: boolean, heapSize: number, heapUsed: number, domNodeCount: number, detachedDomCount: number, listenerLeakRisk: boolean, riskLevel: string, recommendations: array }

  • 参数:

    • sessionName (string, 可选):浏览器会话名称,默认当前活跃会话

  • 错误:浏览器未启动抛出 'Browser not launched';Performance API 不可用抛出 'Performance API not available'

  • 示例:{"sessionName":"long-running-session"}

browser_navigateA

Navigate the browser: go forward, back, refresh, or reload the current page with configurable wait conditions.

中文详情:

  • 用途:控制浏览器导航操作(前进/后退/刷新/重新加载当前页面)

  • 何时使用:在 browser_open 打开页面后需要控制加载状态时;表单提交后需要 reload 重置状态时;测试浏览器后退/前进按钮行为时;页面资源加载不完整需要 refresh 时

  • 输出:{ ok: boolean, url: string, action: string, timestamp: string }

  • 参数:

    • action (string, 必填):导航操作,可选 forward / back / refresh / reload,默认 refresh

    • waitUntil (string, 可选):等待条件,可选 domcontentloaded / load / networkidle,默认 domcontentloaded

    • timeout (number, 可选):超时毫秒数,默认 30000

  • 错误:超时抛出 'Timeout XXXXms exceeded';无效 action 值抛出 'Invalid action'

  • 示例:{"action":"refresh","waitUntil":"networkidle","timeout":10000}

browser_networkA

网络请求管理工具(v1.9.5 起合并 browser_network_detail)。通过 mode 参数区分子模式:list(默认,获取网络请求记录列表,支持按 URL/方法/状态码/checkpoint 过滤)/ detail(查看网络请求详情,包括请求头、响应头、请求体、响应体摘要、耗时和失败原因,等价于已废弃的 browser_network_detail)。

browser_network_detailA

查看本轮网络请求详情,包括请求头、响应头、请求体、响应体摘要、耗时和失败原因。输出自动脱敏。

browser_openA

Launch a real (visible by default) browser instance and navigate to the target URL. Supports chromium, firefox, and webkit engines.

中文详情:

  • 用途:启动真实可视化浏览器并导航到指定 URL,是所有浏览器交互测试的入口

  • 何时使用:开始一个新的浏览器测试会话时;需要可视化观察页面行为时;切换浏览器引擎做兼容性验证时;调试需要看到真实渲染时

  • 输出:{ ok: boolean, url: string, browserType: string, headless: boolean, sessionId: string, title: string, timestamp: string }

  • 参数:

    • url (string, 必填):要打开的页面 URL

    • browserType (string, 可选):浏览器引擎,可选 chromium / firefox / webkit,默认 chromium

    • headless (boolean, 可选):是否无头模式,默认 false(可视化验证建议 false)

  • 错误:URL 缺失或格式非法抛出 'Invalid url';浏览器启动失败抛出 'Browser launch failed'

  • 示例:{"url":"https://example.com/login","browserType":"chromium","headless":false}

browser_overlayA

遮挡物处理工具(v1.9.5 起合并 browser_overlay_detect/dismiss)。通过 mode 参数区分子模式:detect(默认,检测页面遮挡元素如弹窗/Cookie 横幅/浮层)/ dismiss(自动识别并点击关闭常见遮挡物)。

browser_overlay_detectA

遮挡物检测 - 在 DOM 层面自动检测页面上的遮挡元素(弹窗、Cookie横幅、浮层、色块遮挡等),分析 z-index、position、覆盖面积等属性,返回遮挡物列表和建议

browser_overlay_dismissB

遮挡物自动关闭 - 自动识别并点击关闭常见遮挡物(Cookie横幅、弹窗、浮层、遮罩等),支持多种关闭按钮选择器模式

browser_performanceA

性能分析工具(v1.9.5 起合并 browser_performance_check/trace)。通过 mode 参数区分子模式:check(默认,采集当前页面性能指标并按预算评估)/ trace(记录完整性能轨迹并输出 HAR 和结构化数据)。

browser_performance_checkA

Collect current page performance metrics (navigation, paint, resource, long task, CLS/LCP) and evaluate against budgets. Enhanced with Core Web Vitals deep analysis (LCP/FCP/TTFB/CLS scoring).

中文详情:

  • 用途:采集当前页面 navigation/paint/resource/long task/CLS/LCP 等性能指标,按 budgets 输出性能预算结果,并集成 Core Web Vitals 深度分析

  • 何时使用:上线前性能基线评估时;Core Web Vitals 达标验证时;慢请求/长任务定位时;性能预算(budgets)门禁检查时

  • 输出:{ ok: boolean, metrics: object, budgets: object, passed: boolean, violations: array, coreWebVitals: { lcp, fcp, cls, ttfb, score } } — metrics 含 domContentLoaded/load/fcp/lcp/cls/longTaskCount/resourceCount

  • 参数:

    • budgets (object, 可选):预算阈值,支持 domContentLoaded/load/fcp/lcp/cls/longTaskCount/resourceCount/slowRequestMs

    • slowRequestMs (number, 可选):慢请求阈值毫秒,默认 1000;可覆盖 budgets.slowRequestMs

    • sessionName (string, 可选):浏览器会话名称,默认当前活跃会话

  • 错误:浏览器未启动抛出 'Browser not launched';budgets 字段类型错误抛出 'Invalid budget'

  • 示例:{"budgets":{"lcp":2500,"cls":0.1,"longTaskCount":5},"slowRequestMs":800}

browser_performance_traceA

Record a complete performance trace (paint/timing/resource) and output HAR plus structured performance data. Supports W3C Performance Timeline API to capture FP/FCP/LCP/CLS core metrics.

中文详情:

  • 用途:记录完整的性能轨迹(Paint/Timing/Resource),输出 HAR 格式和结构化性能数据,支持 W3C Performance Timeline API 获取 FP/FCP/LCP/CLS 等核心指标

  • 何时使用:性能瓶颈深度分析时;HAR 文件取证时;前端渲染瀑布图分析时;FCP/LCP 异常排查时

  • 输出:{ ok: boolean, tracePath: string, harPath: string, metrics: object, entries: array, duration: number } — metrics 含 fp/fcp/lcp/cls/tbt;entries 为 PerformanceEntry 列表

  • 参数:

    • url (string, 可选):要追踪性能的目标 URL,不提供则使用当前页面

    • categories (array, 可选):要记录的性能类别,默认 ["navigation","resource","paint","longtask"]

    • duration (number, 可选):追踪持续时间(毫秒),默认 5000

    • enableScreenshots (boolean, 可选):是否在追踪期间定期截图,默认 false

    • exportHar (boolean, 可选):是否导出 HAR 格式数据,默认 true

  • 错误:浏览器未启动抛出 'Browser not launched';duration 过大可能影响响应时间

  • 示例:{"url":"https://example.com","categories":["navigation","paint","longtask"],"duration":10000,"exportHar":true}

browser_press_keyA

Press a keyboard key or combo on the current page or focused element. Supports single keys (Enter, Escape, Tab, ArrowDown) and combos (Control+c, Shift+Tab).

中文详情:

  • 用途:在当前页面或指定元素上按下键盘按键,支持单个按键或组合键(如 Control+c)

  • 何时使用:表单输入后按 Enter 提交时;模态框按 Escape 关闭时;下拉菜单用 ArrowDown 导航时;快捷键组合测试时

  • 输出:{ ok: boolean, key: string, selector: string|null, timestamp: string }

  • 参数:

    • key (string, 必填):按键名称,如 Enter/Escape/Tab/ArrowDown/Backspace/a/Control+c

    • selector (string, 可选):在指定元素上按键(先聚焦再按键)

  • 错误:key 为空抛出 'Key is required';selector 无匹配抛出 'element not found'

  • 示例:{"key":"Enter","selector":"#search-input"}

browser_quick_fixA

快速修复验证闭环。自动尝试常见修复策略(等待加载、滚动到元素、强制可见、移除遮挡、注入JS等),每步验证是否修复成功。返回修复尝试记录、最终状态、建议的下一步操作。支持批量传入多个 problem。

browser_responsive_testA

模拟多视口(mobile/tablet/desktop)截图对比,检测响应式布局问题。打开指定URL,分别以三个标准视口截图,返回各视口截图和布局差异分析。

browser_screenshotA

Take a screenshot of the current page and save it to the MCP artifacts directory. Sensitive inputs (password, token, apiKey) are auto-redacted by default.

中文详情:

  • 用途:对真实浏览器当前页面截图并保存为 PNG 文件到 screenshots 目录

  • 何时使用:验证页面渲染结果时;记录 bug 证据时;视觉对比前截取基线/实际图时;流程关键节点留证时

  • 输出:{ ok: boolean, path: string, name: string, timestamp: string } — path 为截图绝对路径

  • 参数:

    • name (string, 可选):截图文件名(不含扩展名),默认使用时间戳

    • redactSelectors (array, 可选):需要额外遮挡的 CSS 选择器列表,默认已遮挡 [type=password]、[name*=token]、[name*=apiKey]

  • 错误:浏览器未启动抛出 'Browser not launched';截图失败抛出 'Screenshot failed'

  • 示例:{"name":"login-page","redactSelectors":[".credit-card"]}

browser_screenshot_elementA

Screenshot a specific page element located by CSS selector, returning the artifact path and dimensions. Supports padding to expand the captured area.

中文详情:

  • 用途:对指定 CSS 选择器元素截图,截取该元素的可见区域,返回截图路径和尺寸信息

  • 何时使用:组件级截图取证时;视觉对比前截取元素图时;bug 报告附带局部截图时;多元素单独留档时

  • 输出:{ ok: boolean, path: string, name: string, selector: string, width: number, height: number, timestamp: string }

  • 参数:

    • selector (string, 必填):目标元素的 CSS 选择器

    • padding (number, 可选):截图区域周围的 padding,单位像素,默认 0

    • name (string, 可选):截图文件名(不含扩展名),默认自动生成

  • 错误:selector 无匹配抛出 'element not found';元素不可见抛出 'element not visible'

  • 示例:{"selector":".user-avatar","padding":10,"name":"avatar-component"}

browser_scrollA

Scroll the page or to a specific element. Supports scrollIntoView for targeting an element and pixel-based x/y scrolling with auto/smooth behavior.

中文详情:

  • 用途:滚动页面到指定位置,支持滚动到指定元素(scrollIntoView)或按像素值(x/y)滚动

  • 何时使用:需要触发懒加载内容时;将目标元素滚动到可视区域时;测试无限滚动分页时;截图前确保元素可见时

  • 输出:{ ok: boolean, scrollX: number, scrollY: number, scrolledTo: string, timestamp: string }

  • 参数:

    • selector (string, 可选):要滚动到的目标元素选择器,与 scrollIntoView 配合使用

    • scrollIntoView (boolean, 可选):是否滚动到 selector 指定的元素,默认 true(指定 selector 时)

    • x (number, 可选):横向滚动像素值(不指定 selector 时使用)

    • y (number, 可选):纵向滚动像素值(不指定 selector 时使用)

    • behavior (string, 可选):滚动行为,可选 auto/smooth,默认 auto

  • 错误:selector 无匹配抛出 'element not found';selector 与 x/y 同时提供时以 selector 为优先

  • 示例:{"selector":"#footer","behavior":"smooth"}

browser_selectA

Select an option in a dropdown by value, label text, or index.

中文详情:

  • 用途:在下拉框(select 元素)中选择指定选项,支持按 value 值、按 label 文本、按索引三种方式

  • 何时使用:表单下拉选项选择时;测试 select 联动效果时;筛选条件选择时;下拉框默认值验证时

  • 输出:{ ok: boolean, selector: string, selectedValue: string, selectedLabel: string, selectedIndex: number, timestamp: string }

  • 参数:

    • selector (string, 必填):select 元素的 CSS 选择器

    • value (string, 可选):要选择的 option 的 value 值

    • label (string, 可选):要选择的 option 的显示文本

    • index (number, 可选):要选择的 option 的索引(从 0 开始)

  • 错误:selector 无匹配或非 select 元素抛出 'Not a select element';value/label/index 都未提供抛出 'No selection criteria provided';选项不存在抛出 'Option not found'

  • 示例:{"selector":"#country","value":"cn"}

browser_sessionA

浏览器会话管理工具(v1.9.5 起合并 browser_session_create/switch/close + browser_sessions)。通过 mode 参数区分子模式:list(默认,列出所有会话)/ create(创建命名会话,独立上下文/cookie/storage)/ switch(切换活跃会话)/ close(关闭并删除会话)。

browser_session_closeC

关闭并删除指定浏览器会话。

browser_session_createA

Create or reuse a named browser session with isolated context, cookies, localStorage, console, network, errors, and events. Supports Chrome extension loading via persistent context.

中文详情:

  • 用途:创建或复用一个命名浏览器会话,每个会话拥有独立的浏览器上下文、cookie、localStorage、console、network、errors 和 events

  • 何时使用:需要多账号/多角色并行测试时;测试需要不同浏览器上下文隔离时;加载 Chrome 扩展验证扩展行为时;验证不同会话状态(登录/未登录)时

  • 输出:{ ok: boolean, name: string, sessionId: string, url: string, created: boolean, headless: boolean, extensionLoaded: boolean }

  • 参数:

    • name (string, 必填):会话名称,如 free-user、pro-user

    • sessionName (string, 可选):会话名称别名

    • url (string, 可选):创建后打开的 URL

    • headless (boolean, 可选):是否无头模式,默认 false

    • extensionPath (string, 可选):要加载的 Chrome 扩展目录路径,提供后使用持久化上下文并强制 headless=false

    • loadExtensionPath (string, 可选):extensionPath 的别名

    • timeout (number, 可选):导航超时时间,默认 30000ms

  • 错误:name 为空抛出 'Session name is required';扩展路径不存在抛出 'Extension path not found';导航超时抛出 'Timeout XXXXms exceeded'

  • 示例:{"name":"pro-user","url":"https://example.com/dashboard","headless":false}

browser_session_switchA

切换当前活跃浏览器会话。后续未指定 sessionName 的浏览器工具会作用于该会话。

browser_sessionsA

List all current browser sessions with their active state, current URL, creation time, last-used time, and trace status.

中文详情:

  • 用途:列出当前所有浏览器会话,显示活跃状态、URL、创建时间、最后使用时间和 trace 录制状态

  • 何时使用:多会话测试前查看会话清单时;确认会话是否仍活跃时;排查 trace 录制状态时;调试并发会话问题时

  • 输出:{ ok: boolean, sessions: array, total: number } — 每项含 { name, active, url, createdAt, lastUsedAt, traceEnabled }

  • 参数:无

  • 错误:无活跃会话时返回空数组但 ok=true

  • 示例:{}

browser_smart_fillA

Smart form filler: auto-generate format-valid realistic test data by field type and fill the target input. Supports 10+ types (email, phone, name, address, idCard, number, text, url, date, password); each call produces random data to cover edge cases.

中文详情:

  • 用途:智能表单填充工具,根据字段类型自动生成符合格式的真实测试数据并填入指定输入框

  • 何时使用:注册表单需要合法邮箱/手机号时;地址表单需要格式正确数据时;密码字段需要符合复杂度要求时;批量生成测试数据覆盖边界场景时

  • 输出:{ ok: boolean, selector: string, fieldType: string, generatedValue: string, timestamp: string }

  • 参数:

    • selector (string, 必填):目标输入框的 CSS 选择器

    • fieldType (string, 必填):字段类型,可选 email/phone/name/address/idCard/number/text/url/date/password

    • options (object, 可选):生成选项,各字段类型有不同选项

      • domain (string, 可选):email 类型的域名

      • min (number, 可选):number 类型的最小值

      • max (number, 可选):number 类型的最大值

      • minLen (number, 可选):text 类型的最小长度

      • maxLen (number, 可选):text 类型的最大长度

      • start (string, 可选):date 类型的起始日期

      • end (string, 可选):date 类型的结束日期

  • 错误:selector 无匹配抛出 'element not found';fieldType 非法抛出 'Invalid fieldType';元素不可编辑抛出 'element not editable'

  • 示例:{"selector":"#email","fieldType":"email","options":{"domain":"test.com"}}

browser_smoke_testA

一键冒烟测试 - 自动执行页面加载、JS错误、HTTP错误、无障碍、控制台警告等5项快速检查,返回综合评分和详细结果

browser_snapshotA

Capture a structured snapshot of the current page: URL, title, visible text, form fields, and actionable buttons for AI-driven element targeting.

中文详情:

  • 用途:获取当前页面的结构化快照,包含 URL、标题、可见文本、表单元素和按钮清单

  • 何时使用:交互前需要了解页面当前结构时;定位元素前获取可点击清单时;表单填写前查看字段时;流程断点处记录页面状态时

  • 输出:{ ok: boolean, url: string, title: string, visibleText: string, forms: array, buttons: array, inputs: array, timestamp: string } — forms/buttons/inputs 各项含 selector、text、attributes 等定位信息

  • 参数:无

  • 错误:浏览器未启动抛出 'Browser not launched';页面未加载完成可能返回不完整快照

  • 示例:{}

browser_stateA

查看和管理浏览器状态(Cookie 与 Web Storage)。v1.9.5 起合并 browser_cookies 与 browser_storage。mode=cookies 时支持获取/设置/清除 Cookie;mode=storage 时查看 localStorage、sessionStorage、cookies 快照。调试登录态、Token、状态持久化问题的首选工具。

browser_stepA

记录当前验证步骤证据:截图、DOM 简要快照、本轮统一错误摘要。用于形成可追溯证据链。

browser_storageA

查看当前页面 localStorage、sessionStorage 或 cookie,辅助定位登录态和状态问题

browser_trace_chainA

全链路调用链追溯:从 trace_id 或时间点追溯前端→API→后端的完整请求链路,聚合每个 trace 的请求/响应体和关联的 console 错误

browser_trace_startB

开始浏览器追踪会话,记录页面加载和交互过程中的性能数据

browser_trace_stopA

停止浏览器追踪会话,返回收集到的追踪数据

browser_traverse_menuA

Auto-traverse page navigation menus level by level (1/2/3 tier), clicking each item while checking console errors, page errors, and network errors per step. Auto-detects standard nav containers, sidebars, and UI framework menus (Ant Design/Element UI); falls back to full-page link scan if not found.

中文详情:

  • 用途:自动遍历页面导航菜单,逐级点击一级/二级/三级菜单项,每步检查控制台/页面/网络错误,验证功能链路是否正常

  • 何时使用:站点功能回归测试时;页面健康检查时;新版本上线前菜单遍历验证时;UI 框架迁移后菜单稳定性测试时

  • 输出:{ ok: boolean, totalItems: number, clickedItems: number, results: array, errors: array } — 每项含 { text, url, urlChanged, pageTitle, consoleErrors, networkErrors, success }

  • 参数:

    • maxDepth (number, 可选):最大遍历深度(1=仅一级,2=含二级,3=含三级),默认 3

    • maxItems (number, 可选):最大点击次数,防止无限遍历,默认 30

    • waitMs (number, 可选):每次点击后的等待时间(毫秒),默认 500

    • includeSubMenus (boolean, 可选):是否自动展开并点击子菜单,默认 true

  • 错误:未找到菜单容器时降级扫描全页面链接;遍历超时会在 results 中标记 timeout

  • 示例:{"maxDepth":2,"maxItems":20,"waitMs":800,"includeSubMenus":true}

browser_typeA

Type text into a DOM element matched by CSS selector in a real browser, simulating real keyboard input.

中文详情:

  • 用途:在真实浏览器中向指定 CSS 选择器元素输入文本(输入框、文本域、搜索框等)

  • 何时使用:填写登录表单用户名/密码时;搜索框输入查询词时;textarea 输入长文本时;测试输入框字符限制时

  • 输出:{ ok: boolean, typedSelector: string, textLength: number, timestamp: string }

  • 参数:

    • selector (string, 必填):CSS 选择器,支持 Playwright 语法

    • text (string, 必填):要输入的文本内容

  • 错误:选择器无匹配抛出 'element not found';元素不可编辑抛出 'element not editable'

  • 示例:{"selector":"#username","text":"testuser@example.com"}

browser_verify_fixA

修复验证闭环工具。记录修复前状态(错误数、元素状态),执行修复操作(browser_click/type/wait等),验证修复后状态,对比前后差异,确认修复是否生效。返回 before/after 对比、fixStatus、verificationResult、nextAction。

browser_visualA

视觉回归与 UI 检查工具(v1.9.5 起合并 browser_visual_baseline/compare/report/check/snapshot + screenshot_diff)。通过 mode 参数区分子模式:baseline(默认,建立视觉基线 PNG)/ compare(截取实际图与基线对比,生成 diff)/ report(列出所有视觉产物)/ check(无基线 UI 问题扫描)/ snapshot(三级快照:截图+DOM+CSS)/ diff(手动指定两张截图对比,等价于已废弃的 screenshot_diff)。

browser_visual_baselineA

Create a visual regression baseline PNG for the current page or a specific element. Defaults to full-page screenshot and auto-masks sensitive inputs (password, token, apiKey).

中文详情:

  • 用途:为当前页面或指定元素创建视觉回归基线 PNG,作为后续 visual_compare 的对比基准

  • 何时使用:首次建立视觉回归基线时;UI 升级后重置基线时;多 viewport 视觉测试前建立基准时;组件级视觉对比前创建基线时

  • 输出:{ ok: boolean, name: string, path: string, selector: string|null, fullPage: boolean, timestamp: string }

  • 参数:

    • name (string, 必填):基线名称,不含扩展名

    • selector (string, 可选):CSS 选择器;指定后只截取该元素

    • fullPage (boolean, 可选):是否全页截图,默认 true;selector 存在时忽略

    • maskSelectors (array, 可选):截图前额外遮挡/脱敏的 CSS 选择器列表

    • sessionName (string, 可选):浏览器会话名称,默认当前活跃会话

  • 错误:name 为空抛出 'Name is required';selector 无匹配抛出 'element not found';浏览器未启动抛出 'Browser not launched'

  • 示例:{"name":"login-page-baseline","fullPage":true,"maskSelectors":[".ad-banner"]}

browser_visual_checkA

No-baseline automated UI issue scan: scans the current page for common UI problems (invisible text, overlapping elements, z-index occlusion, small click targets, blank regions, overflow, missing image alt, contrast issues, responsive breakpoints) and returns a natural-language issue list.

中文详情:

  • 用途:无需基线直接扫描当前页面常见 UI 问题(文字不可见、元素重叠、z-index 遮挡、点击区域过小、空白区域、溢出、图片 alt 缺失、对比度不足、响应式断点等),输出自然语言描述的问题清单

  • 何时使用:UI 走查时快速发现问题;上线前 UI 健康检查;多 viewport 响应式验证;可访问性基础扫描(对比度/alt 缺失)时

  • 输出:{ ok: boolean, totalIssues: number, issues: array, summary: string } — 每项含 { severity, category, description, selector, recommendation }

  • 参数:

    • includeAccessibility (boolean, 可选):是否包含可访问性检查(图片 alt 缺失、对比度检测),默认 true

    • includeResponsive (boolean, 可选):是否包含响应式检查,默认 false

    • viewports (array, 可选):响应式检查的 viewport 列表,可选 mobile/tablet/desktop,仅当 includeResponsive=true 时生效,默认 ["mobile","tablet"]

    • severity (string, 可选):最低报告级别,可选 blocking/major/minor,默认 major

  • 错误:浏览器未启动抛出 'Browser not launched';viewport 无效抛出 'Invalid viewport'

  • 示例:{"includeAccessibility":true,"includeResponsive":true,"viewports":["mobile","desktop"],"severity":"major"}

browser_visual_compareA

Capture an actual PNG of the current page, compare against the same-named visual baseline, generate a diff PNG, and return diffPixels, diffRatio, passed flag, and artifact paths.

中文详情:

  • 用途:截取当前页面 actual PNG 与同名视觉基线对比,生成 diff PNG 并返回差异指标和产物路径

  • 何时使用:UI 改动后回归对比时;多环境(dev/staging/prod)视觉一致性验证时;组件样式调整后差异检测时;CI 中视觉回归门禁时

  • 输出:{ ok: boolean, name: string, baselinePath: string, actualPath: string, diffPath: string, diffPixels: number, diffRatio: number, passed: boolean, threshold: number }

  • 参数:

    • name (string, 必填):要对比的基线名称,不含扩展名

    • selector (string, 可选):CSS 选择器;需与基线截图范围一致

    • fullPage (boolean, 可选):是否全页截图,默认 true;selector 存在时忽略

    • maskSelectors (array, 可选):截图前额外遮挡/脱敏的 CSS 选择器列表,用于忽略动态区域

    • maxDiffPixelRatio (number, 可选):允许的最大差异像素比例,默认 0.01

    • sessionName (string, 可选):浏览器会话名称,默认当前活跃会话

  • 错误:基线不存在抛出 'Baseline not found, run browser_visual_baseline first';selector 无匹配抛出 'element not found'

  • 示例:{"name":"login-page-baseline","maxDiffPixelRatio":0.005,"maskSelectors":[".timestamp"]}

browser_visual_componentA

Component-level visual diff in one call: capture a screenshot of the CSS-selected component, compare against same-named baseline, return diffPixels/diffRatio/passed. Auto-creates the baseline if missing and returns baseline_created flag.

中文详情:

  • 用途:组件级视觉对比,一次调用完成组件截图 → 与同名基线对比 → 返回差异指标;基线不存在时自动创建并返回 baseline_created 标记

  • 何时使用:组件库视觉回归时;卡片/弹窗/表格等独立组件 UI 验证时;多主题(light/dark)组件对比时;增量 UI 改动只对比受影响组件时

  • 输出:{ ok: boolean, name: string, selector: string, baselinePath: string, actualPath: string, diffPath: string, diffPixels: number, diffRatio: number, passed: boolean, baseline_created: boolean }

  • 参数:

    • name (string, 必填):组件基线名称,不含扩展名

    • selector (string, 必填):CSS 选择器,精确选择要对比的组件

    • maxDiffPixelRatio (number, 可选):允许的最大差异像素比例,默认 0.01

    • sessionName (string, 可选):浏览器会话名称,默认当前活跃会话

  • 错误:selector 无匹配抛出 'element not found';选择器匹配多个元素抛出 'Selector matches multiple elements, refine it'

  • 示例:{"name":"product-card","selector":".product-card","maxDiffPixelRatio":0.005}

browser_visual_reportA

List all visual regression artifacts (baselines, actuals, diffs) and recent comparison results in the project.

中文详情:

  • 用途:列出视觉回归基线、actual、diff 产物文件和最近比较结果,便于人工审查

  • 何时使用:视觉回归测试后查看历史对比时;清理旧基线前盘点时;调试 visual_compare 结果时;报告汇总时

  • 输出:{ ok: boolean, baselines: array, actuals: array, diffs: array, recentResults: array, total: number } — 每项含 { name, path, size, createdAt }

  • 参数:无

  • 错误:无产物时返回空数组但 ok=true

  • 示例:{}

browser_visual_snapshotA

Three-level snapshot: capture screenshot + DOM state snapshot + CSS computed properties in one call, with automatic L1+L2 UI issue detection (invisible text, overlapping elements, large blank regions, z-index occlusion, small click targets, overflow).

中文详情:

  • 用途:三级快照工具,一次性获取截图 + DOM 状态快照 + CSS 计算属性,并自动检测 L1+L2 级别 UI 问题

  • 何时使用:UI 缺陷排查时需要同时查看图/结构/样式时;调试元素不可见原因时;自动化发现问题后人工定位时;回归测试前留档页面状态时

  • 输出:{ ok: boolean, screenshotPath: string, dom: object, computedStyles: object, issues: array, viewport: { width, height }, timestamp: string }

  • 参数:

    • selector (string, 可选):CSS 选择器;不传则全页

    • fullPage (boolean, 可选):是否全页截图,默认 true

    • includeMetadata (boolean, 可选):是否包含完整元数据,默认 true

    • detectIssues (boolean, 可选):是否自动检测 UI 问题,默认 true

    • viewportWidth (integer, 可选):自定义 viewport 宽度

    • viewportHeight (integer, 可选):自定义 viewport 高度

    • sessionName (string, 可选):浏览器会话名称,默认当前活跃会话

  • 错误:selector 无匹配抛出 'element not found';浏览器未启动抛出 'Browser not launched'

  • 示例:{"selector":".header","fullPage":false,"detectIssues":true,"viewportWidth":375,"viewportHeight":812}

Prompts

Interactive templates invoked by user choice

NameDescription
validate-loginValidate a login flow end-to-end with evidence collection. Validates page opening, form filling, submission, redirect, and success state.
audit-performanceRun a comprehensive performance audit: Lighthouse 4-dimension scoring, Core Web Vitals, performance trace, and memory leak detection.
audit-securityRun a comprehensive security audit: HTTP security headers, CSP analysis, OWASP Top 10, SQL injection, and XSS vulnerability scanning.
visual-regressionSet up and run visual regression testing: establish baseline, capture actual, compare with diff, generate report.
debug-pageDiagnose a page issue: collect errors, network failures, console logs, generate root cause hypothesis and fix suggestions.
e2e-flowRun an end-to-end acceptance test with multiple cases: execute validation_run, collect evidence index, generate six-section report, export HTML.
submit-formValidate any web form end-to-end: open page, detect validation rules, fill fields, submit, assert feedback, collect evidence. Covers registration, contact, search, and settings forms (not login-specific).

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/validpilot/ai-verify-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server