ai-verify-mcp
This MCP server (ai-verify-mcp / ValidPilot Verify) is a comprehensive AI-driven browser verification and testing platform with 128+ tools for validating AI-generated code, UI testing, and evidence collection.
Browser Automation
Open real browsers (Chromium, Firefox, WebKit), navigate URLs, click, type, hover, scroll, press keys
Navigate back/forward/reload, emulate devices (mobile/tablet/desktop), manage multiple isolated sessions
Verification & Assertions
Assert URLs, visible text, element visibility/hidden states
Run smoke tests, full functional chain validations, and deployment health checks
Accessibility Testing
Axe-core integration for WCAG compliance scanning with tag/selector/exclusion support
Capture accessibility tree (ARIA) snapshots
Performance Analysis
Google Lighthouse audits, Core Web Vitals (LCP/FCP/CLS/TTFB), performance traces
Memory leak detection via detached DOM nodes, event listener counts, and heap size
Visual & Responsive Testing
Create visual regression baselines and compare with pixel-level diffs
Detect UI issues (overlaps, overflow, invisible text, small click targets)
Cross-browser matrix testing and multi-viewport responsive layout testing
Evidence Collection
Automatic screenshots (full-page or element-specific) with sensitive data redaction
DOM snapshots, HAR exports, console/network logs, step-by-step evidence chains
Export structured JSON evidence packages
Smart Diagnostics & Fix
AI-powered root cause analysis, counterfactual analysis, error aggregation
Auto-attempt 8+ repair strategies with before/after fix verification
Detect anti-bot mechanisms (Cloudflare, CAPTCHAs, JS challenges, fingerprinting)
Form & State Testing
Smart form filling with generated data, field validation (required/pattern/length)
Capture and compare page/API/storage state before/after operations
Read/write/clear cookies, localStorage, and sessionStorage
API Contract Testing
Extract consumer contracts from network logs, save baselines, detect schema drift
Execute full business chain specs with API calls, assertions, and state diffs
Code & Project Analysis
Audit projects for hardcoded secrets, SQL errors, CSS variable issues, and absolute paths
Analyze CSS for missing/undefined custom properties and circular references
Reporting
Generate Markdown reports with embedded screenshots and pass/fail summaries
Score results across 5 dimensions (functional, technical, consistency, contract, observability)
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ai-verify-mcpValidate the login form on example.com and save evidence"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ValidPilot Verify
Don't just generate, verify.
让 AI 代码生成结果可验证、可信赖。证据驱动的 MCP 验证平台。
📘 MCP 新手入门:先看 MCP 协议速查手册,5 分钟搞懂 MCP。 📖 详细操作指南:见 用户操作手册,从安装到精通。 🔧 遇到问题:见 日志排查手册,常见错误与解决方案。
📑 目录
Related MCP server: PixelCheck
🎯 一句话介绍
ValidPilot Verify 是一个面向 AI 编程的全息验证平台。通过 MCP 协议,AI 可以自动验证代码生成结果——生成截图证据、诊断错误根因、留存完整证据链。
它能做什么?
🔍 验证 AI 生成的代码:打开页面、点击按钮、填写表单、验证结果
📸 留存证据:每步操作自动截图,形成可追溯的证据链
🐛 智能诊断错误:自动分析错误根因,给出置信度评分和修复建议
✅ 断言验证:验证元素存在、文本内容、URL 匹配等
📊 生成验证报告:Markdown 报告,包含截图证据和诊断结果
🔄 Skill + MCP = 最佳体验
ai-verify-mcp 提供 136 个底层验证工具(浏览器操作、截图、a11y 扫描、断言验证、视觉比对、网络监控、性能分析、内存检测、证据链采集、安全扫描等),但这些工具需要被编排调用才能完成完整的验证任务。
v1.9.3+ 起,编排能力已通过 MCP Prompts 原语内置到 MCP 服务器——无需安装任何 IDE 扩展包,在支持 MCP Prompts 的客户端(Claude Desktop、Cursor、Trae)输入 / 即可看到 7 个斜杠命令工作流。
flowchart LR
A[AI 生成代码] --> B[Skill 编排验证流程]
B --> C[ai-verify-mcp 执行验证]
C --> D{验证通过?}
D -->|失败| E[AI 自动修复]
E --> C
D -->|通过| F[留存证据链]三种 Skill 形态
形态 | 是什么 | 是否需安装 | v1.9.3+ 状态 |
A. MCP Prompts |
| ❌ 不需要 | ✅ 开箱即用 |
B. Skill 指导文档 |
| ❌ 不需要(随 npm 包发布) | ✅ v1.9.3 已有 |
C. IDE Skill 扩展包 | Trae 的 | ✅ 需在 Trae Skill 市场安装 | 可选增强 |
Skill 负责
职责 | 说明 |
流程编排 | 定义验证步骤顺序:打开页面 → 截图 → 检查 a11y → 断言结果 |
证据管理 | 统一存放截图、日志、HAR 文件到各阶段产物目录 |
生成验证报告 | 将多轮验证结果汇总为一份完整报告(成功率、故障清单、修复建议) |
对比基准 | 对比当前验证结果与上一轮(或原始版本),计算回归情况 |
ai-verify-mcp 负责
职责 | 说明 |
153 个工具(v1.9.5 重构后) |
|
7 个 MCP Prompts |
|
证据链采集 | 每步操作自动截图,记录 Console 日志和网络请求 |
对比与 CSS 变量扫描 | axe-core 集成、CSS 变量追踪 |
报告输出 | 结构化 JSON + Markdown 报告 |
💡 最佳实践(v1.9.3+):
最小依赖路径(推荐):只装
@validpilot/ai-verify-mcpMCP Server,输入/即可触发 7 个 Skill 工作流。无需任何 IDE 扩展包。增强路径(可选):在 Trae 中额外启用
browser-dev-full-validation-skill扩展包,获得 7 阶段细粒度流程编排(每个 Skill 内部拆成 7 个执行阶段)。详见 Skill 使用指南。
🚀 快速开始
方式一:1 分钟快速体验
# 1. 安装
npm install @validpilot/ai-verify-mcp
# 2. 启动服务
npx @validpilot/ai-verify-mcp start
# 3. 在 AI 助手中配置 MCP(以 Cursor 为例)方式二:直接验证(无需 MCP)
# 快速验证一个网站
npx @validpilot/ai-verify-mcp validate --url https://example.com
# 截图留证
npx @validpilot/ai-verify-mcp screenshot --url https://example.com --name evidence-001
# 一键检查
npx @validpilot/ai-verify-mcp quick-check --url https://example.com📦 更新到最新版本
查看当前版本:
# 查看 npm 上的最新版本
npm view @validpilot/ai-verify-mcp version
# 查看本地已安装版本(全局安装方式)
npm list -g @validpilot/ai-verify-mcp根据您的使用方式选择对应的更新方法:
场景 A:MCP 配置中使用 npx(推荐,多数用户)
如果您的 MCP 配置是这种形式:
"validpilot-ai-verify-mcp": {
"command": "npx",
"args": ["-y", "@validpilot/ai-verify-mcp@1.6.2"]
}更新方法:将版本号改为最新版本(当前为 1.6.9),或使用 @latest 自动跟随最新:
// 方式 1:指定具体版本(推荐,确保稳定性)
"args": ["-y", "@validpilot/ai-verify-mcp@1.6.9"]
// 方式 2:使用 latest 标签(每次启动自动拉取最新)
"args": ["-y", "@validpilot/ai-verify-mcp@latest"]改完后重启 IDE 或重载 MCP Server 即可生效。npx 会自动下载新版本到缓存。
💡 提示:如果之前用过旧版本,
npx缓存可能残留旧包。如遇异常,执行npx clear-npx-cache清除缓存后重试。
场景 B:全局安装方式
如果您的 MCP 配置是这种形式:
"validpilot-ai-verify-mcp": {
"command": "ai-verify-mcp",
"args": []
}更新方法:
# 更新到最新版本
npm install -g @validpilot/ai-verify-mcp@latest
# 或指定具体版本
npm install -g @validpilot/ai-verify-mcp@1.6.9
# 验证更新成功
ai-verify-mcp --version更新后重启 IDE 即可生效,无需修改 MCP 配置。
场景 C:项目本地安装方式
如果是在项目中 npm install @validpilot/ai-verify-mcp 安装的:
# 更新到最新版本
npm install @validpilot/ai-verify-mcp@latest
# 或在 package.json 中修改版本号后执行
npm update @validpilot/ai-verify-mcp🔧 配置 MCP Server
在 Cursor 中使用
打开 Cursor → 设置 → MCP Servers → Add
填写配置
或在 IDE 的 MCP 配置文件中添加(项目级 .cursor/mcp.json 或用户级配置):
{
"ai-verify-mcp": {
"command": "npx",
"args": ["-y", "@validpilot/ai-verify-mcp"],
"env": {
"MCP_MODE": "http",
"MCP_HTTP_PORT": "3456"
}
}
}在 Claude Code 中使用
在项目根目录创建 .mcp.json:
{
"mcpServers": {
"ai-verify-mcp": {
"command": "npx",
"args": ["-y", "@validpilot/ai-verify-mcp"],
"env": {
"MCP_MODE": "http",
"MCP_HTTP_PORT": "3456"
}
}
}
}在 Windsurf 中使用
Settings → MCP Servers → Add:
{
"ai-verify-mcp": {
"command": "npx",
"args": ["-y", "@validpilot/ai-verify-mcp"]
}
}🎬 实际使用示例
场景:验证 AI 生成的登录页面
你告诉 AI:
"帮我验证这个登录页面:打开 https://example.com/login,输入用户名 test 和密码 123,点击登录按钮,验证是否跳转到首页。"
AI 调用的工具链:
1. browser_open → 打开登录页面(截图:login-page.png)
2. browser_type → 输入用户名(截图:username-filled.png)
3. browser_type → 输入密码(截图:password-filled.png)
4. browser_click → 点击登录按钮(截图:login-clicked.png)
5. validation_check → 验证跳转到首页(截图:homepage.png)
6. browser_assert → 断言 URL 包含 /home(生成证据报告)结果:完整证据链
artifacts/
├── login-page.png # 页面初始状态
├── username-filled.png # 输入用户名后
├── password-filled.png # 输入密码后
├── login-clicked.png # 点击登录后
├── homepage.png # 登录成功后
└── validation-report.md # 验证报告(含诊断结果)🏆 为什么选择 ValidPilot Verify?
特性 | ValidPilot Verify | Playwright | Puppeteer |
MCP 协议原生 | ✅ 开箱即用 | ❌ 需自己封装 | ❌ 需自己封装 |
AI Agent 友好 | ✅ 136 个专用工具 | ❌ 通用 API | ❌ 通用 API |
证据链留存 | ✅ 自动截图 + 时间戳 | ❌ 手动实现 | ❌ 手动实现 |
智能诊断 | ✅ 错误根因 + 置信度 | ❌ 仅日志 | ❌ 仅日志 |
验证报告 | ✅ Markdown + 截图 | ❌ 需自己写 | ❌ 需自己写 |
快速验证 | ✅ 一键检查 | ❌ 需编写测试 | ❌ 需编写测试 |
核心差异:Playwright/Puppeteer 是"手"(负责操作),ValidPilot Verify 是"眼+脑"(负责检查和验证)。
Skill + MCP 协同优势
单独用 MCP | 单独用 Skill | Skill + MCP 组合 |
✅ 136 个工具但需手动编排 | ✅ 有流程但缺执行能力 | ✅ 自动编排 + 自动执行 |
❌ 验证结果零散 | ❌ 流程模板固定 | ✅ 完整证据链 + 灵活配置 |
❌ 需手动对比差异 | ❌ 无法直接操控浏览器 | ✅ 全自动闭环 |
✅ 推荐配置:在 Trae 中启用
browser-dev-full-validation-skill,同时配置ai-verify-mcp作为 MCP Server。Skill 负责"什么时候验、验什么",MCP 负责"怎么验"。
🎨 验证流程可视化
┌─────────────────────────────────────────────────────────────┐
│ AI 生成代码 → 验证流程 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────┐ │
│ │ 1. 打开 │ -> │ 2. 操作 │ -> │ 3. 断言 │ -> │ 4. 报告 │ │
│ │ browser_ │ │ browser_ │ │ browser_ │ │ evidence│ │
│ │ open │ │ type/click│ │ assert │ │ _pack │ │
│ └──────────┘ └──────────┘ └──────────┘ └────────┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ 📸 screenshot 📸 screenshot 📸 screenshot 📄 .md │
│ login.png input.png result.png report │
│ │
└─────────────────────────────────────────────────────────────┘🔄 v1.9.5 工具体系重构
重构动机与收益
v1.9.5 之前,ai-verify-mcp 注册了 137 个工具,IDE 工具列表过长,AI 模型在工具选择时容易混淆。v1.9.5 通过 mode 参数统一 + TOOL_ALIASES 别名转发机制,将功能相近的工具合并为主工具 + 子模式:
工具数:137 → 154(含 59 个别名转发规则,实际主工具约 95 个)
视觉噪音:IDE 工具列表大幅精简,AI 模型工具选择更准确
完全向后兼容:所有旧工具名通过
TOOL_ALIASES继续可用,不破坏任何现有调用
mode 参数使用指南
v1.9.5 起,主工具通过 mode 参数区分子模式。例如:
// 旧方式(仍然可用):调用 3 个独立工具
browser_captcha_detect({})
browser_captcha_read({})
browser_captcha_screenshot({})
// 新方式(推荐):调用 1 个主工具 + mode 参数
browser_captcha({ mode: 'detect' })
browser_captcha({ mode: 'read' })
browser_captcha({ mode: 'screenshot' })旧工具名 → 新工具名映射表
旧工具名 | 新主工具 | mode 值 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
迁移建议
v1.10.0 已移除别名:自 v1.10.0 起,
TOOL_ALIASES正式移除,旧工具名不再可用,必须使用主工具 +mode参数升级前必做:从 v1.9.5 升级到 v1.10.0 前,请按上方映射表将代码中所有旧工具名调用替换为主工具 +
mode参数推荐使用新主工具:新代码直接使用主工具 +
mode参数,工具列表更简洁IDE 工具列表缓存:升级后需重启 IDE 才能在自动补全中显示新的 93 个主工具列表
📦 完整工具列表
✅ 验证框架(8个)
工具 | 说明 |
| 检查点验证(负载时间、JS错误、HTTP错误等) |
| 元素状态验证(存在、可见、文本包含等) |
| 流程验证(多步骤验证流程) |
| 一键快速验证(7项检查) |
| 生成验证报告 |
| 导出验证报告 |
| 断言验证(URL、标题、元素等) |
| 视觉回归对比 |
🔍 智能诊断(9个)
工具 | 说明 |
| 错误自动诊断(根因分析 + 置信度) |
| 元素状态检查(可见性、可交互性、遮挡) |
| 快速修复(8种策略自动尝试) |
| 修复验证闭环 |
| 调试报告生成 |
| 错误聚合统计 |
| 修复建议(基于规则) |
| 错误摘要(Markdown) |
| 深度调查 |
📸 证据收集(6个)
工具 | 说明 |
| 全屏截图 |
| 元素截图 |
| 工件管理 |
| 清理工件 |
| 导出 HAR 文件 |
| 页面快照 |
🌐 浏览器操作(21个)
完整浏览器操作能力:打开、点击、输入、滚动、等待、Cookie、存储、网络、控制台等。
🎯 智能定位(4个)
工具 | 说明 |
| 按文本智能查找元素 |
| 选择器建议 |
| 选择器验证 |
| 页面类型识别 |
🔒 安全扫描(6个)
工具 | 说明 |
| HTTP 安全头部检查(CSP、HSTS、XFO 等 7 项 + 信息泄露检测) |
| CSP 策略深度分析(unsafe-inline/eval 检测、评分) |
| SQL 注入扫描(20 个 payload,多数据库错误检测) |
| XSS 漏洞扫描(26 个 payload,未转义检测) |
| OWASP Top 10 快速检查(A1-A10 全覆盖) |
| API 端点探测(多 HTTP 方法 + CORS 分析) |
🔬 证据链概念
证据链是 ValidPilot Verify 的核心概念:
每步操作自动截图:时间戳 + 操作类型 + 结果状态
错误自动诊断:错误类型 + 根因分析 + 置信度评分
修复建议生成:基于规则的修复建议 + 验证闭环
报告自动生成:Markdown 报告 + 截图引用 + 诊断结果
示例证据链报告:
# 验证报告 - 登录流程
## ✅ 通过的步骤
| 步骤 | 操作 | 截图 | 时间戳 |
|------|------|------|--------|
| 1 | 打开登录页 | login-page.png | 2026-06-28T10:00:00Z |
| 2 | 输入用户名 | username-filled.png | 2026-06-28T10:00:05Z |
| 3 | 点击登录 | login-clicked.png | 2026-06-28T10:00:10Z |
## ❌ 失败的步骤
| 步骤 | 操作 | 错误 | 截图 | 诊断 |
|------|------|------|------|------|
| 4 | 验证首页 | URL不匹配 | homepage.png | 置信度 85% - 登录可能失败 |
**错误类型**: 验证失败
**置信度**: 85%
**建议**: 检查登录是否成功,查看是否有错误提示。⚙️ 环境变量
变量 | 说明 | 默认值 |
| MCP 运行模式(stdio/http) | stdio |
| HTTP 端口 | 3456 |
| 证据存放目录 | ./artifacts |
| 截图质量 | 80 |
❓ 常见问题
Q: 和 browser-mcp 有什么区别?
browser-mcp 是"手"——负责操作浏览器(打开、点击、输入)。 ai-verify-mcp 是"眼+脑"——负责验证和诊断(检查结果、留存证据、诊断错误)。
两者可以配合使用:browser-mcp 操作,ai-verify-mcp 验证。
Q: 支持哪些 AI 助手?
支持所有 MCP 协议兼容的 AI 助手:Cursor、Claude Code、Windsurf、Cline 等。
Q: 证据存放在哪里?
默认存放在 ./artifacts 目录,包含截图、HAR 文件、验证报告等。
Q: 如何更新到最新版本?
详见上方 📦 更新到最新版本 章节。简要说明:
npx 方式:将 MCP 配置中的版本号改为
@latest或具体新版本号(如@1.6.9),重启 IDE全局安装:执行
npm install -g @validpilot/ai-verify-mcp@latest查看最新版本:执行
npm view @validpilot/ai-verify-mcp version
Q: 启动失败,Error: Playwright browser failed to launch
原因 A: Playwright 浏览器二进制未安装
解决: 运行
npx playwright install chromium原因 B: Linux 系统缺少系统依赖
解决: Debian/Ubuntu 执行
apt-get install libnspr4 libnss3 libatk1.0-0 libdrm2 libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libasound2
Q: MCP 连接失败,MCP error -32000: Connection closed
原因:
node可执行文件路径在 MCP Host 里找不到解决: 在 MCP config 中使用
command: "npx" args: ["-y", "@validpilot/ai-verify-mcp"]而非node .../start-http.js
Q: 端口 3456 已被占用
解决: 在 MCP config 中指定自定义端口:
"env": { "MCP_HTTP_PORT": "3557" }
Q: 截图没生成到 ./artifacts
检查1: 进程对当前目录有写权限
检查2: 通过环境变量覆盖:
"env": { "VALIDPILOT_ARTIFACTS_DIR": "C:/temp/evidence" }检查3: AI 是否真的调用了
browser_screenshot工具(在 MCP 调试模式下看 ListTools 调用日志)
🔌 MCP Client 配置速查
所有客户端的 stdio/HTTP shape 一致,下面列出可直接复制粘贴的配置块。
在 Cursor(项目级推荐)
.cursor/mcp.json(项目根目录):
{
"mcpServers": {
"ai-verify-mcp": {
"command": "npx",
"args": ["-y", "@validpilot/ai-verify-mcp"],
"env": {
"MCP_HTTP_PORT": "3456"
}
}
}
}在 Claude Desktop
编辑 %APPDATA%/Claude/claude_desktop_config.json(Windows)或 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS):
{
"mcpServers": {
"ai-verify-mcp": {
"command": "npx",
"args": ["-y", "@validpilot/ai-verify-mcp"],
"env": {
"MCP_HTTP_PORT": "3456"
}
}
}
}⚠️ Claude Desktop 只会加载用户级 config 文件,重启 Claude Desktop 才能看到新工具。
在 Windsurf
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"ai-verify-mcp": {
"command": "npx",
"args": ["-y", "@validpilot/ai-verify-mcp"],
"env": {
"MCP_HTTP_PORT": "3456"
}
}
}
}在 Claude Code(本地安装)
项目根目录的 .mcp.json:
{
"mcpServers": {
"ai-verify-mcp": {
"command": "npx",
"args": ["-y", "@validpilot/ai-verify-mcp"]
}
}
}在 Cline / Continue / 其他 stdio MCP 客户端
{
"name": "ai-verify-mcp",
"command": "npx",
"args": ["-y", "@validpilot/ai-verify-mcp"]
}在 Trae IDE
两种入口二选一,推荐项目级。
方式 A:项目级(推荐,多人共享)
在项目根目录创建 .trae/mcp.json:
{
"mcpServers": {
"ai-verify-mcp": {
"command": "npx",
"args": ["-y", "@validpilot/ai-verify-mcp"],
"env": {
"MCP_HTTP_PORT": "3456"
}
}
}
}方式 B:用户级(全局生效)
%APPDATA%\Trae\User\mcp.json(Windows)或 ~/.config/Trae/User/mcp.json(macOS/Linux):
{
"mcpServers": {
"ai-verify-mcp": {
"command": "npx",
"args": ["-y", "@validpilot/ai-verify-mcp"],
"env": {
"MCP_HTTP_PORT": "3456"
}
}
}
}💡 Trae 在 settings → MCP → "+ Add" → "Raw Config (JSON)" 按钮可直接弹出对应路径;保存后重启 Trae 会话加载新工具。
⚠️ Trae MCP 限制提醒
Trae 因模型上下文窗口有限,对 MCP 引入的两道硬性上限:
限制项 | 上限值 | 触达后果 |
所有 MCP Server 工具描述总字符数 | ≈ 8000 字符 | 超出后按工具粒度丢弃多余的工具描述 |
所有 MCP Server 工具总数 | ≈ 40 个工具 | 超出后按工具粒度丢弃装不下的工具 |
📌 数据来源:Trae 官方 FAQ|MCP 工具 · 2026-02
大量堆叠 MCP 后,可能出现"list tools failed"或工具显示不全的现象——并非 ai-verify-mcp 自身问题,而是触达 Trae 上限后按工具粒度丢失描述。具体规避措施请参考 Trae 官方文档。
在 Codex CLI(OpenAI)
~/.codex/config.toml(TOML 格式,注意与 JSON 区别):
[mcp_servers.ai-verify-mcp]
command = "npx"
args = ["-y", "@validpilot/ai-verify-mcp"]
[mcp_servers.ai-verify-mcp.env]
MCP_HTTP_PORT = "3456"或使用 CLI 一次性添加:
codex mcp add ai-verify-mcp -- npx -y @validpilot/ai-verify-mcp💡 Codex CLI 默认用 stdio,HTTP 端口仅在
MCP_MODE=http时使用;如需用 HTTP 暴露给浏览器调试,需用start-http.js启动后让 Codex 通过 SSE/HTTP 连接(Codex 0.40+ 支持)。
在 OpenClaw(开源 Claude Code 替代品)
~/.openclaw/openclaw.json:
{
"mcp": {
"servers": {
"ai-verify-mcp": {
"command": "npx",
"args": ["-y", "@validpilot/ai-verify-mcp"],
"env": {
"MCP_HTTP_PORT": "3456"
}
}
}
}
}💡 OpenClaw 使用
mcp.servers.<name>嵌套结构(不是 servers 后缀是另一种风格),与 Claude Code 同源协议,可平滑迁移。
在 Hermes Agent(Nous Research)
~/.hermes/config.yaml(YAML 格式,与 JSON 路径不同):
mcp_servers:
ai-verify-mcp:
command: "npx"
args: ["-y", "@validpilot/ai-verify-mcp"]
env:
MCP_HTTP_PORT: "3456"或使用 CLI 交互式添加:
hermes mcp add ai-verify-mcp \
--command "npx" \
--args "-y,ai-verify-mcp"💡 Hermes 会自动 discover 工具列表,启动后用
hermes tools list可看到browser_*、validation_*等工具已注册。
在华为云 CodeArts(码云 IDE)
设置 → MCP工具 → "配置MCP" → 编辑 mcp_settings.json:
{
"mcpServers": {
"ai-verify-mcp": {
"command": "npx",
"args": ["-y", "@validpilot/ai-verify-mcp"],
"env": {
"MCP_HTTP_PORT": "3456"
}
}
}
}或在 IDE 命令面板执行:
Ctrl+Shift+P→ "CodeArts: Add MCP Server"选 stdio → 填
npx→ 填-y,ai-verify-mcp配置自动写入
mcp_settings.json
⚠️ 华为云码云建议开启 MCP 不超过 8 个,启用 3 个最佳,本工具是验证类,建议与 Playwright、Context7 等共用并设置 defer_loading 避免冲突。
在 Tencent CodeBuddy
方式 A(推荐):~/.codebuddy/.mcp.json(推荐)
~/.codebuddy/.mcp.json(全局)或项目级 .mcp.json(项目级):
{
"mcpServers": {
"ai-verify-mcp": {
"command": "npx",
"args": ["-y", "@validpilot/ai-verify-mcp"],
"env": {
"MCP_HTTP_PORT": "3456"
}
}
}
}方式 B:Settings.json 集成
设置 → "Add MCP" → 自动打开 settings.json,追加:
{
"mcpServers": {
"ai-verify-mcp": {
"command": "npx",
"args": ["-y", "@validpilot/ai-verify-mcp"]
}
}
}💡 CodeBuddy 支持 STDIO / SSE / HTTP 三种 transports,本节配置均用 STDIO(最常用);如需用 HTTP 模式,把
command/args替换为url: "http://localhost:3456/sse"即可。
🎬 演示:✅ vs ❌ 对比
❌ 没有验证(普通 AI 编程)
👤 "帮我写一个登录页"
🤖 "已生成 login.html / login.js ..."
👤 "能跑吗?"
🤖 "应该没问题"
👤 "......" ❌ 没有证据✅ 使用 ValidPilot Verify
👤 "帮我写一个登录页,跑完之后验证一下"
🤖 "好的,我边写边验证:
1. 打开页面 → validation_quick_run ✅
2. 输入用户名 → screenshot 已留存
3. 输入密码 → screenshot 已留存
4. 点击登录 → screenshot + URL断言 ✅
5. 验证首页 → evidence/report.md ✅
👤 *(点击 evidence/login-flow-report.md 查看截图证据)*完整证据链文件结构:
artifacts/
├── step-1-login-page.png
├── step-2-username-typed.png
├── step-3-password-typed.png
├── step-4-login-clicked.png
├── step-5-home-verified.png
└── login-flow-report.md📦 发布自动化
发布到 npm 时会自动执行健康校验。
{
"scripts": {
"start": "node server.js",
"http": "node start-http.js",
"cli": "node bin/validpilot.js",
"validate": "node bin/validpilot.js health",
"pack:dry": "npm pack --dry-run",
"prepublishOnly": "node bin/validpilot.js health && npm pack --dry-run"
}
}执行流程:
$ npm publish
> @validpilot/ai-verify-mcp@1.6.9 prepublishOnly
> node bin/validpilot.js health && npm pack --dry-run
{ "ok": true, "name": "@validpilot/ai-verify-mcp", "version": "1.6.9", ... }
npm notice package size: 649.9 kB
npm notice total files: 220
+ @validpilot/ai-verify-mcp@1.6.9 → 上传 npm registry发布前可手动验证:
npm run validate→ Playwright 健康检查npm run pack:dry→ 打包预览(不实际打包)
🙏 致谢
感谢以下项目和技术的启发:
Playwright 浏览器自动化引擎
@modelcontextprotocol/sdk MCP 协议 SDK
axe-core 无障碍检查
💬 社区与联系
钉钉交流群
扫码加入 ai-verify-mcp 官方交流群,提问、反馈、交流最佳实践:

此二维码永久有效
联系邮箱
商务合作
安全漏洞报告(请优先使用 SECURITY.md 流程)
其他问题
❤️ 支持捐赠 / Donations
感谢您对本项目的关注与支持!如果您觉得这个项目对您有帮助,欢迎通过捐赠的方式给予鼓励。
Thank you for your interest and support! If you find this project helpful, consider buying me a coffee.
捐赠将用于项目维护、功能开发、服务器开销等,所有资金将透明公开,专款专用。
Donations will be used for project maintenance, feature development, and server costs. All funds will be transparent and project-dedicated.
捐赠方式 / Donation Methods
支付宝 (Alipay) | 微信支付 (WeChat) | PayPal |
|
|
无论金额大小,都是对我莫大的鼓励。再次感谢您的支持!
No matter the amount, every bit of support means a lot. Thank you!
GitHub Sponsors:暂未开通,敬请期待。Not yet available, stay tuned.
Contributing:欢迎贡献!阅读 CONTRIBUTING.md 了解如何参与。请遵守 Code of Conduct。
Security:发现漏洞?查看 SECURITY.md 了解安全策略。
AI Agents:你是 AI Agent?查看 AGENTS.md 获取编码指南和项目约定。
License:MIT © 2026 ValidPilot
📜 许可证
MIT © 2026 ValidPilot Team
Don't just generate, verify. 让 AI 编程可信赖。
Available Tools
142 toolsapi_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}
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 目标 API URL(必填) | |
| body | No | 请求体(POST/PUT/PATCH 方法使用) | |
| headers | No | 自定义请求头,如 {"Authorization": "Bearer token", "Content-Type": "application/json"} | |
| methods | No | 要测试的 HTTP 方法列表,默认 ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS'] | |
| checkCors | No | 是否分析 CORS 配置,默认 true |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the tool's actions (sending methods, analyzing responses, CORS analysis) and error behavior ('Request failed' on unreachable URLs). Safety implications (non-destructive) are implied but not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized with sections (purpose, details, output, params, errors, example) and includes both English and Chinese, which may be redundant but not detrimental. It is somewhat verbose but every section adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters, no output schema, and a complex return object, the description fully explains the output structure (results array, corsAnalysis object), error cases, and provides a concrete example. It is complete for an agent to understand invocation and expected results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds meaningful context: default for methods, example header format, body usage notes, and checkCors default. This goes beyond the schema's brief descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as an API endpoint prober that sends multiple HTTP methods and analyzes response status, content-type, and CORS configuration. It distinguishes itself from sibling tools (e.g., security_scan, security_headers_check) by focusing on method probing and CORS verification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage contexts: API security testing, CORS configuration validation, endpoint discovery/enumeration, and OPTIONS preflight behavior verification. However, it does not discuss when not to use the tool or compare it to alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asset_discoveryA
v1.9.5 起合并 asset_routes_discover / asset_endpoint_enum / asset_endpoint_probe 三大资产发现工具。通过 mode 参数切换:routes=前端路由发现;enum=API 端点枚举;probe=端点主动探测。需要先 browser_open 打开页面。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 发现模式:routes=前端路由发现(DOM/hash/JS bundle 静态分析);enum=API 端点枚举(被动分析);probe=端点主动探测(GET/HEAD 请求) | enum |
| method | No | [probe] 探测方法:HEAD 更快但可能被拦截;GET 更可靠 | HEAD |
| timeout | No | [probe] 单个请求超时时间(毫秒) | |
| basePath | No | [probe] API 基础路径 | /api |
| maxScripts | No | [routes/enum] 最多抓取解析的外部 JS bundle 数量(上限 30),用于控制耗时 | |
| includeHidden | No | [probe] 是否包含隐藏端点(如 .env, /admin, /backup 等) | |
| maxConcurrent | No | [probe] 最大并发请求数 | |
| customEndpoints | No | [probe] 自定义探测端点列表 | |
| probeCategories | No | [probe] 探测类别:auth=认证;user=用户;order=订单;config=配置;admin=管理端;system=系统;all=全部 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the prerequisite browser_open but does not disclose error behavior, state side effects, or performance implications. The description does not confirm whether the tool is read-only or destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with version info and mode explanation. It efficiently communicates key information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters and no output schema or annotations, the description lacks coverage of return values, error handling, and overall behavior. It is incomplete for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds marginal context for the mode parameter by listing the three modes. However, it does not significantly enhance understanding beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is a merged version of three asset discovery tools and explains each mode (routes, enum, probe) with specific verbs and resources. It distinguishes itself from siblings by being a consolidated tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly requires prior browser_open and differentiates the three modes with usage scenarios. However, it does not explicitly mention when not to use or acknowledge that sibling tools like asset_routes_discover may now be redundant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asset_routes_discoverA
开源版浅层路由发现:从 DOM 链接、hash 路由、内联脚本、已加载 JS bundle 以及 network 日志中静态提取前端路由(SPA / hash / REST 路径)。仅做被动分析,不发起主动探测或越权访问。需要先 browser_open 打开页面。
| Name | Required | Description | Default |
|---|---|---|---|
| maxScripts | No | 最多抓取解析的外部 JS bundle 数量(上限 30),用于控制耗时 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description carries full burden. States passive analysis, no unauthorized access, and lists data sources. Lacks detail on output format but adequately describes behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single focused paragraph with key information upfront. Slightly dense but no wasted content; could benefit from structured list of sources.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers main purpose, data sources, passive nature, and prerequisite. No output schema, but agent can infer likelihood. Lacks constraints on environment or timeout behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter description in schema. Tool description does not add new meaning beyond schema's explanation of parameter purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specifies verb 'discover' and resource 'front-end routes' with explicit sources (DOM links, hash routes, inline scripts, JS bundles, network logs), differentiating from active probing tools. Purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States prerequisite 'need to browser_open the page first' and constraint 'passive analysis only, no active probing'. Does not explicitly compare to sibling tools but context of options implies when to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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"]}
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | axe runOnly 标签,如 wcag2a、wcag2aa、best-practice | |
| selector | No | 可选 CSS 选择器;指定后只扫描该区域 | |
| sessionName | No | 浏览器会话名称,默认当前活跃会话 | |
| excludeSelectors | No | 排除扫描的 CSS 选择器列表 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It describes the tool as running checks, returning a violations summary, and mentions errors (browser not launched, selector not found). It also gives output structure, which is helpful transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with English summary followed by Chinese details, front-loaded with key purpose. Though slightly long, every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters, no output schema, and no annotations, the description is very complete: purpose, use cases, parameters, output format, errors, and example. No output schema is needed because return values are described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description restates each parameter (selector, excludeSelectors, tags, sessionName) with purpose and optionality. It also adds example usage and error handling, providing clear meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it runs an axe-core accessibility check on the current page, with scan-scope restriction, exclude regions, and rule-tag filtering. This distinguishes it from sibling tools like browser_visual_check (visual regression) and browser_lighthouse_audit (performance/SEO) by specifically focusing on a11y violations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Chinese section explicitly lists when to use: pre-release WCAG compliance, automated regression, debugging missing aria-labels, local component scanning. It does not explicitly mention when not to use, but the specific use cases provide clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_aria_typeA
通过可访问性树的 ref 稳定标识符定位元素并输入文本。与 browser_aria_snapshot 配合使用:先用 snapshot 获取元素的 ref,再用此工具输入文本。自动清空元素已有内容后再输入。不依赖 CSS 选择器,CSS 重构后定位仍然稳定有效。
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | aria_snapshot 返回的 ref 标识符(如 'ref_0'、'ref_a3') | |
| text | Yes | 要输入的文本内容 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that it automatically clears existing content before input. With no annotations, this adds important behavioral context. Could mention event triggering but still good.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four concise sentences: purpose, workflow, auto-clear, advantage. No redundancy, efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, workflow, behavior, and stability advantage. Lacks error handling details but sufficient for low-complexity tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both params. Description adds value by explaining ref originates from aria snapshot and that text is input after clearing. Beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it locates an element via a stable ref from the accessibility tree and inputs text. It specifies the verb '输入文本' and resource '元素', and distinguishes from CSS-based siblings by emphasizing stability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly mentions pairing with browser_aria_snapshot and workflow steps. Provides context for when to use (unstable CSS) but lacks explicit when-not-to-use or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_artifactsA
列出当前 MCP 浏览器验证产生的证据产物:截图、trace.zip、HAR、HTML reports、visual 视觉产物、日志文件和当前 checkpoint。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden. It states the tool lists artifacts but does not disclose that it is likely a read-only, non-destructive operation. Behavioral traits such as side effects or access methods are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the purpose and lists the artifact types efficiently. Every part adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately explains the function but does not specify the return format (e.g., list of paths or names). It is minimally sufficient but could improve by describing what the user receives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty (zero parameters), so baseline is 4. The description does not need to add parameter semantics, and it meets that baseline without repetition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists evidence artifacts (screenshots, trace.zip, HAR, HTML reports, visual artifacts, log files, checkpoint) from MCP browser verification. It uses a specific verb and resource, and distinguishes from sibling tools like browser_artifacts_clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after browser verification to view artifacts but does not explicitly state when to use it vs alternatives (e.g., browser_artifacts_clear for clearing). No exclusion criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_captchaB
验证码处理工具(v1.9.5 起合并 browser_captcha_detect/read/screenshot)。通过 mode 参数区分子模式:detect(默认,检测验证码类型和复杂度)/ read(OCR 识别验证码文本)/ screenshot(精准截取验证码区域保存 PNG)。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | 目标页面 URL,可选(所有模式通用) | |
| mode | No | 验证码模式:detect(默认,检测验证码类型和复杂度)/ read(OCR 识别验证码文本)/ screenshot(精准截取验证码区域保存 PNG) | detect |
| minSize | No | 最小截图尺寸(像素),低于此值认为截图失败(mode=screenshot 时使用) | |
| padding | No | 截图边界 padding,默认 4px(mode=screenshot 时使用) | |
| savePath | No | 自定义保存路径,可选(mode=screenshot 时使用) | |
| detectMode | No | 检测模式:auto(自动检测)、image(仅图片验证码)、slider(仅滑块验证码)、click(仅点选验证码)(mode=detect 时使用) | auto |
| autoRefresh | No | 如果截图尺寸过小,是否自动刷新验证码并重试(mode=screenshot 时使用) | |
| captchaIndex | No | 验证码图片索引(当页面有多个验证码时使用,从 0 开始)(mode=read 时使用) | |
| captchaSelector | No | 验证码图片的 CSS 选择器,可选(所有模式通用,不提供则自动检测) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It explains the sub-modes but lacks details on prerequisites, side effects, error conditions, or what happens when CAPTCHA is not found. The behavioral disclosure is limited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, with three short sentences that front-load the key information (merged tool, mode parameter). Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters and no output schema, the description should cover return values per mode and usage flow. It only mentions saving PNG for screenshot and does not describe what detect or read return. The lack of output schema makes this a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds context about mode merging but does not add significant meaning beyond what the schema already provides. The parameter descriptions in the schema are self-sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a CAPTCHA processing tool that combines three sub-modes (detect, read, screenshot), with specific verbs and resources. It also mentions merging from sibling tools, clearly differentiating from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by stating the tool merges three previous tools, but it does not explicitly state when to use this tool versus alternatives or provide exclusions. The guidance is implied, not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_captcha_readA
读取页面中的验证码图片,支持从图片URL直接提取文字(适用于简单验证码服务),以及使用OCR识别复杂验证码。当识别失败或置信度较低时,会返回验证码图片供人工识别。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | 目标页面URL,可选 | |
| captchaIndex | No | 验证码图片索引(当页面有多个验证码时使用,从0开始),可选 | |
| captchaSelector | No | 验证码图片的CSS选择器,可选 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses key behaviors: supports two recognition methods and falls back to returning image for manual review on failure/low confidence. It does not mention whether it modifies page state or requires specific page conditions, but the read-only nature is implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Highly concise with three sentences, front-loading the core action. Every sentence adds meaningful detail without redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should explain return values. It mentions returning image for manual recognition but does not specify format or structure for successful extractions. For a tool with 3 optional parameters, it covers the main flows but lacks precise return details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters have descriptions. The tool description provides no additional context beyond what the schema already states. Baseline 3 is appropriate as the description adds no extra semantic value for parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specifically states it reads captcha images from a page and supports two recognition methods (direct URL extraction and OCR), clearly distinguishing it from sibling tools like browser_captcha_detect (detection) and browser_captcha_screenshot (screenshot).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for reading captchas and differentiates between simple (direct extraction) and complex (OCR) cases. However, does not explicitly state when to use this tool versus alternatives, nor mentions exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_captcha_screenshotA
精准截取验证码图片区域,保存为PNG文件。支持自动检测验证码位置或手动指定选择器。截图文件可用于后续OCR分析或人工识别。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | 目标页面URL,可选 | |
| minSize | No | 最小截图尺寸(像素),低于此值认为截图失败 | |
| padding | No | 截图边界padding,默认4px | |
| savePath | No | 自定义保存路径,可选 | |
| autoRefresh | No | 如果截图尺寸过小,是否自动刷新验证码并重试 | |
| captchaSelector | No | 验证码图片的CSS选择器,可选(如果不提供则自动检测) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; the description adds behavioral context like auto-refresh on small size, but lacks details on side effects, prerequisites, or error behavior. Missing what happens if no captcha found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-loading the main purpose. No redundancy, but could be slightly more structured with parameter grouping.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers basic usage and output format (PNG), but no explanation of return value (e.g., file path or base64). Missing error conditions and integration with sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 6 parameters are documented in the schema (100% coverage). The description adds context about auto-detection vs manual selector but does not significantly enhance understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool captures a screenshot of a captcha area and saves it as PNG. It mentions auto-detection vs manual selector, distinguishing it from related tools like browser_captcha_detect and browser_captcha_read.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for captcha capture with auto or manual selection, but does not explicitly compare to alternatives like browser_screenshot_element or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_chainA
链式执行多个浏览器操作,每步操作后自动检查控制台错误和网络错误。发现错误可立即终止并返回失败步骤。支持强制执行模式,开启时强制进行错误检查且不可关闭。step.type 与 step.action 互为别名,二者至少传一个。
| Name | Required | Description | Default |
|---|---|---|---|
| actions | Yes | 操作步骤数组,每个步骤包含 type(或 action 别名)和相关参数 | |
| stopOnError | No | 是否在发现错误时立即停止,默认 true | |
| includeConsole | No | 是否检查控制台错误,默认 true(enforceValidation=true 时强制为 true) | |
| includeNetwork | No | 是否检查网络错误,默认 true(enforceValidation=true 时强制为 true) | |
| enforceValidation | No | 是否强制执行错误检查,开启时 includeNetwork 和 includeConsole 强制为 true 且不可被覆盖,默认 true |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It discloses error-checking behavior, stop-on-error, and enforce mode details. However, it does not mention side effects on browser state or session persistence, which are important for a chaining tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (two sentences) and front-loads the main purpose. Every sentence adds value, though it could be more structured with bullet points for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided. The description explains error checking but lacks details about return format or what 'return failed step' means. Given the complexity of chaining and many siblings, more context on output and when to chain vs. step would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and parameters are well-documented. The description adds minimal value by noting that 'step.type' and 'step.action' are aliases and at least one required, which is already implied by anyOf. No additional semantics beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool chains multiple browser operations with automatic error checking after each step. It distinguishes itself from single-step tools like browser_step and similar chaining tools by specifying error-checking and enforce-validation features.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the general behavior (error checking, termination on error, enforce mode) but does not explicitly specify when to use this tool over alternatives like browser_flow or browser_step. No guidance on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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}
| Name | Required | Description | Default |
|---|---|---|---|
| index | No | 当选择器匹配多个元素时,指定点击第几个元素(从 0 开始)。不提供时默认点击第一个元素。 | |
| selector | Yes | CSS 选择器(支持 Playwright 语法,如 'button:has-text("Log In")' 或 '#submit-btn') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses key behaviors: returns multi-element hint instead of timeout when multiple matches, uses index to disambiguate. Describes output fields and error conditions. No annotations provided, so description carries full burden. Minor omission: doesn't mention waiting behavior or scrolling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with English summary followed by Chinese details in bullet points. Some redundancy between English and Chinese, but clear and front-loaded with key behavior. Could be slightly more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description covers output fields, error conditions, multi-element behavior, and use cases. Completely adequate for a click tool with good contextual detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both parameters with descriptions (100% coverage). Description adds value by providing example usage and clarifying supported syntax (Playwright) and index selection behavior, which goes beyond bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool clicks a DOM element matched by CSS selector in a real browser. Specific verb (click) and resource (DOM element). Distinguishes from siblings like browser_hover and browser_type by focusing on clicking. Also mentions multi-element handling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use scenarios in the Chinese section (e.g., triggering navigation, activating UI controls, verifying clickability, after snapshot). Does not explicitly name alternatives or state when not to use, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Text content of the element to find and click (alternative to 'selector', uses accessibility tree) | |
| label | No | Human-readable label for this audit step (used in screenshot filenames) | |
| waitMs | No | Wait time after click in milliseconds before capturing results | |
| selector | No | CSS selector of the element to click (required unless 'text' is provided) | |
| autoReturn | No | Automatically navigate back after audit (goBack for URL nav, re-click for SPA toggle) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility. It details the sequence: screenshot before, click, wait, screenshot after, image diff, error collection, and return. It also explains the 'autoReturn' parameter's behavior (goBack for URL nav, re-click for SPA toggle) and mentions silentFail errors. However, it does not cover potential side effects like navigation away from the original page or error handling when element is not found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: first sentence defines the workflow, second lists return values. It is concise without being overly terse. The structure is front-loaded with the main action. Every part adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters and no output schema, the description covers the main flow and return values (navigation status, visual diff ratio, errors, screenshot paths). It also explains key parameter 'autoReturn'. Missing details: what happens if both 'text' and 'selector' are provided or neither, and error handling for element not found. Still, it provides enough context for typical usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds minimal extra meaning beyond the schema; it reiterates that 'text' and 'selector' are alternatives and explains 'autoReturn' slightly more. No significant additional context for other parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Audit a single click' and describes the full workflow (screenshot→click→wait→screenshot→diff→error collection). The name also reinforces this purpose. It distinguishes itself from siblings by emphasizing it replaces multiple individual tool calls for click-through validation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'One call replaces 6+ individual tool calls for click-through validation loops,' indicating when to use this tool as an alternative to chaining multiple browser tools. It does not provide explicit when-not-to-use scenarios, but the context is clear enough for agent decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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() 中的错误可能被页面渲染流程吞没。
| Name | Required | Description | Default |
|---|---|---|---|
| level | No | 控制台日志级别过滤,默认为all | |
| limit | No | 返回日志数量限制,默认50 | |
| since | No | 时间过滤起始点,ISO时间戳或时间描述(如'5m'表示最近5分钟) | |
| urlContains | No | 按URL关键字过滤 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Given the absence of annotations, the description thoroughly discloses behavioral traits: what it covers (all console types, window.onerror, unhandledrejection), and critical limitations (cross-origin scripts marked, early inline errors possibly missed, document.write() issues). This provides excellent transparency for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with primary purpose, coverage, and boundaries in separate sections. It is informative but somewhat lengthy; a minor simplification could improve conciseness without losing key details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers parameters and behavioral limitations well, but it does not describe the output format or structure of the returned logs. Since there is no output schema, the description should hint at the return type or content to be fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 4 parameters (level, limit, since, urlContains) are fully described in the input schema (100% coverage). The description only mentions level filtering and URL filtering briefly, adding no new semantic information beyond what the schema provides, hence baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads browser console logs with level filtering, and specifies coverage (console.error/warn/log/debug, window.onerror, unhandledrejection). However, it does not explicitly differentiate from sibling tools like browser_errors, leaving some ambiguity about when to use which.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as browser_errors or browser_network. It only describes its own functionality and limitations, without any comparative or conditional usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_cookiesA
查看和管理浏览器Cookie。支持获取所有Cookie、按域名筛选、设置Cookie、清除Cookie。返回Cookie总数、每个Cookie的详细信息(名称、值、域名、路径、过期时间、安全标志等)。调试时可快速查看登录态、Token等认证信息。
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | 按名称筛选Cookie(仅action=get时生效) | |
| action | No | 操作类型:get(获取Cookie,默认)、clear(清除所有Cookie)、set(设置Cookie) | get |
| cookie | No | 要设置的Cookie对象,包含 name、value 属性,可选 domain、path、expires 等(仅action=set时生效) | |
| domain | No | 按域名筛选Cookie,如 .example.com(仅action=get时生效) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses all key behaviors: read (get), write (set), and delete (clear). It notes that clear removes all cookies and set requires name/value. No side effects or permissions are mentioned, but the actions are clearly defined. The description covers the essential traits beyond what the schema provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (3 sentences) and front-loaded with the core purpose. Every sentence adds value: purpose, supported actions, output details, and practical use case (debugging auth). No redundant phrases.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, nested object) and no output schema, the description explains return values for 'get' action. For 'clear' and 'set', returns are implicit. The description is sufficient for a cookie management tool among many browser siblings. A complete description would mention return format for all actions, but the current one is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds context: e.g., 'name filters when action=get', 'action default is get', 'cookie object required for set'. This provides meaningful usage hints beyond the schema, justifying a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: viewing and managing browser cookies with actions get, set, clear. It specifies what it does (get all cookies, filter by domain, set, clear) and the output (total count and details). This distinguishes it from sibling browser tools like browser_storage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is provided. The description implies usage for cookie management but does not differentiate from siblings like browser_storage or other cookie-related tools. The agent must infer context from the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_counterfactual_analyzeA
反事实根因分析 - 当测试失败时,分析"如果消除因素X(遮挡物/JS错误/HTTP错误/加载问题),测试是否还会失败",自动生成根因假设并按置信度排序,给出验证工具建议
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | 输出格式:json(默认结构化数据)或 html(HTML 报告) | json |
| failureContext | No | 可选,失败上下文描述(如"按钮不可见"、"表单提交失败"、"网络超时"等),用于匹配相关根因假设并提高置信度 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility. It discloses that the tool generates root cause hypotheses, ranks them by confidence, and suggests verification tools. It lists the factors analyzed and implies a non-destructive analytical operation. Missing details like required session state but overall transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the purpose, but it is somewhat lengthy and could benefit from clearer structure or bullet points for readability. Front-loads the main idea.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 2 parameters, no output schema, and many sibling diagnostic tools, the description adequately explains the core function and output nature (hypotheses with confidence, verification suggestions). It could mention the dependency on an active test failure context or session, but overall it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described. The tool description does not add significant meaning beyond what the schema provides for 'format' and 'failureContext'. Baseline of 3 is appropriate as no extra value is added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs 'counterfactual root cause analysis' when a test fails, analyzing specific factors (blockers, JS errors, HTTP errors, loading issues) to generate hypotheses sorted by confidence and verification suggestions. This is a specific verb and resource, distinguishing it from sibling tools like browser_diagnose or error_analyze.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies the context as 'when a test fails', providing clear usage context. However, it does not explicitly mention when not to use the tool or suggest alternative sibling tools for different scenarios. Nonetheless, the counterfactual nature sets it apart.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_data_compareB
数据一致性比对:提取页面表格、卡片、列表数据,与期望数据或基准数据进行比对,识别数据缺失、格式错误、内容差异。支持多种数据源:DOM表格、JSON响应、localStorage、API返回数据。
| Name | Required | Description | Default |
|---|---|---|---|
| apiBody | No | POST请求的body数据 | |
| session | No | 浏览器会话ID | |
| selector | No | 目标数据区域的CSS选择器,如表格、卡片列表容器 | |
| apiMethod | No | API请求方法 | GET |
| keyFields | No | 主键字段列表,用于数据匹配比对 | |
| storageKey | No | localStorage/sessionStorage中的数据键名 | |
| strictMode | No | 严格模式:字段类型和顺序必须完全一致 | |
| apiEndpoint | No | API端点URL,用于获取比对数据 | |
| compareMode | No | 比对模式:dom_vs_api=页面数据与API响应比对,dom_vs_storage=页面数据与本地存储比对,dom_vs_expected=页面数据与期望数据比对,baseline_compare=与已保存的基线比对 | dom_vs_api |
| extractMode | No | 数据提取模式:table=表格,cards=卡片列表,list=普通列表,custom=自定义选择器 | table |
| baselineName | No | 基线名称,用于baseline_compare模式 | |
| expectedData | No | 期望数据,用于与页面数据比对 | |
| ignoreFields | No | 忽略比对的字段列表 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden for behavioral disclosure. It does not mention whether the tool is read-only, destructive, or requires authentication. The absence of such details leaves important behavioral traits unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph in Chinese. While it covers the essential points, it could be more concise and structured (e.g., bullet points) to improve readability for an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 13 parameters with enums and nested objects, but no output schema. The description explains the comparison modes and data sources but lacks details on the output format, errors, or behavior for edge cases, making it partially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so even without additional param details in the description, a baseline of 3 is appropriate. The description adds overall context but does not enhance individual parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool performs data consistency comparison between page data (tables, cards, lists) and expected or baseline data, identifying gaps. It lists multiple data sources and comparison modes, distinguishing it from sibling browser tools like visual or network analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description enumerates compare modes (dom_vs_api, etc.) and extraction modes, implying usage contexts. However, it does not explicitly state when to prefer this tool over alternatives (e.g., visual comparison or API probes) or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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 并输出假设和证据链)。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 调试模式:report(默认,生成调试报告)/ diagnose(诊断错误根因)/ investigate(问题调查与假设) | report |
| focus | No | 关注的 URL/API 关键字,例如 /api/ai/summarize(mode=investigate 时使用) | |
| limit | No | 网络和事件最多返回条数,默认 20/50(mode=investigate 时使用) | |
| symptom | No | 问题现象,例如:点击 AI 要点后 403(mode=investigate 时使用) | |
| expected | No | 期望结果,例如:生成 AI 要点(mode=investigate 时使用) | |
| selector | No | 目标元素选择器,诊断该元素相关的错误(mode=diagnose 时可选,不传则诊断整个页面) | |
| errorType | No | 聚焦诊断的错误类型:all(全部)、js(JS错误)、network(网络错误)、element(元素问题)、interaction(交互失败),默认 all(mode=diagnose 时使用) | all |
| statusMin | No | 只关注状态码大于等于该值的网络记录(mode=investigate 时使用) | |
| includeDom | No | 是否包含页面文本和元素摘要,默认 true(mode=report 时使用) | |
| urlContains | No | focus 的别名,按 URL 过滤网络和事件(mode=investigate 时使用) | |
| includeStorage | No | 是否包含存储信息,默认 false(mode=report 时使用);mode=investigate 时默认 true | |
| includeArtifacts | No | 是否包含 artifacts 列表,默认 true(mode=investigate 时使用) | |
| includeStackTrace | No | 是否包含 JS 错误堆栈分析,默认 true(mode=diagnose 时使用) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden and details what each mode does and what it returns (e.g., rootCause, suggestedFixes, hypothesis chain). It does not mention prerequisites like requiring an active session.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph that efficiently conveys the tool's purpose and modes without wasted words. It could be improved with bullet points for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (13 parameters, 3 modes), the description provides a good overview of modes and outputs. However, it does not explicitly map parameters to modes or detail return values comprehensively since no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds context for the mode parameter but does not elaborate on each parameter beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is a browser debug diagnostic tool with three specific sub-modes (report, diagnose, investigate) and mentions it merges three predecessor tools, distinguishing it from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use each sub-mode (e.g., generate report, diagnose errors, investigate symptoms) but does not explicitly exclude alternative sibling tools for more focused operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_debug_reportA
生成当前浏览器调试报告,汇总页面状态、错误日志、网络错误、可选 DOM 与存储信息
| Name | Required | Description | Default |
|---|---|---|---|
| includeDom | No | 是否包含页面文本和元素摘要,默认 true | |
| includeStorage | No | 是否包含存储信息,默认 false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility. It accurately describes the output as a report without side effects. It could mention that it's read-only and does not modify browser state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the tool's purpose and scope without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two optional boolean parameters and no output schema, the description covers the key aspects. It adequately informs the agent of what the report includes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema's parameter descriptions, just mentioning optional DOM/storage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates a comprehensive debug report summarizing page state, errors, network errors, and optionally DOM/storage. It distinguishes itself from sibling tools like browser_errors_aggregate and browser_network_detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when a broad debug report is needed, but does not explicitly state when to use or not use this tool versus others. No alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_diagnoseA
自动诊断浏览器错误根因。分析控制台错误、页面错误、网络错误、元素状态、JS执行状态,定位问题根源(如元素未加载、JS未执行、网络超时、权限不足等)。返回诊断报告含 rootCause、confidence、suggestedFixes、affectedElements。
| Name | Required | Description | Default |
|---|---|---|---|
| selector | No | 目标元素选择器,诊断该元素相关的错误(可选,不传则诊断整个页面) | |
| errorType | No | 聚焦诊断的错误类型:all(全部)、js(JS错误)、network(网络错误)、element(元素问题)、interaction(交互失败) | all |
| includeStackTrace | No | 是否包含JS错误堆栈分析,默认true |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It describes analysis of errors and return of a report, but does not disclose whether the tool is read-only, triggers side effects, or requires specific permissions. The behavioral disclosure is adequate but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (two sentences) and front-loaded with the main purpose. It efficiently conveys the tool's action and output, though the first sentence is somewhat dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (diagnostic with 3 parameters, no output schema), the description adequately covers the return structure and analysis scope. It lacks details on edge cases or interpretation of confidence, but is sufficient for agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters have schema descriptions (100% coverage). The description adds value by listing the return fields (rootCause, confidence, etc.), which goes beyond schema details and helps the agent understand diagnostic output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool diagnoses browser error root causes by analyzing various error types and returns a report with specific fields. It distinguishes from sibling tools like browser_errors_aggregate by focusing on root cause analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for error diagnosis but does not explicitly state when to use this tool versus alternatives like browser_errors_aggregate or browser_network_detail. No when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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"}
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | CSS 选择器 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully explains behavior: returns specific fields (exists, visible, text, etc.), error cases (no match returns exists=false, invalid selector throws error), and output structure. This is comprehensive for a read-only query.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat lengthy but well-organized with clear sections (English, then Chinese with subheadings). Every sentence adds value, and the structure aids readability. Not overly verbose for the information provided.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description covers output structure, parameter details, error behavior, and provides an example. All necessary context for an agent to use the tool correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (CSS 选择器). The description adds context about the selector's purpose (query a single element) but no new technical or format details beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool queries detailed DOM state of a single element by CSS selector, specifying visibility, text, attributes, computed style, and bounding box. It uses specific verbs and resources, and the details help distinguish it from siblings like browser_click or browser_element_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use scenarios: before click/input to confirm element existence/visibility, debugging occlusion, verifying attributes, getting coordinates. It does not explicitly mention when not to use or alternative tools, but the guidance is clear and relevant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_element_statusA
诊断元素状态(可见性、可交互性、加载状态、遮挡情况、事件绑定)。快速判断元素为何无法点击/输入,返回具体原因(如被遮挡、不可见、disabled、未加载、动画中、z-index问题等)和修复建议。
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | 要诊断的元素选择器(必填) | |
| checkEvents | No | 是否检查元素事件绑定(click/keydown/change等),默认true | |
| checkVisibility | No | 是否详细检查可见性(opacity、display、visibility、clip-path),默认true | |
| checkInteractability | No | 是否检查可交互性(disabled、readonly、pointer-events),默认true |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses the tool's behavior: it checks specific states (visibility, interactability, loading, occlusion, event binding) and returns reasons and fix suggestions. It does not mention side effects, but the name and purpose imply a read-only diagnostic operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words: the first states what the tool does, the second states its purpose and output. Front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multiple diagnostic checks) and lack of output schema, the description adequately explains what the tool checks and what it returns (reasons and fix suggestions). However, it does not detail the output structure, which could help agents parse results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters have schema descriptions (100% coverage). The tool description does not add additional meaning beyond the schema; it briefly summarizes the checks but does not elaborate on parameter semantics or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: diagnosing element status (visibility, interactability, loading, occlusion, event binding) to determine why an element cannot be clicked or input, and provides specific reasons and fix suggestions. It distinguishes itself from sibling tools like browser_click (clicking) and browser_find_element (finding) by focusing on status diagnosis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when an element is not clickable or inputable ('快速判断元素为何无法点击/输入'), but does not explicitly state when to use this tool versus alternatives like browser_diagnose or browser_a11y_check. No exclusions or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_emulate_deviceB
模拟指定设备(iPhone/Android/平板)的完整特性,包括 User-Agent、视口尺寸、触摸事件、像素密度等。支持预设设备列表和自定义设备配置。
| Name | Required | Description | Default |
|---|---|---|---|
| touch | No | 是否启用触摸模拟 | |
| device | No | 设备名称或别名。可用预设:iPhone 14/15/16 系列、Android Pixel/Samsung Galaxy、Tablet iPad/Android、Desktop。 | |
| locale | No | 本地化设置 | zh-CN |
| timezone | No | 时区设置 | Asia/Shanghai |
| viewport | No | 自定义视口(覆盖设备预设) | |
| userAgent | No | 自定义 User-Agent(覆盖设备预设) | |
| colorScheme | No | 颜色方案偏好 | light |
| geolocation | No | 地理位置模拟 | |
| orientation | No | 屏幕方向 | portrait |
| permissions | No | 要授权的权限,如 ['geolocation', 'notifications'] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It does not disclose whether emulation is persistent, if it modifies browser session, or if it has destructive effects. Minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that front-load the main purpose. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (10 params, nested objects) and no output schema, the description is brief. It omits details like return value, state persistence, and error conditions, leaving gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage, so baseline is 3. The description adds some value by summarizing capabilities (presets, custom config) but does not significantly enhance parameter understanding beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool simulates complete device characteristics (User-Agent, viewport, touch events, etc.) and supports presets and custom configurations. It is distinct from sibling tools like browser_navigate or browser_responsive_test.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives (e.g., browser_responsive_test). The description does not mention prerequisites, side effects, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_errorsA
统一错误管理工具(v1.9.5 起合并 browser_errors_aggregate 和 browser_errors_clear)。通过 mode 参数区分子模式:view(默认,查看本轮 Console/PageError/HTTP 4xx 5xx/静默失败错误)/ aggregate(去重聚合并返回 Top errors)/ clear(清空错误日志并创建新 checkpoint)。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 错误管理模式:view(默认,查看本轮错误)/ aggregate(去重聚合并返回 Top errors,等价于已废弃的 browser_errors_aggregate)/ clear(清空错误日志并创建新 checkpoint,等价于已废弃的 browser_errors_clear) | view |
| limit | No | MCP服务错误日志最多返回条数,默认50 | |
| since | No | ISO时间戳,只返回该时间之后的错误 | |
| method | No | 只返回指定HTTP方法的网络错误 | |
| statusMax | No | 只返回状态码小于等于该值的网络记录 | |
| statusMin | No | 只返回状态码大于等于该值的网络记录 | |
| currentOnly | No | 是否只返回当前checkpoint之后的错误,默认true | |
| urlContains | No | 只返回URL包含该关键字的网络错误 | |
| includeWarnings | No | 是否包含warning/warn日志,默认false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the three modes and mentions that clear mode creates a new checkpoint. However, it does not discuss side effects, prerequisites, or limitations such as what happens to existing errors after clear, or the scope of 'this round' in view mode.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of a short paragraph. It front-loads the purpose and version information. However, it could be better structured with bullet points or clearer separation of modes for quicker scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 9 parameters and no output schema, the description provides the high-level behavior but lacks specifics such as the types of errors included, what 'Top errors' means in aggregate mode, or the checkpoint mechanism. It is adequate but not fully comprehensive for a tool with this many parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds value by explaining the mode parameter's equivalence to deprecated tools, which clarifies its semantics beyond the schema. For other parameters, the description does not add extra detail, but the schema itself is sufficiently descriptive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a unified error management tool and explicitly mentions it replaces two deprecated tools (browser_errors_aggregate and browser_errors_clear). It specifies three modes: view (default), aggregate, and clear, each with a brief explanation. This distinguishes it from its siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool versus the deprecated siblings by stating it is the unified version since v1.9.5. It explains the three modes and their purposes. However, it lacks explicit when-not-to-use scenarios or alternative tool suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_errors_aggregateA
收集或接收浏览器 Console/Network/PageError/DOM 摘要,去重聚合并返回 Top errors;默认不返回完整日志。
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Top errors 数量,默认 5 | |
| evidence | No | 可选外部证据摘要 | |
| includeCurrentPage | No | 是否优先读取当前页面低 Token 证据,默认 true |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It explains deduplication, aggregation, and the default of not returning full logs, which is sufficient for a read-only aggregate operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that efficiently conveys the core functionality without filler. Every word contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given three parameters and no output schema, the description provides sufficient context for the aggregate operation. It could elaborate on what 'evidence' entails, but overall it is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all parameters (100%), and the description does not add significant meaning beyond what the schema provides. The term 'Top errors' aligns with the limit parameter, but no new insights.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it collects browser error summaries, deduplicates, aggregates, and returns top errors. However, it does not explicitly differentiate from the sibling tool 'browser_errors', which likely provides similar functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for aggregated top errors and notes it does not return full logs, but lacks explicit guidance on when to use this tool versus alternatives like browser_errors for complete logs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_errors_clearA
清空当前浏览器运行时 Console/PageError/Network 错误日志并创建新的验证 checkpoint,用于隔离本轮验证错误。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the destructive action (clearing logs) and the creation of a checkpoint, though it does not detail side effects like impact on previous checkpoints or browser state beyond errors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that concisely conveys the action and purpose, with no extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-argument tool, the description is complete enough to understand the action and its purpose. Minor omission: the checkpoint's role in subsequent validation steps could be elaborated, but not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters (baseline 4). The schema is empty, and the description does not add parameter information, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it clears browser error logs (Console/PageError/Network) and creates a verification checkpoint, distinguishing it from sibling tools like browser_errors (reads errors) and browser_errors_aggregate (aggregates errors).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'to isolate this round of verification errors' implies usage after a validation run to reset error state, providing context. No explicit when-not-to-use or alternatives are mentioned, but the sibling list offers differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_evalA
在当前浏览器页面执行调试 JavaScript 表达式并返回可序列化结果。返回值会自动脱敏 token、password、apiKey、Authorization 等敏感字段。
| Name | Required | Description | Default |
|---|---|---|---|
| expression | Yes | 要执行的 JavaScript 表达式或函数体 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only mentions auto-masking of sensitive fields. Lacks disclosure of potential destructive side effects from arbitrary JS execution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundancy, efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers basic purpose and return behavior but omits error handling, execution context, and serialization limitations for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of the single parameter; description adds that result is serializable and sensitive fields are masked, but no extra syntax guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it executes JavaScript expressions on the current browser page and returns serializable results, distinguishing it from sibling browser tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies debugging use case but does not explicitly state when to use versus alternatives like browser_click or browser_find.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_eventsA
运行时事件管理工具(v1.9.5 起合并 browser_events_clear)。通过 mode 参数区分子模式:view(默认,查看 browser_instrument 捕获的事件流,支持按类型/URL/方法/状态码过滤)/ clear(清空运行时事件并创建新的事件 checkpoint)。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 事件管理模式:view(默认,查看事件流)/ clear(清空事件并创建新 checkpoint,等价于已废弃的 browser_events_clear) | view |
| type | No | 事件类型,如 fetch_start/fetch_end/xhr_end/click/input/console/window_error/unhandledrejection/route/storage_set | |
| limit | No | 最多返回事件条数,默认 100 | |
| since | No | ISO 时间戳,只返回该时间之后的事件 | |
| method | No | 只返回指定 HTTP 方法的 fetch/xhr 事件 | |
| statusMin | No | 只返回状态码大于等于该值的网络事件 | |
| urlContains | No | 只返回页面 URL 或请求 URL 包含该关键字的事件 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the destructive nature of clear mode ('清空运行时事件') and creation of a checkpoint, but does not mention authorization, rate limits, or other side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with purpose and version note. No redundant information, every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the main use cases (viewing and clearing events) and filtering options. Lacks details on output format or what a checkpoint is, but is mostly complete for a viewing/clearing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. The description adds context by explaining the mode parameter's sub-modes and linking other parameters (type, urlContains, method, statusMin) to filtering capabilities, enhancing understanding beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a runtime event management tool with two modes (view and clear), and mentions it merged browser_events_clear since v1.9.5. However, it does not explicitly differentiate from other event-related siblings like browser_errors or browser_network.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use view vs clear via the mode parameter, but lacks explicit when-not-to-use or alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_events_clearA
清空 browser_instrument 捕获的运行时事件并创建新的事件 checkpoint。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It states the action (clear and create checkpoint) but does not disclose side effects, such as whether events are permanently deleted, whether ongoing instrumentation is affected, or if the checkpoint overwrites previous ones. This is insufficient for a destructive tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. It efficiently communicates the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description covers the basic intent. However, as a destructive tool, it lacks important context such as irreversibility, effect on future captures, and definition of 'checkpoint'. More detail would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the description need not add parameter meaning. Baseline is 4 for 0 parameters; the description is clear and requires no further parameter explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: clearing runtime events captured by browser_instrument and creating a new checkpoint. The verb '清空' (clear) and resource 'runtime events' are specific, and the action distinguishes it from siblings like browser_events (read) and browser_instrument (start capture).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after browser_instrument capture to reset state, but provides no explicit when/when-not guidance or mention of alternatives. An agent would infer usage context but lacks clear decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_findA
智能查找工具(v1.9.5 起合并 browser_find_element/find_page)。通过 mode 参数区分子模式:element(默认,按文本描述或 ARIA 角色智能定位页面元素)/ page(按目标页面关键词定位页面,支持 SPA 按钮导航发现)。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 查找模式:element(默认,按文本/角色定位元素)/ page(按关键词定位页面) | element |
| role | No | 元素角色:button/link/input/textbox/checkbox/radio/combobox 等(mode=element 时使用) | |
| text | No | 要查找的元素文本(mode=element 时必填) | |
| limit | No | 返回数量,默认 5(mode=element 时使用) | |
| target | No | 目标页面类型:login/signup/home/dashboard/admin/settings/profile/search/cart/checkout/forgot-password/reset-password/logout/all(mode=page 时必填) | |
| baseUrl | No | 基础 URL,用于尝试常见路径。不指定时从当前页面 URL 推导(mode=page 时使用) | |
| tagName | No | 标签名过滤,如 button/a/input/div 等(mode=element 时使用) | |
| navigate | No | 是否导航到发现的页面(如果还没在目标页面),默认 false(mode=page 时使用) | |
| onlyVisible | No | 只返回可见元素,默认 true(mode=element 时使用) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full disclosure burden. It mentions supporting SPA button navigation discovery for page mode, but lacks details on error handling, return format, or the 'intelligent' aspect. Adequate but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that front-load the tool's purpose and version, then concisely explain modes. No redundant information. Efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters and no output schema or annotations, the description covers the two modes but omits details on return values, error conditions, or limitations (e.g., visibility, limit behavior). Adequate for basic use but incomplete for complex scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining the two modes and noting SPA navigation support beyond the schema descriptions. It clarifies the purpose of each mode and some parameter usage context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a combined find tool for elements and pages, with explicit mode differentiation. It distinguishes itself from sibling tools like browser_find_element and browser_find_page by noting it is a merge since v1.9.5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies when to use each mode (element vs page) and mentions SPA button navigation discovery for page mode. However, it does not explicitly state when not to use this tool versus alternatives, though the mode explanation provides clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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}
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | 元素角色:button/link/input/textbox/checkbox/radio/combobox 等(可选) | |
| text | Yes | 要查找的元素文本 | |
| limit | No | 返回数量,默认 5 | |
| tagName | No | 标签名过滤,如 button/a/input/div 等(可选) | |
| onlyVisible | No | 只返回可见元素,默认 true |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries full burden. It discloses the matching strategy hierarchy (exact text > contains text > placeholder > aria-label > title/alt > fuzzy), error handling (empty array with ok=true for no match, error for empty text), and the return structure with confidence scores and visibility flag. This is comprehensive, though it could mention potential side effects or performance impacts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with sections for matching strategy, usage, output, parameters, errors, and examples. It is concise but includes both English and Chinese text, which may be redundant for an English-only agent. Nevertheless, every part adds useful information, and it is not overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description fully explains the return format ({ ok, results, total }) and the content of each result item. It covers all necessary aspects: purpose, matching strategy, parameter details, error handling, and an example. For a tool with 5 parameters and no annotations, this is complete and well-suited for an AI agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers all parameters with descriptions (100% coverage), so baseline is 3. The description adds value by specifying default values for onlyVisible (true) and limit (5), clarifying the role parameter values with examples, and adding error handling info for the text parameter. This extra context justifies a score of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as a 'Smart element locator' that finds visible DOM elements by text or ARIA role, using a multi-strategy matching approach. It distinguishes itself from sibling tools like browser_click or browser_find by specifying that it returns CSS selectors with confidence scores, and it is intended for cases where the selector is unknown but the text is known.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use scenarios in Chinese: when selector is unknown but button text is known, when UI text changes, for batch automation, and for testing elements without id/name. Although it doesn't explicitly state when not to use it, the given contexts are clear and helpful for the agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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"}
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | 目标页面类型:login / signup / home / dashboard / admin / settings / profile / search / cart / checkout / forgot-password / reset-password / logout / all | |
| baseUrl | No | 基础URL,用于尝试常见路径。不指定时从当前页面URL推导 | |
| navigate | No | 是否导航到发现的页面(如果还没在目标页面),默认false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Details priority chain order, output fields (matched, matchMethod, score, etc.), error conditions ('Invalid target' for invalid target value), and behavior when navigate=true fails. Fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded English summary followed by structured Chinese details. Slightly verbose due to repetition, but justified given the complexity. Every section serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with no output schema, description provides output structure, error handling, use cases, and an example. Complete for agent to decide and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds value beyond schema: explains target enum values, default for navigate (false), derivation of baseUrl from current URL when omitted, and example usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Smart page discovery: locate target page...' with specific verb (locate) and resource (target page). It distinguishes from siblings by specifying the priority chain and supported target types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use scenarios in Chinese (e.g., when URL unknown, SPA navigation, regression tests). Lacks explicit alternatives among siblings but covers context well.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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 种操作。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 编排模式:flow(默认,标准多步编排)/ chain(链式,每步检查 console+network 错误,等价于已废弃的 browser_chain)/ batch(批量,受 maxSteps 限制,等价于已废弃的 browser_batch) | flow |
| steps | Yes | 流程步骤列表,按顺序执行。每个步骤的 type/action 字段互为别名,至少传一个。chain 模式下也可使用 actions 字段名(向后兼容 browser_chain) | |
| actions | No | chain 模式下 steps 的别名(向后兼容 browser_chain)。优先使用 steps 字段 | |
| maxSteps | No | batch 模式专用:最大步骤数限制(默认 20)。超出则报错 | |
| clearErrors | No | 流程开始前是否清空运行时错误日志,默认 true | |
| stopOnError | No | chain 模式专用:某步骤失败后是否停止(默认 true)。等价于 continueOnError 的反义,stopOnError=true 等价于 continueOnError=false | |
| includeConsole | No | chain 模式专用:每步是否检查控制台错误(默认 true) | |
| includeNetwork | No | chain 模式专用:每步是否检查网络错误(默认 true) | |
| continueOnError | No | 某步骤失败后是否继续执行后续步骤,默认 false(失败即停止)。chain 模式下默认 false(等价于 stopOnError=true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description fully bears the burden. It discloses automatic evidence capture (screenshot+snapshot) per step, the alias between type and action, mode-specific behaviors (chain checks console/network errors, batch limits steps), and the stop-on-error/continue-on-error options. While it does not cover auth requirements or session management, these are likely handled by other tools and the description provides adequate transparency for the core behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (4-5 lines in Chinese), front-loaded with the core purpose, and well-structured: it states the tool function, lists operations, explains aliases, describes modes, and contrasts with a sibling. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 9 parameters, nested steps, and no output schema, the description is fairly complete: it covers purpose, mode semantics, step aliases, and sibling differentiation. However, it does not describe the return value or specify the requirement for an active browser session (though implied by the sibling list). A minor gap reduces it from perfect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, baseline is 3. The description adds value by explaining the overall workflow, the mode parameter's semantics (flow/chain/batch with deprecated tool equivalences), the type/action alias, and the auto-evidence capture. This contextual information goes beyond the schema's field-level descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a multi-step browser workflow orchestrator, lists supported operations, and explicitly distinguishes it from validation_flow by detailing the different focus and supported actions. The verb '编排' (orchestrate) and resource '浏览器流程' (browser flow) are specific, and the comparison with a sibling provides differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use browser_flow vs validation_flow, explains the mode parameter and its sub-modes (flow/chain/batch) with their equivalences to deprecated tools, and describes the type/action alias. It lacks an explicit 'when not to use' statement but the comparison effectively guides selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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, 可选):提交按钮选择器
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 目标页面URL(必填) | |
| mode | No | 填充模式:basic(默认,批量填充表单)/ smart(智能填充单个字段,自动生成符合 fieldType 的测试数据,等价于已废弃的 browser_smart_fill) | basic |
| fields | No | 手动指定的字段值。支持两种key格式:1) CSS选择器模式(key以#/./[/[/>/:/*开头,如 {"#login-email": "user@test.com", "#login-password": "pass123"});2) 字段名模式(key为input的name属性,如 {"email": "user@test.com", "password": "pass123"})。CSS选择器模式的字段会直接用Playwright定位填充,字段名模式的字段会通过表单自动发现机制匹配。 | |
| submit | No | 填充后是否自动提交 | |
| options | No | smart 模式可选:数据生成选项(如 locale、format 等) | |
| selector | No | 表单选择器,默认 'form' | form |
| fieldType | No | smart 模式必填:字段类型(email/phone/name/address/idCard/number/text/url/date/password) | |
| submitSelector | No | 提交按钮选择器,默认自动查找 submit 按钮 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description covers behavior well: filling forms, optional submission, mode differences, and output shapes. It does not mention prerequisites or handling of missing fields, but overall is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is well-structured with English summary followed by detailed Chinese sections. Every sentence adds useful information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Comprehensive coverage of all parameters, modes, output shapes, and usage scenarios. Despite no output schema, it describes return values. Sibling context and deprecation note are included.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%. The description adds value beyond schema by explaining CSS selector vs field name patterns for 'fields' parameter and providing output format examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a form filling tool with two modes (basic and smart), and explicitly distinguishes itself from the deprecated browser_smart_fill sibling. Verb 'fill' with resource 'form' is specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '中文详情' section provides explicit use cases: login/registration forms, multi-field forms, end-to-end submission, mock data filling. It also differentiates when to use basic vs smart mode.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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}
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | 要检测表单的目标 URL。如果不提供则使用当前页面。 | |
| checkLength | No | 是否检测长度限制 | |
| checkPattern | No | 是否检测格式模式(email、url等) | |
| formSelector | No | 表单选择器。如果不提供则自动检测页面第一个表单。 | |
| checkRequired | No | 是否检测必填字段 | |
| validateSubmit | No | 是否尝试提交表单检测验证 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It reveals behaviors: detects HTML5 validation attributes, outputs a detailed report with per-field results, and throws specific errors ('No form found', 'Navigation failed'). It also describes the output shape and default behaviors of parameters. More could be said about side effects or permissions, but it is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is thorough but somewhat lengthy, with repeated information in English and Chinese. The structure is good: English summary followed by detailed Chinese sections. However, it could be more concise by merging the English and Chinese parts or reducing redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description fully details the return value shape, errors, and all 6 parameters. It accounts for edge cases (no form, navigation failure). With no output schema, the description compensates well, making the tool's behavior predictable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by providing Chinese explanations for each parameter, an example usage, and contextual details like '自动检测页面第一个表单' for formSelector. This goes beyond the schema descriptions, improving clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool auto-detects form field validation rules and runs a complete validation flow. It uses specific verbs ('auto-detect', 'run') and resource ('form field validation rules'). It distinguishes from siblings like browser_form_fill (form filling) and browser_smoke_test (general testing) by focusing on validation detection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Chinese section '何时使用' explicitly lists use cases: testing validation rule implementation, verifying required fields, checking email/url format, and length limits. This provides clear context for when to use. However, it does not explicitly state when NOT to use or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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: 诊断建议
使用场景:在页面加载完成后或交互操作后,调用此工具进行全面健康检查。
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | ISO 时间戳,只返回该时间之后的错误。默认返回所有未清除的错误 | |
| includeWarnings | No | 是否包含 console.warn 级别的消息 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It thoroughly details what the tool returns (nine error categories with diagnostics) and implies it is a read-only audit (no mention of side effects). However, it does not explicitly confirm that it modifies no state, nor does it discuss permissions, rate limits, or destructive potential. The absence of annotations puts more burden on the description, and while it discloses the output structure well, it leaves some behavioral traits unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured into two paragraphs: the first provides the purpose and error sources, the second lists the return structure as a bullet-like list. It is front-loaded with the key action and scope. While slightly verbose (listing all nine return fields), each sentence adds value by clarifying what the tool captures. No redundancy, but could be trimmed slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (aggregating nine error types) and the absence of an output schema, the description provides a comprehensive breakdown of the return structure with clear categories. It also specifies the usage context (after page load or interaction) and the default behavior for `since`. This fully compensates for the missing output schema, making the tool's behavior and results predictable for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100% (both parameters have descriptions in the schema). The tool description does not add extra meaning beyond what the schema already provides; it does not elaborate on when to use `since` or `includeWarnings`. Since schema_description_coverage is high, a baseline of 3 is appropriate. The description adds no value beyond the schema for parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with a specific verb '执行全量错误审计' (perform full error audit) and clearly identifies the resource as '当前页面' (current page). It then enumerates all aggregated error sources (CDP console, injected scripts, network 4xx/5xx, etc.), which unambiguously defines the tool's scope. This level of specificity distinguishes it from sibling tools like browser_errors_aggregate (likely a lighter aggregation) and browser_click_audit (focus on click interactions).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: '在页面加载完成后或交互操作后' (after page load or interaction). It provides clear context for appropriate invocation. However, it does not mention cases where the tool should not be used (e.g., if only specific error types are needed) or explicitly compare against alternatives like browser_errors_aggregate. Nonetheless, the guidance is practical and sufficient for most use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_full_regressionA
强制执行的浏览器全功能闭环回归验证。自动发现页面上所有可交互功能(链接和按钮),逐个点击验证功能正常工作,检查 Console/Network 错误,验证每个功能的闭环完整性(可进入、可返回)。默认目标 URL: http://localhost:5173
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | 目标页面 URL(默认: http://localhost:5173) | http://localhost:5173 |
| timeout | No | 全局超时秒数 | |
| visible | No | 是否显示浏览器窗口(true 时弹出浏览器,你可实时查看点击过程、发现工具操作失误,false 时后台运行基于截图证据) | |
| maxDepth | No | 菜单遍历最大深度 | |
| maxItems | No | 最大点击次数 | |
| includeSubMenus | No | 是否包含子菜单 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Given no annotations, the description carries the burden. It describes automatic discovery, clicking, error checks, and cycle verification. It mentions visible mode for real-time monitoring, but lacks disclosure of potential side effects like navigation, state changes, or errors triggered by exhaustive clicking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph with useful detail, but it could be more structured (e.g., bullet points). It front-loads the main purpose and then lists behavior. No wasted sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 6 parameters and no output schema, the description provides a good overview of what it does but lacks details on return values, error handling, or when it might fail. It is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3 is appropriate. The description adds context for visible (shows browser for monitoring) and default URL, but other parameters like timeout, maxDepth, maxItems, includeSubMenus have meanings that are clear from names and schema descriptions. The description does not significantly enhance understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it performs 'full-feature closed-loop regression testing', automatically discovering and clicking interactive elements, checking for errors, and verifying cycle completeness. It distinguishes itself from sibling tools like browser_smoke_test or browser_chain by specifying a comprehensive regression scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for exhaustive regression testing but does not provide explicit guidance on when to use vs alternatives, prerequisites, or when to avoid. The phrase 'forced execution' suggests it may run regardless of state, but no further context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_har_exportA
将当前采集的网络记录导出为简化 HAR JSON 文件,包含请求/响应头、请求/响应体摘要、状态码和耗时。输出自动脱敏。
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | 导出的 HAR 文件名,不含扩展名 | |
| since | No | ISO 时间戳,只导出该时间之后的记录 | |
| method | No | HTTP 方法,如 GET/POST/PUT | |
| contains | No | URL 过滤关键字,兼容旧参数 | |
| statusMax | No | 只导出状态码小于等于该值的记录 | |
| statusMin | No | 只导出状态码大于等于该值的记录 | |
| currentOnly | No | 是否只导出当前 checkpoint 之后的记录,默认 true | |
| urlContains | No | URL 过滤关键字 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses key behaviors: export format (simplified HAR), content included, and automatic desensitization. However, it does not mention side effects, permissions, file location, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence that front-loads the main action and key inclusions. It is concise with no wasted words, though a structured list might improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 optional parameters and no output schema, the description provides sufficient context about what the tool produces but lacks detail on parameter interplay, output file naming/location, and how desensitization works. It adequately covers the essential aspects for a simple export tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema documentation covers all 8 parameters with descriptions (100% coverage). The tool description does not add extra parameter meaning beyond the schema, so baseline of 3 is appropriate. It adds value on output format but not on parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool exports currently collected network records as a simplified HAR JSON file, listing included elements (headers, body summaries, status codes, time) and mentioning automatic desensitization. It distinguishes from siblings like browser_network (likely real-time view) and browser_network_detail (likely detailed raw data).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies use when a simplified HAR export is needed, but it does not explicitly state when to use this tool versus alternatives like browser_network or browser_network_detail. No exclusions or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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"}
| Name | Required | Description | Default |
|---|---|---|---|
| color | No | 高亮颜色,支持CSS颜色值,默认为红色(red) | |
| selector | Yes | 要高亮的元素选择器 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses behavior: effect persists until page refresh, error handling for unmatched selector ('element not found') and invalid color (defaults to red), and the output format. This is comprehensive for a simple tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with an English summary followed by a detailed Chinese section using bullet points for usage, output, parameters, errors, and example. Every sentence serves a purpose, and no information is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, usage guidelines, parameter details, error scenarios, and behavioral traits. Given the simple nature of the tool and no output schema, it provides everything needed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is 100%, the description adds value by explaining that color supports CSS color values and defaults to red, and provides an example JSON. This goes beyond the schema's minimal descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool highlights a specific element with a colored border and shadow for human observation and debugging, with the effect persisting until page refresh. This specific verb+resource combination distinguishes it from siblings like browser_find_element or browser_screenshot_element.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Chinese description explicitly lists when to use: debugging element positioning, demo/review emphasis, visual walkthrough marking suspicious elements, and manual review after automation failure. While it doesn't list when not to use, the guidance is clear and provides practical contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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"}
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | 目标元素的 CSS 选择器 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Although annotations are absent, the description explains the tool's behavior (hover triggers effects) and discloses output format, error types, and example. It does not specify certain details like whether the hover is persistent, but for a simple hover action, this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with a single English sentence followed by structured bullet points in Chinese. It front-loads the purpose and efficiently uses bullet points for details. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description covers output format, errors, and an example. It is complete enough for an agent to use correctly. It could optionally mention the type of hover event, but not required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter (selector) with 100% schema description coverage. The description adds the same description as the schema for the parameter but provides additional context like errors and output. No extra semantics beyond the schema, so baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is for hovering over a DOM element by CSS selector to trigger hover effects, tooltips, and dropdown menus. It is distinct from sibling tools like browser_click, browser_type, etc., as it performs a hover action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Chinese section explicitly lists four scenarios when to use this tool, such as testing submenu expansion and verifying tooltip content. It provides clear context and appropriate use cases, though it does not list alternatives or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_instrumentB
向当前页面注入运行时调试探针,捕获 fetch/XHR、console error/warn、全局错误、点击、输入、路由和 storage 变化。
| Name | Required | Description | Default |
|---|---|---|---|
| headless | No | 无浏览器时是否以 headless 模式打开,默认 false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description fails to disclose side effects like performance impact, persistence of probes, or whether it modifies page state. Only lists captured events.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single short sentence, front-loaded with action, lists capabilities efficiently. No redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks return value description, post-conditions, or linkage to retrieval tools. Incomplete for an agent to understand full workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter; description adds no extra meaning beyond the schema's parameter description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'inject' and resource 'runtime debugging probes', and lists specific captured events (fetch, errors, clicks, etc.), distinguishing it from sibling tools like browser_events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., browser_events, browser_console). The description does not specify prerequisites or post-invocation steps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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'
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | 要审计的 URL。默认为当前浏览器页面的 URL | |
| categories | No | 要审计的类别,默认全部 | |
| formFactor | No | 模拟设备类型 | desktop |
| throttling | No | 是否模拟网络节流(3G 模拟),仅 mobile 模式下推荐启用 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description fully compensates: it discloses isolated headless Chrome instance, no session interference, shutdown after audit, error messages (Audit failed, Lighthouse launch failed), and parameter behavior like throttling only recommended for mobile. This is comprehensive for behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: English summary first, then Chinese details breaking into purpose, when-to-use, output format, parameters, errors, and example. Every sentence adds value, no redundancy, front-loaded with key info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters, no output schema, and no annotations, the description covers all necessary aspects: function, usage, output structure (scores, metrics, diagnostics, reportPath), parameter details, error handling, and example. Nothing missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but description adds meaning beyond schema: it clarifies throttling only useful for mobile, provides example JSON, explains categories as array of specific enum values, and defaults. This enhances understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool runs a Google Lighthouse audit, returning specific scores and diagnostic advice. It uses a specific verb 'Run' and identifies the resource 'Lighthouse audit', distinguishing it from other browser tools that may focus on other aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes explicit when-to-use scenarios (pre-release quality evaluation, multi-dimension scoring, regression monitoring) in both English and Chinese. It does not explicitly state when not to use or compare with sibling tools like browser_a11y_check, but the context implies it is for comprehensive audit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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}
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | 筛选关键词,只返回URL/文本包含该关键词的链接或按钮(支持SPA按钮文本筛选) | |
| maxLinks | No | 最大返回链接数,默认100 | |
| includeExternal | No | 是否包含外部链接,默认false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions error conditions ('Browser not launched') and performance impact of large maxLinks, and describes output structure. It does not disclose side effects, but the tool is read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is bilingual with English summary and Chinese details, which is verbose but well-structured with sections for when to use, output, parameters, errors, and example. Some redundancy, but overall clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description specifies the exact return structure (object with ok, totalLinks, etc.) and covers errors, parameters, and usage scenarios. It is comprehensive for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds context: filter supports SPA button text, includeExternal default false, maxLinks default 100. It explains the purpose of each parameter beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it extracts all navigation links and buttons, classifies them by type (nav, login, etc.), and returns counts and visibility info. It also notes SPA button discovery beyond <a> tags, distinguishing it from siblings like browser_find or browser_dom.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a 'when to use' section in Chinese listing scenarios: understanding entry points, enumerating links before testing, verifying menu completeness, and SPA routing. While it lacks explicit exclusions or alternatives, the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_locatorA
选择器定位工具(v1.9.5 起合并 browser_locator_suggest/validate)。通过 mode 参数区分子模式:suggest(默认,基于已有 selector 命中元素或 target 文本生成稳定推荐选择器)/ validate(验证选择器稳定性,统计匹配数量并输出评分和风险)。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 定位模式:suggest(默认,生成推荐选择器)/ validate(验证选择器稳定性) | suggest |
| target | No | 无 selector 时按可见文本查找目标元素(mode=suggest 时使用) | |
| selector | No | 已有选择器。mode=suggest 时基于命中元素属性生成推荐;mode=validate 时为必填,要验证的选择器 | |
| sessionName | No | 浏览器会话名称(所有模式通用) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the two behavioral modes and mentions output for validate (score and risk), but does not describe side effects, destructiveness, permissions, or error handling. It adds some value beyond the schema but lacks comprehensive behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (two sentences), front-loads the purpose and merge history, and efficiently presents the mode distinction. It wastes no words, though it could be slightly more structured (e.g., bullet points for modes).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (two modes, no output schema), the description covers the main behaviors and explains the merge of two sibling tools. It lacks return value details for suggest mode and error handling, but for a selector tool with well-documented schema, it is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds context by explaining the two modes and that suggest can use target text, but it largely restates the schema's parameter descriptions. It provides overall integration but no additional semantics per parameter beyond what the schema already offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is a 'selector positioning tool' combining suggest and validate modes. It specifies the verb (定位/position) and resource (selector), and distinguishes from sibling tools like browser_locator_suggest and browser_locator_validate by noting the merge.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly explains when to use suggest mode (default, for generating stable selectors from existing selector or target text) versus validate mode (for verifying selector stability with match counts and risk scores). It does not explicitly mention when not to use or alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_locator_suggestA
基于已有 selector 命中的元素或 target 文本查找可见元素,按可访问属性生成更稳定的推荐选择器、评分、风险和 fallback 列表。
| Name | Required | Description | Default |
|---|---|---|---|
| target | No | 无 selector 时按可见文本查找目标元素 | |
| selector | No | 已有选择器,命中元素后基于其属性生成推荐 | |
| sessionName | No | 浏览器会话名称 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must cover behavioral traits. It discloses that it finds visible elements and generates recommendations, implying read-only behavior. However, it does not explicitly state safety (e.g., no side effects), permissions needed, or rate limits, leaving some ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that efficiently conveys input conditions, action, and output components. No wasted words; front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lists output components (recommendations, scores, risks, fallback list) which is good since there is no output schema. However, it fails to clarify the conditional requirement (either selector or target required) implied by the anyOf schema, which is important context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each parameter has a clear description. The tool description does not add extra meaning beyond the schema, meeting the baseline expected for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it finds visible elements based on existing selector or target text and generates more stable recommended selectors, scores, risks, and fallback lists. This is specific and distinguishes it from sibling tools like browser_locator (single locator) and browser_locator_validate (validation).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs. alternatives like browser_locator, browser_find, or browser_locator_validate. The description implies usage when an existing selector or target is available, but does not state when not to use or mention alternative conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_locator_validateA
验证选择器稳定性,统计匹配数量、可见数量,并按 role/label/placeholder/data-testid/text/id/css/xpath 等规则输出分数、风险、警告和建议。
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | 要验证的 Playwright/CSS/text/role 选择器 | |
| sessionName | No | 浏览器会话名称 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool counts matches and visibility, and outputs scores, risks, warnings, and suggestions by rule type. However, it does not state whether the tool is read-only, if it requires a specific page state, whether it modifies browser state, or any error conditions. Basic behavioral traits are provided but not comprehensively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that covers the essential purpose and output, but it is somewhat dense and could be more structured (e.g., separate sentences for purpose, input, output). It is efficient but not optimally front-loaded for quick scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description should explain return values in detail. It mentions scores, risks, warnings, and suggestions but does not specify their format, possible values, or how to interpret them. It also lacks information on error handling, prerequisites (e.g., page must be loaded with the element), or side effects. For a validation tool, this is insufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds no additional meaning beyond what the schema already provides for the two parameters ('selector' and 'sessionName'). The schema descriptions are already informative ('要验证的 Playwright/CSS/text/role 选择器'). Baseline 3 is appropriate as the description does not need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: validating selector stability. It specifies the verb '验证' (validate) and the resource '选择器' (selector), and details what statistics and outputs are computed (counts, scores, risks, warnings, suggestions) with explicit reference to rule types (role, label, etc.). This distinguishes it from sibling tools like browser_locator (find locators) and browser_locator_suggest (suggest locators).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (to validate selector stability) but does not explicitly state when to use it over alternatives like browser_locator or browser_locator_suggest. No when-not-to-use or prerequisite information is provided. The usage context is inferred rather than explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_matrix_testA
跨浏览器矩阵测试。在指定的多个浏览器引擎上依次执行相同的操作序列,返回各浏览器的执行结果对比。支持 chromium / firefox / webkit 任意组合。自动管理浏览器的创建和关闭,每个浏览器独立隔离。符合产品定位 v2.0 能力补齐方案 §P0-6。step.action 与 step.type 互为别名,二者至少传一个。
| Name | Required | Description | Default |
|---|---|---|---|
| steps | Yes | 在每个浏览器上依次执行的操作步骤,每个步骤的 action/type 字段互为别名,至少传一个 | |
| timeout | No | 每个步骤的超时毫秒,默认 15000 | |
| browsers | No | 要测试的浏览器列表,默认 ['chromium', 'firefox'] | |
| headless | No | 是否无头模式,默认 true(矩阵测试默认无头以加速) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It mentions automatic browser creation/closing, isolation, and the alias relationship between step.action and step.type, but lacks details on destructiveness, rate limits, or other side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately sized at 4 sentences, front-loaded with purpose, and contains no redundant or superfluous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (multi-browser, multi-step) and the absence of an output schema and annotations, the description is adequate but leaves gaps regarding output format, error handling, and prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage, so the description adds limited value beyond clarifying that action and type are aliases and that at least one is required. This is sufficient but not exceptional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines the tool as a cross-browser matrix test that executes the same action sequence on multiple browser engines and returns comparison results. It specifies supported browsers and automatic management, making the verb+resource combination distinct from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states when to use the tool (for cross-browser testing) and lists supported browsers, but does not explicitly mention when not to use it or provide alternatives among the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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"}
| Name | Required | Description | Default |
|---|---|---|---|
| sessionName | No | 浏览器会话名称,默认当前活跃会话 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It lists error conditions and output structure, but does not explicitly state whether the tool is read-only (e.g., 'Does not modify browser state'). Given the nature of Performance API calls, it is likely safe, but the description misses the opportunity to confirm non-destructiveness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (purpose, when-to-use, output, parameters, errors, example). It is front-loaded with an English summary followed by Chinese details. The redundancy between languages slightly reduces conciseness, but overall it is efficient and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one optional parameter and no output schema, the description is remarkably complete. It covers the return value structure, possible errors, and explicit use cases. No additional information is needed for an agent to use this tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the 'sessionName' parameter. The description adds marginal value by repeating the parameter's purpose and noting it is optional with a default, and provides an example. This is sufficient but not above the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Memory leak detection: via Performance API, measures detached DOM node count, event-listener leak risk, JS heap size, and total DOM node count'. It provides a specific verb ('detect') and resource ('memory leak'), and distinguishes itself from sibling tools like browser_performance or browser_performance_check by focusing solely on memory leak diagnostics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes explicit usage scenarios in Chinese: 'SPA长时间运行内存增长排查时;路由切换后DOM节点未释放验证时;事件监听器泄漏排查时;上线前内存基线评估时'. This provides clear context for when to use the tool. However, it does not mention when not to use it or suggest alternative tools, which would improve differentiation from siblings like browser_performance_check.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_networkA
网络请求管理工具(v1.9.5 起合并 browser_network_detail)。通过 mode 参数区分子模式:list(默认,获取网络请求记录列表,支持按 URL/方法/状态码/checkpoint 过滤)/ detail(查看网络请求详情,包括请求头、响应头、请求体、响应体摘要、耗时和失败原因,等价于已废弃的 browser_network_detail)。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 网络请求模式:list(默认,获取请求列表)/ detail(查看请求详情,等价于已废弃的 browser_network_detail) | list |
| since | No | ISO 时间戳,只返回该时间之后的记录 | |
| method | No | HTTP 方法,如 GET/POST/PUT | |
| contains | No | URL 过滤关键字,兼容旧参数 | |
| statusMax | No | 只返回状态码小于等于该值的记录 | |
| statusMin | No | 只返回状态码大于等于该值的记录 | |
| currentOnly | No | 是否只返回当前 checkpoint 之后的记录,默认 true | |
| urlContains | No | URL 过滤关键字 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes the tool as a management tool with two modes and lists what each mode returns (headers, body, timing). However, it does not explicitly state whether the tool is read-only, if it modifies state, or any prerequisites (e.g., need for a live session). The behavioral traits are partially disclosed but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (two sentences) and front-loaded with the tool's purpose. It efficiently covers the key aspects: merging, mode distinction, and filtering. However, it could be more structured (e.g., bullet points for modes) to improve readability, but overall it is well-sized and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (8 parameters, two modes, no output schema), the description covers the main functionality but lacks details on return format (e.g., pagination, number of entries), behavior of the 'currentOnly' parameter, and any side effects. It is adequate for basic understanding but incomplete for advanced use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds significant value by explaining the mode parameter's sub-modes and providing context on filtering capabilities (URL, method, status code, checkpoint) that maps to multiple parameters. It also clarifies that 'since' is an ISO timestamp and that 'currentOnly' defaults to true. This goes beyond the schema's own descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool is for network request management, merging the deprecated browser_network_detail. It explicitly describes two modes (list and detail) with distinct purposes, and the context of merging distinguishes it from the deprecated sibling tool. The verb '管理' (manage) and resource '网络请求' (network request) are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use each mode (list for listing requests, detail for viewing details). It mentions that detail mode is equivalent to the deprecated browser_network_detail, implying migration guidance. However, it does not explicitly exclude other tools like browser_errors or browser_har_export, nor does it advise against using this tool for other purposes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_network_detailA
查看本轮网络请求详情,包括请求头、响应头、请求体、响应体摘要、耗时和失败原因。输出自动脱敏。
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 最多返回记录条数,默认 50 | |
| since | No | ISO 时间戳,只返回该时间之后的记录 | |
| method | No | HTTP 方法,如 GET/POST/PUT | |
| contains | No | URL 过滤关键字,兼容旧参数 | |
| statusMax | No | 只返回状态码小于等于该值的记录 | |
| statusMin | No | 只返回状态码大于等于该值的记录 | |
| currentOnly | No | 是否只返回当前 checkpoint 之后的记录,默认 true | |
| urlContains | No | URL 过滤关键字 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that output is automatically sanitized and lists the included fields. However, it does not explicitly state read-only behavior, rate limits, or whether the tool requires prior network requests. The transparency is adequate but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the verb and resource. Every word adds value, listing key outputs and the sanitization feature. No redundant or extraneous information is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description explains the return fields (headers, body summary, duration, failure reasons). However, it does not clarify the 'round' or 'checkpoint' concept referenced in the parameter schema, nor does it specify the data structure (list vs. single item). Slightly incomplete but largely sufficient for a detail viewer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema; it does not explain parameter interactions, deprecations, or search behavior. It merely rephrases the tool's output without relating to parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: viewing details of network requests for the current session. It lists specific elements (headers, body summary, duration, failure reasons) and mentions automatic sanitization, distinguishing it from siblings like 'browser_network' and 'browser_har_export'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lacks any guidance on when to use this tool versus alternatives. It does not specify prerequisites, exclusions, or scenarios where other tools would be more appropriate. No contextual cues are provided to help the agent decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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}
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 要打开的页面 URL | |
| headless | No | 是否无头模式,默认 false,建议可视化验证使用 false | |
| browserType | No | 浏览器引擎类型,默认 chromium | chromium |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses visibility (visible by default), supported engines, output shape, and error conditions. However, it does not address session management (e.g., whether it closes previous sessions). Overall, it covers key behavioral traits well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is bilingual with a structured Chinese section containing bullet points. While efficient, the bilingual nature adds some extra length. Every sentence contributes meaningful information, earning a 4.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description provides a clear output shape, error examples, and a full usage example. The tool is simple (3 params) and the description covers entry, behavior, and outcomes comprehensively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. The description adds value by listing default values, providing a usage example, and clarifying error conditions. It also explains the headless parameter's visual verification use case, exceeding schema info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it launches a real browser and navigates to a URL, supporting multiple engines. This distinguishes it from sibling tools like browser_navigate (requiring existing session) or browser_session_create (no navigation).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '何时使用' section lists specific use cases (new session, visual observation, engine switching, debugging). It does not explicitly state when not to use, but the context is clear. Lacks an explicit alternative mention but provides good guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_overlayA
遮挡物处理工具(v1.9.5 起合并 browser_overlay_detect/dismiss)。通过 mode 参数区分子模式:detect(默认,检测页面遮挡元素如弹窗/Cookie 横幅/浮层)/ dismiss(自动识别并点击关闭常见遮挡物)。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 遮挡物模式:detect(默认,检测页面遮挡元素)/ dismiss(自动关闭遮挡物) | detect |
| format | No | 输出格式:json(默认结构化数据)或 html(HTML 报告)(所有模式通用) | json |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that dismiss mode automatically clicks to close overlays (implying mutation), and detect mode identifies elements. However, it does not detail side effects (e.g., page changes), permission needs, or whether the operation is reversible. Given the tool's simplicity, this is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, directly stating the purpose and sub-modes. It is front-loaded with the main functionality and avoids unnecessary details, making it efficient for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description should explain what the tool returns (e.g., detected overlays, success status). The description only mentions actions ('detect' and 'dismiss') but does not describe the output format or expected results, leaving a gap for the agent to infer the return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptive enum values. The description adds context about the merger version but does not significantly enhance understanding beyond the schema. The parameter descriptions in the schema already cover the meaning of 'mode' and 'format'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: detecting and dismissing overlays like popups and banners. It explicitly mentions that it is a merged tool (v1.9.5) combining two previous tools, which distinguishes it from siblings like browser_overlay_detect and browser_overlay_dismiss.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the two modes (detect and dismiss) with defaults, implying when each mode should be used. However, it does not provide explicit guidance on when to use this tool versus alternative approaches (e.g., browser_click for manual closing), nor does it state prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_overlay_detectA
遮挡物检测 - 在 DOM 层面自动检测页面上的遮挡元素(弹窗、Cookie横幅、浮层、色块遮挡等),分析 z-index、position、覆盖面积等属性,返回遮挡物列表和建议
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | 输出格式:json(默认结构化数据)或 html(HTML 报告) | json |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description covers basic behavior (detection and analysis) but does not disclose side effects, permissions, or limitations. It adequately describes the main function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is front-loaded with the tool's purpose. It is appropriately sized with no redundant text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description sufficiently explains what the tool does and what output options exist. It could mention working on the current page but that is implied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter (format) having a default and enum. The description does not add meaning beyond the schema, so baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool detects occluding elements (popups, cookie banners, overlays) at the DOM level, analyzing properties like z-index and coverage. It distinguishes itself from siblings like browser_overlay_dismiss and browser_visual_check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is provided; the description implies usage for overlay detection but does not exclude alternatives or mention context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_overlay_dismissB
遮挡物自动关闭 - 自动识别并点击关闭常见遮挡物(Cookie横幅、弹窗、浮层、遮罩等),支持多种关闭按钮选择器模式
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | 输出格式:json(默认结构化数据)或 html(HTML 报告) | json |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It mentions automatic identification and clicking but lacks details on potential side effects (e.g., accidental clicks on interactive elements), what happens if no overlay is found, or safety guarantees. This is a significant gap for a tool that performs automated clicking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the purpose and includes relevant examples. It is efficient with no wasted words, though it could benefit from clearer structuring (e.g., separating behavior from parameter details).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's core function and parameter but does not mention return values, success/failure behavior, or error handling. Since no output schema exists, the description should provide more context on what the tool returns, which is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema coverage is 100%, with the parameter 'format' fully described by its enum values in the schema. The description does not add any extra meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb '自动关闭' (automatically dismiss) and the resource '遮挡物' (overlays), with specific examples (Cookie banners, popups, floating layers, masks). It distinguishes this tool from siblings like 'browser_overlay_detect' by including the action of closing, not just detecting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for dismissing common overlays automatically, but provides no explicit guidance on when to use this tool versus alternatives (e.g., 'browser_overlay_detect', 'browser_click'). No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_performanceA
性能分析工具(v1.9.5 起合并 browser_performance_check/trace)。通过 mode 参数区分子模式:check(默认,采集当前页面性能指标并按预算评估)/ trace(记录完整性能轨迹并输出 HAR 和结构化数据)。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | 要追踪性能的目标 URL。如果不提供则使用当前页面(mode=trace 时使用) | |
| mode | No | 性能模式:check(默认,采集性能指标并按预算评估)/ trace(记录完整性能轨迹) | check |
| budgets | No | 预算阈值,支持 domContentLoaded、load、fcp、lcp、cls、longTaskCount、resourceCount、slowRequestMs(mode=check 时使用) | |
| duration | No | 追踪持续时间(毫秒),默认 5000(mode=trace 时使用) | |
| exportHar | No | 是否导出 HAR 格式数据,默认 true(mode=trace 时使用) | |
| categories | No | 要记录的性能类别,默认 ["navigation","resource","paint","longtask"](mode=trace 时使用) | |
| sessionName | No | 浏览器会话名称,默认当前活跃会话(mode=check 时使用) | |
| slowRequestMs | No | 慢请求阈值毫秒,默认 1000;可覆盖 budgets.slowRequestMs(mode=check 时使用) | |
| enableScreenshots | No | 是否在追踪期间定期截图,默认 false(mode=trace 时使用) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that check collects and evaluates metrics, trace records full trace and outputs HAR and structured data. However, it does not mention side effects (e.g., page reload, permissions) or details about how the tool interacts with the browser state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with only two sentences. The first sentence gives the overall purpose and version note, the second explains the mode parameter. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters, nested objects, and no output schema, the description covers the core functionality and mode differentiation. It is complete enough for an agent to understand the main use cases, though it could briefly mention what the output of each mode looks like (e.g., budget evaluation result, HAR file).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds context by explaining that the 'mode' parameter differentiates the two sub-modes, but otherwise the parameter descriptions in the schema are already detailed. The description does not add significant new meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a performance analysis tool with two distinct sub-modes (check/trace). It distinguishes itself by mentioning the merge of two previous tools (browser_performance_check/trace), helping differentiate from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the two modes and their purposes: check for collecting metrics against budget, trace for full traces. It provides explicit context for usage but does not mention when not to use this tool or alternative tools (e.g., browser_network).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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}
| Name | Required | Description | Default |
|---|---|---|---|
| budgets | No | 预算阈值,支持 domContentLoaded、load、fcp、lcp、cls、longTaskCount、resourceCount、slowRequestMs | |
| sessionName | No | 浏览器会话名称,默认当前活跃会话 | |
| slowRequestMs | No | 慢请求阈值毫秒,默认 1000;可覆盖 budgets.slowRequestMs |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It details the output structure, error conditions (browser not launched, invalid budget), and the scope (current page). It does not mention side effects, but performance collection is generally safe.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose due to bilingual content, with some redundancy (Chinese repeats English info). However, it is well-structured with an opening summary, then detailed Chinese bullets. Could be more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (3 params, nested objects, no output schema), the description covers purpose, usage, output format, parameter details, errors, and an example. This is complete enough for agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds value by providing defaults for slowRequestMs and sessionName, a detailed breakdown of budgets fields, and an example. This enriches understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it collects page performance metrics and evaluates against budgets, listing specific metric types (navigation, paint, resource, long task, CLS/LCP) and Core Web Vitals. This distinguishes it from sibling tools like browser_performance_trace or browser_lighthouse_audit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Chinese section explicitly lists use cases: pre-launch baseline, CWV compliance, slow request/long task localization, budget gate checks. While it doesn't state when not to use, the context is clear and no alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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 过大可能影响响应时间
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | 要追踪性能的目标 URL。如果不提供则使用当前页面。 | |
| duration | No | 追踪持续时间(毫秒) | |
| exportHar | No | 是否导出 HAR 格式数据 | |
| categories | No | 要记录的性能类别 | |
| enableScreenshots | No | 是否在追踪期间定期截图 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must fully disclose behavior. It mentions output format, supported metrics, and error scenarios (browser not launched, duration impact). However, it does not state whether the tool is read-only, whether traces persist, or cleanup behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description includes both English and Chinese sections, causing redundancy. The English part is concise (2 sentences), but the Chinese section repeats and adds details. Could be streamlined without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has 5 optional parameters, no output schema, no nested objects. Description covers purpose, usage, parameters, output structure, and example. Provides enough context for an agent to understand the tool's function and expected results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions. The description adds minor context (e.g., using current page if URL omitted) but largely repeats schema info. No new meaning beyond what schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool records a complete performance trace and outputs HAR plus structured data. The verb 'Record' and resource 'performance trace' are specific. However, it doesn't differentiate from sibling tools like browser_performance or browser_har_export, which may overlap in purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly lists use cases in the Chinese section (e.g., deep performance analysis, HAR file forensics). Provides error conditions and an example. However, it doesn't mention when not to use this tool versus alternatives like browser_lighthouse_audit or browser_network_detail.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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"}
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | 按键名称,如 Enter、Escape、Tab、ArrowDown、Backspace、a、Control+c 等 | |
| selector | No | 可选,在指定元素上按键(先聚焦再按键) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses supported keys/combos, that it presses on current page or focused element, and details the output structure (ok, key, selector, timestamp) and errors ('Key is required', 'element not found'). It does not mention whether it waits for action completion or handles modifiers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured: English summary followed by Chinese details. It is not overly long, but the Chinese section is a duplicate. The core English part is concise and front-loaded with purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema in the input definition, the description provides the output structure, error conditions, and usage examples. For a keyboard press tool with 2 parameters, this covers all necessary information for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. The description adds value by explaining key parameter with common values (Enter, Escape, etc.) and specifying that selector is optional and focuses first. The Chinese section provides additional examples and error handling details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it presses a keyboard key or combo on the current page or focused element, distinguishing it from sibling tools like browser_click (clicking) and browser_type (typing text). It lists supported keys and combos, making the purpose specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes explicit 'when to use' scenarios in Chinese (form submission, modal close, dropdown navigation, shortcut testing). It implies not for typing text since browser_type exists, but lacks explicit 'when not to use' or direct comparison with browser_type.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_quick_fixA
快速修复验证闭环。自动尝试常见修复策略(等待加载、滚动到元素、强制可见、移除遮挡、注入JS等),每步验证是否修复成功。返回修复尝试记录、最终状态、建议的下一步操作。支持批量传入多个 problem。
| Name | Required | Description | Default |
|---|---|---|---|
| problem | No | 问题描述(单问题模式,与 problems 互斥):not_found(元素未找到)、not_visible(不可见)、not_interactable(不可交互)、click_failed(点击失败)、type_failed(输入失败)、js_error(JS错误)、api_failed(API请求失败)、page_crashed(页面崩溃)、resource_blocked(资源被拦截) | |
| problems | No | 批量问题列表(数组模式,与 problem 互斥):按顺序依次尝试每个 problem 的修复策略 | |
| selector | Yes | 目标元素选择器(必填) | |
| maxAttempts | No | 最大修复尝试次数,默认5 | |
| waitStrategy | No | 等待策略:smart(智能等待)、fixed(固定等待)、none(不等待) | smart |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It explains the iterative fix-and-verify process and return values. However, it omits potential side effects (e.g., page state changes), failure handling, or whether operations are read-only/destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the main action. Every sentence adds value. Minor improvement: could be slightly more structured for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, no output schema, many sibling browser tools), the description lacks comparison to similar tools (e.g., browser_verify_fix) and doesn't detail return structure. It is adequate but leaves gaps for an AI agent to fully understand when to use this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% - all parameters are already well documented in the input schema. The description adds only high-level context about fix strategies, not specific parameter details beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: automatically attempt common fix strategies to resolve browser interaction problems. It specifies actions (wait, scroll, force visible, remove occlusion, inject JS) and return values (logs, status, next action). This distinguishes it from sibling tools like browser_click or browser_find.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when encountering problems (supported by 'problem' parameter enum). It mentions batch support. However, it does not explicitly say when NOT to use it or provide alternatives, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_responsive_testA
模拟多视口(mobile/tablet/desktop)截图对比,检测响应式布局问题。打开指定URL,分别以三个标准视口截图,返回各视口截图和布局差异分析。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 目标页面URL(必填) | |
| waitMs | No | 截图前等待毫秒数 | |
| fullPage | No | 是否截取整页 | |
| viewports | No | 要测试的视口列表,默认全部 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
描述说明了核心行为(打开URL、截图、返回截图和差异分析),但未披露副作用(如是否修改浏览器状态、是否需要会话、是否关闭标签页)、输出格式细节,且没有注释提供额外信息。对于无注释的工具,描述承担全责,但仍不够全面。
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
描述仅两句话,第一句点明目的,第二句说明操作和结果,简洁无冗余,信息呈递高效。
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
工具参数完整且有schema描述,但无输出schema,描述未说明差异分析的具体形式(文本还是图像)、是否依赖浏览器会话、以及前置条件。对于多视口对比这类复杂操作,信息不够完整。
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
输入schema覆盖100%,参数描述已包含各参数含义,描述没有补充超出schema的信息。符合基线3。
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
描述明确说明工具用于模拟多视口截图对比以检测响应式布局问题,动词明确(模拟、截图对比、检测),资源明确(响应式布局),与兄弟工具无重复,因为其他工具不提供多视口比较。
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
描述隐含用于响应式测试场景,但未明确说明何时使用此工具而非其他截图工具(如browser_screenshot)或设备模拟工具(browser_emulate_device),也没有提供何时不使用或替代方案。
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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"]}
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 截图模式:page(默认,整页截图)/ element(元素截图,等价于已废弃的 browser_screenshot_element,需指定 selector) | page |
| name | No | 截图文件名,不含扩展名 | |
| padding | No | 截图区域周围的 padding,单位像素,默认 0(mode=element 时使用) | |
| selector | No | 目标元素的 CSS 选择器(mode=element 时必填) | |
| redactSelectors | No | 需要额外遮挡的 CSS 选择器列表(mode=page 时使用) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses auto-redaction of sensitive inputs, default redactSelectors, error conditions ('Browser not launched', 'Screenshot failed'), and the output format. It also explains the mode parameter maps to deprecated tools. Missing details on permissions or rate limits, but overall high transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description includes both English and Chinese sections, which introduces redundancy. The English part is concise (2 sentences), but the Chinese section, while structured, repeats and expands on the same information. This adds length beyond what is necessary for a single-language agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters, no required, schema coverage 100%, and no output schema, the description compensates by defining the output structure, error cases, and usage scenarios. It also explains the relationship to deprecated browser_screenshot_element. Minor omissions: the conditional requirement of selector when mode='element' is only in the Chinese section, but overall it is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining defaults (name defaults to timestamp, redactSelectors defaults) and the redaction feature, but these are partially implied by the schema. The Chinese section provides additional context but does not significantly surpass the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Take a screenshot of the current page and save it to the MCP artifacts directory', providing a clear verb and resource. The Chinese section further specifies '对真实浏览器当前页面截图并保存为 PNG 文件', which distinguishes it from visual comparison tools like browser_visual_check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Chinese section lists explicit when-to-use scenarios: verifying page rendering, recording bug evidence, capturing baselines for visual comparison, and documenting key steps. It also mentions that mode='element' is for element screenshots, guiding the user away from deprecated tools. However, it does not explicitly state when not to use or provide alternatives for other scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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"}
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | 截图文件名(不含扩展名),默认自动生成 | |
| padding | No | 截图区域周围的padding,单位像素,默认0 | |
| selector | Yes | 目标元素的CSS选择器 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and covers key behaviors: returns path and dimensions, supports padding, and lists specific errors (element not found, not visible). It could mention scrolling into view, but overall transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with an English summary and detailed Chinese sections, clearly separating purpose, usage, output, parameters, errors, and example. Bilingual content increases length but each section adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all essential aspects: purpose, when to use, output format (including fields), error conditions, parameters with defaults, and an example. Without an output schema, the explicit output format makes it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage, so baseline is 3. The description adds an example JSON and clarifies defaults for 'name' and 'padding', providing modest additional value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool takes a screenshot of a specific page element via CSS selector, returning the artifact path and dimensions. This distinguishes it from sibling tools like `browser_screenshot` (full page) and `browser_visual` (comparison).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a dedicated 'when to use' section listing four scenarios (component-level screenshots, before visual comparison, bug reports, multi-element documentation), providing clear context. However, it does not explicitly exclude alternatives or mention when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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"}
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | 横向滚动像素值(不指定 selector 时使用) | |
| y | No | 纵向滚动像素值(不指定 selector 时使用) | |
| behavior | No | 滚动行为,默认 auto | |
| selector | No | 要滚动到的目标元素选择器,与 scrollIntoView 配合使用 | |
| scrollIntoView | No | 是否滚动到 selector 指定的元素,默认 true(指定 selector 时) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description discloses error handling ('element not found'), priority rules (selector over x/y), and output format with fields like ok, scrollX, scrollY, scrolledTo, timestamp. This adds significant behavioral context beyond basic purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with an English summary followed by a detailed Chinese section using clear headers (用途, 何时使用, 输出, 参数, 错误, 示例). It is front-loaded and every section adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 optional parameters, no output schema, and complex scrolling behavior, the description covers output format, error conditions, parameter interactions, and usage examples, making it fully complete for an AI agent to correctly invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, baseline 3. The description adds value by explaining defaults (scrollIntoView default true when selector given), behavior options, and provides an example. This helps an agent understand parameter interactions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool scrolls the page or to a specific element, supporting both scrollIntoView and pixel-based scrolling. This distinguishes it from sibling tools, as no other tool in the list has scrolling as primary function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit use cases: triggering lazy content, scrolling elements into view, testing infinite scroll, ensuring visibility before screenshots. It does not mention when not to use or alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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"}
| Name | Required | Description | Default |
|---|---|---|---|
| index | No | 要选择的option的索引(从0开始) | |
| label | No | 要选择的option的显示文本 | |
| value | No | 要选择的option的value值 | |
| selector | Yes | select元素的选择器 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It details output fields, error conditions (e.g., 'Not a select element', 'Option not found'), and provides an example. It does not mention side effects like triggering events, but for a selection tool, this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with English summary followed by Chinese details, including sections for purpose, usage, output, parameters, errors, and example. It is front-loaded with the core action and every section adds necessary information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description fully documents the output format and error behavior. Parameters are thoroughly explained, and an example is provided. For a selection tool, this is complete and leaves no ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds meaning by explaining that three optional parameters (value, label, index) represent different selection methods and implies exactly one should be used. It also clarifies errors for missing criteria, adding value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool selects an option in a <select> dropdown by value, label text, or index. The verb 'select' and resource 'dropdown' are specific. It distinguishes from sibling browser tools like browser_click or browser_form_fill by focusing solely on dropdown selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Chinese section explicitly lists when to use: form dropdown selection, testing select linkage, filter criteria selection, and default value verification. This provides clear context, though it does not mention when not to use or alternative tools such as browser_form_fill.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_sessionA
浏览器会话管理工具(v1.9.5 起合并 browser_session_create/switch/close + browser_sessions)。通过 mode 参数区分子模式:list(默认,列出所有会话)/ create(创建命名会话,独立上下文/cookie/storage)/ switch(切换活跃会话)/ close(关闭并删除会话)。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | 创建后打开的 URL(mode=create 时使用) | |
| mode | No | 会话模式:list(默认,列出所有会话)/ create(创建命名会话)/ switch(切换活跃会话)/ close(关闭并删除会话) | list |
| name | No | 会话名称,如 free-user、pro-user(mode=create/switch/close 时使用) | |
| timeout | No | 导航超时时间,默认 30000ms(mode=create 时使用) | |
| headless | No | 是否无头模式,默认 false(mode=create 时使用) | |
| sessionName | No | 会话名称别名(mode=create/switch/close 时使用) | |
| extensionPath | No | 要加载的 Chrome 扩展目录路径。提供后使用持久化上下文并强制 headless=false(mode=create 时使用) | |
| loadExtensionPath | No | extensionPath 的别名,要加载的 Chrome 扩展目录路径(mode=create 时使用) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions that each 'create' session has independent context/cookie/storage and that extensionPath forces headless=false. However, it does not disclose destructive effects (close deletes session), error handling, or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single succinct paragraph that covers purpose, modes, and key parameter interactions. However, it could be better structured (e.g., bullet points for modes) for easier scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the modes adequately but does not describe the return value for the 'list' mode or any error scenarios. With 8 parameters and no output schema, more detail on expected outputs and errors would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds limited value. It does clarify the relationship between sessionName/name and extensionPath/loadExtensionPath, and notes that extensionPath forces headless=false. This justifies a score above baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it's a browser session management tool, enumerates four sub-modes (list, create, switch, close), and mentions it merges previously separate tools. It distinguishes itself from siblings by being the consolidated session manager.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use each mode via the mode parameter and mentions that this tool supersedes browser_session_create, browser_session_switch, browser_session_close, and browser_sessions. However, it doesn't explicitly state when not to use this tool in favor of other browser tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_session_closeC
关闭并删除指定浏览器会话。
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | 要关闭的会话名称 | |
| sessionName | No | 会话名称别名 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description is the sole source of behavioral info. It mentions 'close and delete' but does not disclose side effects like resource cleanup, impact on open pages, or irreversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, efficiently conveying the core action. It is front-loaded and free of redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and the tool's destructive nature, the description lacks context about what happens after execution (e.g., return value, confirmation, or persistence). The agent cannot infer the outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters have descriptions. The tool description adds no extra meaning beyond 'specified' for the session name, which is already implied by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: close and delete a specified browser session. Among sibling tools like browser_session_create and browser_session_switch, the purpose is distinguishable due to the specific verb 'close and delete'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of preconditions, when not to use, or comparison with related session tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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}
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | 创建后打开的 URL | |
| name | Yes | 会话名称,如 free-user、pro-user | |
| timeout | No | 导航超时时间,默认 30000ms | |
| headless | No | 是否无头模式,默认 false | |
| sessionName | No | 会话名称别名 | |
| extensionPath | No | 要加载的 Chrome 扩展目录路径。提供后使用持久化上下文并强制 headless=false | |
| loadExtensionPath | No | extensionPath 的别名,要加载的 Chrome 扩展目录路径 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses session creation/reuse, isolated context, extension loading, and lists output fields, parameters, and error conditions. It does not mention required permissions or potential side effects, but the behavior is well-explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with English summary, organized Chinese details, and clear sections for output, parameters, errors, and example. Each sentence is informative and not redundant. It is concise yet comprehensive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 7 parameters and no output schema, the description covers behavior, inputs, outputs (listing return fields), errors (with example messages), and an example. For a creation tool, this provides sufficient context for an AI agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds value by grouping parameters, noting aliases, indicating required status, and providing an example. It also explains the effects of extensionPath and the forced headless=false. This goes beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create or reuse a named browser session with isolated context', specifying the verb (create/reuse) and resource (browser session). It distinguishes from sibling tools by emphasizing isolated context and Chrome extension loading, which is unique among the many browser_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Chinese '何时使用' section explicitly lists four use cases: multi-account/role testing, context isolation, extension loading, and session state verification. This provides clear when-to-use guidance and implicitly excludes other scenarios, though it does not name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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
示例:{}
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description details output structure and error behavior (empty array on no active sessions). It implicitly indicates a read operation, but does not discuss potential side effects, permissions, or rate limits. Annotations are absent, so the description carries the burden, which it mostly satisfies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Structured with English summary followed by Chinese details in bullet points. Generally concise, though some repetition between languages. Front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description compensates by specifying the return structure and error condition. Complete for a parameter-less listing tool, covering purpose, usage, output, and error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist (schema coverage 100%). The description explicitly states '参数:无' (no parameters), confirming the absence of input. This meets the baseline for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all current browser sessions with specific details. It is distinct from siblings like browser_session_create or browser_session_close by being a list operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly provides when-to-use scenarios in Chinese, such as before multi-session testing, checking activity, troubleshooting trace status, and debugging concurrent sessions. Also includes output and error case information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_session_switchA
切换当前活跃浏览器会话。后续未指定 sessionName 的浏览器工具会作用于该会话。
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | 要切换到的会话名称 | |
| sessionName | No | 会话名称别名 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It mentions the effect on subsequent tools but does not disclose behavioral traits like what happens to the previous session, whether the switch is reversible, or if there are any side effects. This is insufficient for full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, front-loading the core purpose and the consequence of the switch. Every sentence adds value, with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two parameters, no output schema, and no annotations, the description covers the primary action and its impact on future tool calls. It does not explain parameter meanings, but the schema covers that. It is fairly complete but could mention what happens if the session doesn't exist.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with parameters 'name' (required) and 'sessionName' (optional alias). The description adds no additional meaning beyond the schema, as it does not explain the distinction between the two or provide use-case-specific guidance. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it switches the active browser session, and the purpose is distinct from sibling tools like browser_session_create (create) and browser_sessions (list). The verb '切换' (switch) combined with '活跃浏览器会话' (active browser session) precisely defines the action and resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use: to set the active session for subsequent tools that omit sessionName. However, it does not explicitly state when not to use it or mention alternatives (e.g., creating a new session instead). The guidance is present but not comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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"}}
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | 生成选项(可选),各字段类型有不同选项 | |
| selector | Yes | 目标输入框的 CSS 选择器 | |
| fieldType | Yes | 字段类型,支持: email | phone | name | address | idCard | number | text | url | date | password |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavior: random data generation, supported types, error messages for invalid selectors/field types/non-editable elements, and output structure. This exceeds typical transparency requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized with separate sections for purpose, usage, output, parameters, errors, and an example. The Chinese section adds redundancy but does not detract significantly; overall it is appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all relevant aspects: purpose, parameters with details, errors, output format, and an example. Given no output schema, it compensates fully, making the tool's behavior and usage clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds value by explaining the options sub-object fields and providing context (e.g., domain for email). It clarifies parameter usage beyond the schema's baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: auto-generating format-valid test data and filling inputs. It lists supported field types but does not explicitly differentiate from siblings like browser_form_fill, though the generation aspect implies distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides specific use cases (e.g., registration forms needing valid email/phone) in both English and Chinese, giving clear context for when to use. It lacks explicit exclusions or alternatives, but the guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_smoke_testA
一键冒烟测试 - 自动执行页面加载、JS错误、HTTP错误、无障碍、控制台警告等5项快速检查,返回综合评分和详细结果
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | 可选,要测试的目标URL。如果不提供,则测试当前页面 | |
| format | No | 输出格式:json(默认结构化数据)或 html(HTML 报告) | json |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only lists the checks performed but does not mention potential side effects, authentication needs, or whether the tool modifies page state. For a testing tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, efficiently conveying the tool's purpose and key capabilities without wasted words. It is front-loaded with the key term '一键冒烟测试'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description mentions returning a comprehensive score and detailed results, but does not specify the scoring scale or the structure of detailed results. Given the tool's complexity, more details would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100%, so the schema already documents parameters. The description adds no additional meaning beyond the schema, resulting in a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a one-click smoke test that performs five specific checks (page load, JS errors, HTTP errors, accessibility, console warnings) and returns a comprehensive score and detailed results. This specificity distinguishes it from sibling tools like browser_errors_aggregate or browser_a11y_check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies quick, initial validation but does not explicitly state when to use this tool versus alternatives like browser_errors_aggregate or browser_a11y_check. No when-not-to-use or prerequisite information is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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';页面未加载完成可能返回不完整快照
示例:{}
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It details the output structure (ok, url, title, etc.), error cases ('Browser not launched', incomplete snapshot), and implies read-only behavior. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is in two parts (English then Chinese). The Chinese is redundant in purpose but adds usage guidelines and structure. Front-loaded well. Slightly verbose due to duplication, but still clear and organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description covers output format, error scenarios, and usage context completely. It provides an example and lists return fields. No missing critical information for a snapshot tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so baseline is 4. The description explicitly states '参数:无' (parameters: none). No additional semantic value needed beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool captures a structured snapshot of the current page including URL, title, visible text, form fields, and buttons. It distinguishes from sibling tools like browser_screenshot (visual) and browser_dom (raw DOM) by focusing on structured data for AI targeting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Chinese section explicitly lists when to use: before interaction to understand page structure, to get clickable list before locating elements, to view fields before form filling, and to record page state at breakpoints. This provides clear context and implies when not to use (e.g., not for visual checks).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_stateA
查看和管理浏览器状态(Cookie 与 Web Storage)。v1.9.5 起合并 browser_cookies 与 browser_storage。mode=cookies 时支持获取/设置/清除 Cookie;mode=storage 时查看 localStorage、sessionStorage、cookies 快照。调试登录态、Token、状态持久化问题的首选工具。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 工作模式:cookies(Cookie 管理,默认)、storage(Web Storage 快照) | cookies |
| name | No | 按名称筛选Cookie(仅 mode=cookies + action=get 时生效) | |
| scope | No | Storage 范围(仅 mode=storage 生效):localStorage、sessionStorage、cookies 或 all,默认 all | |
| action | No | Cookie 操作类型(仅 mode=cookies 生效):get(获取Cookie,默认)、clear(清除所有Cookie)、set(设置Cookie) | get |
| cookie | No | 要设置的Cookie对象(仅 mode=cookies + action=set 时生效),包含 name、value 属性,可选 domain、path、expires 等 | |
| domain | No | 按域名筛选Cookie,如 .example.com(仅 mode=cookies + action=get 时生效) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full disclosure burden. It explains both read-only (storage snapshots) and destructive operations (cookie clear/set), and mentions merging behavior. However, it could detail side effects of clearing cookies or snapshot limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with purpose, and every sentence provides essential information without redundancy. It efficiently conveys the merged nature, dual modes, and primary use case.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, nested objects, dual modes) and absence of an output schema, the description is minimally adequate. It covers modes and actions but lacks details on return values, error handling, or browser context limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description summarizes the mode-based behavior but does not add significant new meaning beyond the schema descriptions. It provides general-purpose context but not parameter-specific enhancements.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it manages browser state (Cookies & Web Storage), explicitly mentions merging legacy tools, and explains two modes with specific actions. It effectively distinguishes itself from sibling legacy tools like browser_cookies and browser_storage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it's the preferred tool for debugging login state, tokens, and persistence issues, and explains when to use each mode. However, it lacks explicit exclusions or comparison with other tools like browser_snapshot or browser_har_export.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_stepA
记录当前验证步骤证据:截图、DOM 简要快照、本轮统一错误摘要。用于形成可追溯证据链。
| Name | Required | Description | Default |
|---|---|---|---|
| label | No | 步骤名称,如 login-after-submit | |
| snapshot | No | 是否采集 DOM 简要快照,默认 true | |
| screenshot | No | 是否截图,默认 true | |
| includeWarnings | No | 错误摘要是否包含 warning | |
| redactSelectors | No | 截图中额外遮挡的 CSS 选择器 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses the recorded artifacts (screenshot, DOM snapshot, error summary) but omits behavioral traits like idempotency, side effects, or prerequisites (e.g., active browser session). Adequate but with gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is front-loaded with the action verb and key artifacts. No wasted words; every part adds value. Appropriate length for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (5 optional params, no output schema), the description covers core purpose. However, with no annotations and a list of 80+ siblings, more context on evidence storage or chain integration would be beneficial. Still not critically incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and descriptions are present. The tool description repeats the general idea ('screenshot, DOM, error summary') but adds no additional meaning beyond the schema's per-parameter descriptions. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool records evidence for verification steps, combining screenshot, DOM snapshot, and error summary. This contrasts with siblings like browser_screenshot (only screenshot) or browser_snapshot (only DOM), providing a unique composite purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use during verification steps ('record current verification step evidence') but does not explicitly state when to use or avoid alternatives. Given the sibling list, it is clear this is for documenting steps, but no exclusions or context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_storageA
查看当前页面 localStorage、sessionStorage 或 cookie,辅助定位登录态和状态问题
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | localStorage、sessionStorage、cookies 或 all,默认 all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It states the tool 'views' storage, indicating a read-only operation. This is clear, but it could be more explicit about having no side effects or requiring no special permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that effectively communicates the tool's purpose. It is front-loaded and contains no unnecessary words, though it could be slightly more structured by separating purpose from usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one optional parameter, no output schema), the description covers the core purpose. However, it omits details about what the tool returns (e.g., key-value pairs), which would be useful for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameter is well-documented in the schema. The description adds context about the tool's purpose but does not add meaningful semantic detail beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool views localStorage, sessionStorage, or cookies, and helps locate login/status issues. While it distinguishes from 'browser_cookies' by covering multiple storage types, it does not explicitly differentiate itself, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for checking storage related to login/status, but does not provide explicit guidance on when to use this tool versus alternatives like 'browser_cookies' or 'browser_state'. No exclusions or when-not-to-use information is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_trace_chainA
全链路调用链追溯:从 trace_id 或时间点追溯前端→API→后端的完整请求链路,聚合每个 trace 的请求/响应体和关联的 console 错误
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | URL 包含过滤 | |
| since | No | 时间点 (ISO格式),只返回该时间之后的链路 | |
| traceId | No | 精确的 trace_id/request_id 查询 | |
| statusMin | No | 最小 HTTP 状态码过滤(如 400 只显示错误请求) | |
| includeBackendLogs | No | 是否同时从后端服务器 grep 日志(需要 SSH 免密) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions aggregation of request/response bodies and console errors, and implies a read operation. However, it does not explicitly state whether the tool is read-only, requires specific permissions, or has any side effects. The parameter includeBackendLogs hints at SSH requirements, but this is not disclosed in the main description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the verb and resource. Every part is essential, and there is no wasted text. It is concise yet informative, capturing the core functionality and key capabilities.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and the absence of an output schema, the description covers the main functionality well: tracing chains and aggregating data. It specifies input methods (trace_id or time point) and data collected (request/response bodies, console errors). However, it does not mention the output format (e.g., list of chains) or any limitations (e.g., time range constraints). A bit more detail on what the output looks like would make it more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% description coverage for all 5 parameters, so the tool description adds minimal value beyond context. It does not detail parameter usage or provide additional semantics beyond what the schema offers. The baseline is 3, and the description meets that without exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: tracing the full request chain from frontend to API to backend using trace_id or time point. It specifies the resource ('全链路调用链') and the action ('追溯'). The description differentiates from sibling tools like browser_network_detail (focus on network requests) and browser_flow (step flows) by emphasizing full chain aggregation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for tracing chains via trace_id or time point, but it does not explicitly state when to use this tool over alternatives like browser_network_detail or browser_trace_start/stop. No guidance on prerequisites or when not to use is provided. Given the many sibling tools, more explicit usage context would be helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_trace_startB
开始浏览器追踪会话,记录页面加载和交互过程中的性能数据
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description mentions recording performance data but does not disclose behavioral traits such as whether the trace is destructive, what kind of data is collected, or if it requires a page to be loaded. Lacks details on side effects or state changes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, concise and to the point. No verbose or redundant information. However, it could be slightly more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no parameters and no output schema, the description omits important context such as what the return value is (e.g., trace ID), how to stop the trace, or how the recorded data can be accessed. For a session-starting tool, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, schema description coverage is 100%. The description implicitly indicates no parameters are needed. Baseline for 0 parameters is 4; description adds no unnecessary information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool starts a browser trace session and records performance data. It uses specific verb+resource. However, it does not explicitly differentiate from similar tools like browser_performance_trace or browser_trace_stop, but the name and context imply the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like browser_performance_trace or browser_trace_stop. Does not specify prerequisites or conditions for starting a trace. Agent must infer usage from name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_trace_stopA
停止浏览器追踪会话,返回收集到的追踪数据
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It states the tool stops the session and returns data, which is sufficient for basic understanding. However, it does not disclose potential side effects (e.g., whether ongoing events are discarded) or behavior when no trace is active.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded, and contains no extraneous information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and no output schema, the description is largely complete. It covers the action and result. A minor missing detail is the prerequisite of an active trace, but this is implied. Overall, the agent can select and invoke the tool correctly with this information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters (0 params, 100% coverage). According to guidelines, baseline is 4. The description correctly does not add parameter information since none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool stops a browser tracing session and returns collected data. It uses a specific verb ('stop') and identifies the resource ('browser tracing session'), making it unambiguous despite being in Chinese. The sibling tools include 'browser_trace_start' and 'browser_trace_chain', so this complements them clearly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. It implies it should be used after starting a trace, but does not state prerequisites or when not to use it. The context is implied from the name and description, but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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"}
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | 要输入的文本 | |
| selector | Yes | CSS 选择器 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It mentions simulating real keyboard input but does not disclose details like whether it clears existing text, supports special keys, or handles events. It does list errors and output, but overall transparency is moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with English summary and Chinese details. It is concise but includes necessary usage guidance, error info, and example. The bilingual approach adds some redundancy but remains efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description covers purpose, usage, parameters, errors, and output format. It is fairly complete for a two-parameter tool, though behavioral details could be richer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, yet the description adds value by explaining each parameter's purpose (e.g., 'CSS selector, supports Playwright syntax') and providing an example. This goes beyond the schema's minimal descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Type text into a DOM element matched by CSS selector in a real browser, simulating real keyboard input.' This provides a specific verb, resource, and nuance, distinguishing it from siblings like browser_click or browser_aria_type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes explicit 'when to use' scenarios in Chinese (e.g., filling login forms, search boxes, textarea, testing input limits), providing clear context. It does not explicitly mention when not to use or alternatives, but the guidance is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_verify_fixA
修复验证闭环工具。记录修复前状态(错误数、元素状态),执行修复操作(browser_click/type/wait等),验证修复后状态,对比前后差异,确认修复是否生效。返回 before/after 对比、fixStatus、verificationResult、nextAction。
| Name | Required | Description | Default |
|---|---|---|---|
| timeout | No | 验证超时时间(毫秒),默认10000 | |
| fixValue | No | 修复动作值(type时为输入文本,wait时为毫秒数,scroll时为距离) | |
| selector | Yes | 目标元素选择器(必填) | |
| fixAction | No | 修复动作类型:click(点击)、type(输入)、wait(等待)、scroll(滚动)、quick_fix(自动修复)、none(仅验证不修复) | quick_fix |
| verificationCriteria | No | 验证标准 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It outlines the flow (record, execute, verify, compare, return) and mentions return fields. However, it lacks details on side effects, error handling, or failure scenarios, which is a gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with purpose, listing return fields. It is efficient but could be slightly more structured with bullet points for readability. No waste sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters (1 required, enum, nested object) and no output schema, the description covers the tool's flow and return values well. It compensates for the lack of output schema by listing before/after, fixStatus, etc. Reasonably complete for a repair-verification tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description does not add significant meaning beyond the schema, which already describes all parameters well. It mentions the default fixAction but no additional semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a 'repair verification closed-loop tool' that records pre-state, executes repair actions, verifies post-state, and compares differences. It distinguishes itself from sibling tools like browser_click or browser_quick_fix by integrating repair with verification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for usage, listing supported repair actions (click, type, wait, etc.) and the default action (quick_fix). However, it does not explicitly state when not to use this tool or suggest alternatives, such as directly using browser_click or browser_quick_fix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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)。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 视觉模式:baseline(默认,建立基线)/ compare(与基线对比)/ report(列出视觉产物)/ check(UI 问题扫描)/ snapshot(三级快照)/ component(组件级元素视觉比对,需指定 name 和 selector)/ diff(手动对比两张截图,等价于 screenshot_diff) | baseline |
| name | No | 基线/对比/产物名称,不含扩展名(mode=baseline/compare/component/diff 时使用;mode=component 时必填) | |
| fullPage | No | 是否全页截图,默认 true;selector 存在时忽略(mode=baseline/compare/snapshot 时使用) | |
| selector | No | 可选 CSS 选择器;指定后只截取该元素(mode=baseline/compare/snapshot/diff 时使用;mode=component 时必填) | |
| severity | No | 最低报告级别(mode=check 时使用),默认 major | major |
| afterPath | No | actualPath 的别名(mode=diff 时使用) | |
| threshold | No | 差异阈值,默认 0.01(mode=diff 时使用) | |
| viewports | No | 响应式检查的 viewport 列表(mode=check 时使用) | |
| actualPath | No | 实际截图路径(mode=diff 时使用) | |
| beforePath | No | baselinePath 的别名(mode=diff 时使用) | |
| sessionName | No | 浏览器会话名称,默认当前活跃会话(mode=baseline/compare/snapshot/component 时使用) | |
| baselinePath | No | 基线截图路径(mode=diff 时使用) | |
| detectIssues | No | 是否自动检测 UI 问题,默认 true(mode=snapshot/check 时使用) | |
| maskSelectors | No | 截图前额外遮挡/脱敏的 CSS 选择器列表,用于忽略动态区域(mode=baseline/compare 时使用) | |
| viewportWidth | No | 自定义 viewport 宽度(mode=snapshot 时使用) | |
| viewportHeight | No | 自定义 viewport 高度(mode=snapshot 时使用) | |
| includeMetadata | No | 是否包含完整元数据,默认 true(mode=snapshot 时使用) | |
| includeResponsive | No | 是否包含响应式检查,默认 false(mode=check 时使用) | |
| maxDiffPixelRatio | No | 组件级视觉比对允许的最大差异像素比例,默认 0.01(mode=component 时使用) | |
| includeAccessibility | No | 是否包含可访问性检查,默认 true(mode=check 时使用) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must shoulder the behavioral burden. It explains the tool as a merged entity and describes each mode's action (e.g., generating baselines, diffs, reports). However, it does not disclose side effects like file creation, resource usage, or prerequisites for each mode.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense paragraph that efficiently conveys the tool's nature and mode breakdown. Every sentence provides necessary information without redundancy. Slightly longer due to parameter enumeration, but justified by complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 20 parameters and no output schema, the description adequately outlines mode-specific usage. However, it lacks information about return values or output structure, which is needed for an agent to interpret results correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% parameter description coverage. The description adds value by grouping parameters per mode (e.g., 'mode=diff 时使用'), clarifying context beyond schema. This helps an agent understand parameter applicability.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a visual regression and UI checking tool that consolidates multiple modes. It uses specific verbs and resources ('视觉回归', 'UI 检查'). However, it does not explicitly differentiate from sibling tools like browser_screenshot or browser_snapshot, which carry similar functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a detailed breakdown of each mode and when to use them (e.g., 'baseline(默认,建立视觉基线 PNG)'). It lacks external guidance on when to prefer this tool over siblings or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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"]}
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | 基线名称,不含扩展名 | |
| fullPage | No | 是否全页截图,默认 true;selector 存在时忽略 | |
| selector | No | 可选 CSS 选择器;指定后只截取该元素 | |
| sessionName | No | 浏览器会话名称,默认当前活跃会话 | |
| maskSelectors | No | 截图前额外遮挡/脱敏的 CSS 选择器列表 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description covers default full-page screenshot, auto-masking of sensitive inputs, output object structure, and error cases. No annotations exist, so this is good, but explicit side-effect statements (e.g., file creation) are implied rather than stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The English part is concise, and the Chinese section is well-structured with bullet points. The bilingual nature adds length, but it is still efficient and front-loaded with the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description provides a full output object, error scenarios, and usage guidelines. With 5 parameters and no annotations, it covers all needed context comprehensively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds extra context for each parameter (e.g., 'selector: CSS selector; if specified, only that element is captured') and provides an example invocation. This significantly enhances understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Create a visual regression baseline PNG for the current page or a specific element' with defaults and auto-masking. This clearly distinguishes it from siblings like browser_visual_compare and browser_visual_check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Chinese section explicitly lists when to use: first-time baseline, reset after UI upgrade, multi-viewport testing, component-level comparison. This provides clear guidance on appropriate scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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"}
| Name | Required | Description | Default |
|---|---|---|---|
| severity | No | 最低报告级别:blocking(只报阻断级)/ major(报阻断+严重级)/ minor(全部报告),默认major | major |
| viewports | No | 响应式检查的viewport列表,仅当 includeResponsive=true 时生效 | |
| includeResponsive | No | 是否包含响应式检查,默认false | |
| includeAccessibility | No | 是否包含可访问性检查(图片alt缺失、对比度检测),默认true |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes the tool's behavioral traits: it scans the current page without a baseline, returns a natural-language issue list, and lists error conditions ('Browser not launched', 'Invalid viewport'). It does not explicitly state non-modification or side effects, but the read-only nature is implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with an English summary followed by Chinese details in bullet points. It is front-loaded with the core concept. While slightly long, every section adds value and the formatting aids readability. A more concise English-only version could be constructed, but the current structure is functional.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description fully specifies the output format ({ ok, totalIssues, issues, summary }), issue categories, parameters with defaults, error messages, and an example. This provides complete contextual information for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing a baseline of 3. The description adds significant extra meaning beyond the schema, including detailed parameter descriptions in Chinese, conditional logic (e.g., viewports only effective when includeResponsive=true), and an example invocation. This justifies a score above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as a no-baseline automated UI issue scan, listing specific types of problems it detects. The name and description directly convey the verb ('scan') and resource ('current page') and distinguish it from sibling tools like browser_visual_compare and browser_a11y_check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a dedicated 'when to use' section covering UI walkthroughs, pre-deploy checks, responsive verification, and accessibility scanning. It provides clear usage context but does not explicitly mention when not to use or alternatives like browser_a11y_check for dedicated accessibility testing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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"]}
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | 要对比的基线名称,不含扩展名 | |
| fullPage | No | 是否全页截图,默认 true;selector 存在时忽略 | |
| selector | No | 可选 CSS 选择器;需与基线截图范围一致 | |
| sessionName | No | 浏览器会话名称,默认当前活跃会话 | |
| maskSelectors | No | 截图前额外遮挡/脱敏的 CSS 选择器列表,用于忽略动态区域 | |
| maxDiffPixelRatio | No | 允许的最大差异像素比例,默认 0.01 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It describes the entire process (capture, compare, generate diff, return artifacts) and documents two error cases (missing baseline, selector not found). It does not mention potential side effects or performance impacts, but the behavioral outline is thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with English first then Chinese. The bilingual approach adds length but both parts are necessary for the target audience. Every sentence adds value, though the English and Chinese sections overlap somewhat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description itemizes all return fields. It covers all 6 parameters, lists error conditions, and provides an example. This fully compensates for the missing output schema given the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds extra semantics: name without extension, sessionName default, selector consistency requirement, and an example JSON. These additions justify a score above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it captures a PNG, compares against a baseline, generates a diff, and returns metrics. It uses specific verbs and resources, and the detailed explanation leaves no ambiguity about the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Chinese section explicitly lists usage scenarios (UI regression, multi-environment consistency, style adjustment detection, CI gates). It does not specify when not to use or mention alternatives, but the given contexts are clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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}
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | 组件基线名称,不含扩展名 | |
| selector | Yes | CSS 选择器,精确选择要对比的组件 | |
| sessionName | No | 浏览器会话名称,默认当前活跃会话 | |
| maxDiffPixelRatio | No | 允许的最大差异像素比例,默认 0.01 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description covers behavioral traits: it captures a screenshot, compares to a baseline, auto-creates the baseline if missing, returns diff metrics and flags. It also lists error conditions (no match, multiple matches). It could mention if it modifies browser state, but overall it's transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: an English summary followed by Chinese details in bullet points. It is front-loaded with the key purpose and output, and every sentence adds necessary information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema and no annotations, the description fully covers purpose, usage, parameters, output structure (list of fields), errors, and an example. It leaves no significant gaps for an agent to understand the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description adds value: it states the default for maxDiffPixelRatio (0.01) and that sessionName defaults to the current active session. It also provides an example JSON, reinforcing parameter usage beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it performs a component-level visual diff, capturing a screenshot of a CSS-selected component and comparing it against a same-named baseline. The verb 'capture and compare' plus the resource 'component' is specific. It distinguishes from sibling tools like browser_visual (presumably full-page) and browser_visual_check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Chinese section explicitly lists when to use: component library visual regression, independent component UI verification, multi-theme comparison, and incremental UI changes. It does not explicitly say when not to use, but the guidance is clear and context-specific.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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
示例:{}
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the output structure (ok, baselines, actuals, diffs, recentResults, total) and error behavior (empty arrays with ok=true). However, it does not explicitly state that the tool is read-only or has no side effects, which is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The English part is a single sentence, and the Chinese part adds structured details. The information is front-loaded, but the bilingual nature may be slightly redundant for an English-speaking agent. Overall, every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity, no output schema, and no annotations, the description adequately covers purpose, output format, error handling, and usage contexts. It is complete for an agent to decide when and how to invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100% (empty object). The description explicitly states '参数:无' (parameters: none). Since there are no parameters to document, the baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists visual regression artifacts (baselines, actuals, diffs) and recent comparison results. This distinguishes it from sibling tools like browser_visual_compare or browser_visual_check which perform comparisons or checks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Chinese section explicitly lists when to use: after visual regression tests to view history, before cleaning baselines, debugging visual_compare results, and report summaries. This provides clear context and implicitly states when not to use (e.g., when you need to perform a comparison).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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}
| Name | Required | Description | Default |
|---|---|---|---|
| fullPage | No | 是否全页截图,默认 true | |
| selector | No | 可选 CSS 选择器;不传则全页 | |
| sessionName | No | 浏览器会话名称,默认当前活跃会话 | |
| detectIssues | No | 是否自动检测 UI 问题,默认 true | |
| viewportWidth | No | 自定义 viewport 宽度 | |
| viewportHeight | No | 自定义 viewport 高度 | |
| includeMetadata | No | 是否包含完整元数据,默认 true |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description details the output structure, automatic issue detection, and errors for missing selectors or unlaunched browsers. Without annotations, it covers essential behavioral aspects, though it could mention that it is a read-only operation (no destructive side effects).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (purpose, details, output, parameters, errors, example). It is front-loaded with a concise English summary, but includes duplicate information in Chinese and English, making it slightly longer than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 7 optional parameters and no output schema, the description covers output shape, parameter details, errors, and provides an example. It is sufficient for an agent to use correctly, though the return format's properties (e.g., issues array) could be elaborated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds context like example usage and defaults, but much of the parameter info is already in the schema. The description does not significantly enhance understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a 'three-level snapshot' combining screenshot, DOM snapshot, and CSS properties with automatic UI issue detection. This distinguishes it from sibling tools like browser_visual (just screenshot) and browser_snapshot (likely just DOM).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists when to use the tool (e.g., debugging invisible elements, regression testing). It also mentions error conditions. However, it does not explicitly state when not to use or name alternative tools for comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_waitA
Wait for the browser to reach a specified condition: element visible/hidden/detached, text appears, URL contains substring, load state, or a fixed duration. Used to stabilize asynchronous flows.
中文详情:
用途:等待真实浏览器达到指定状态(元素出现/隐藏、文本出现、URL 包含、加载状态、固定时间),稳定异步流程
何时使用:点击后等待 loading 消失时;异步请求后等待元素出现时;SPA 路由跳转后等待 URL 变化时;轮询前固定延迟时;动画完成后继续操作时
输出:{ ok: boolean, condition: string, elapsed: number, timeout: number, timedOut: boolean }
参数:
selector (string, 可选):要等待的 CSS 选择器,配合 state 使用
state (string, 可选):选择器状态,可选 attached/detached/visible/hidden,默认 visible
text (string, 可选):等待出现的页面文本
exact (boolean, 可选):文本是否精确匹配,默认 false
nth (number, 可选):当文本匹配多个元素时选择第几个,默认 0
urlContains (string, 可选):等待当前 URL 包含该字符串
loadState (string, 可选):等待加载状态,可选 load/domcontentloaded/networkidle
ms (number, 可选):固定等待毫秒数
timeout (number, 可选):超时时间,默认 10000ms
错误:超时抛出 'Timeout XXXXms exceeded';未提供任何等待条件抛出 'No wait condition provided'
示例:{"selector":".loading-spinner","state":"hidden","timeout":15000}
| Name | Required | Description | Default |
|---|---|---|---|
| ms | No | 固定等待毫秒数 | |
| nth | No | 当文本匹配多个元素时选择第几个,默认 0 | |
| text | No | 要等待出现的页面文本 | |
| exact | No | 文本是否精确匹配,默认 false | |
| state | No | 选择器状态:attached/detached/visible/hidden,默认 visible | |
| timeout | No | 超时时间,默认 10000ms | |
| selector | No | 要等待的 CSS 选择器 | |
| loadState | No | 等待加载状态:load/domcontentloaded/networkidle | |
| urlContains | No | 等待当前 URL 包含该字符串 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses output format { ok, condition, elapsed, timeout, timedOut }, error messages (timeout, no condition), and lists all wait conditions. It does not mention authentication or rate limits, but these are not relevant for a wait tool. Overall, good transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with an English intro and a Chinese section breaking down into usage, output, parameters, errors, and example. It is somewhat verbose due to duplication, but the organization helps readability. Front-loaded with the main purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 9 optional parameters and no output schema, the description is remarkably complete. It covers all wait conditions, output shape, error messages, and an example. There is no ambiguity about how to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description's parameter list is largely redundant but adds context like '配合 state 使用' and '当文本匹配多个元素时'. It also provides an example. However, it doesn't add significant new meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Wait for the browser to reach a specified condition' and lists all possible conditions (element visible/hidden/detached, text appears, URL contains, load state, fixed duration). It clearly distinguishes the tool's purpose from sibling browser action tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Chinese section provides explicit when-to-use scenarios: after clicks waiting for loading, async requests, SPA routing, polling delays, animation completion. While it doesn't explicitly mention when not to use or alternatives, the guidance is clear and practical.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
business_loop_validateA
开源版业务闭环验证:自动��别页面上的业务关键节点(留资/下单/结算),并验证各节点的可达性、表单完整性和流程连贯性。识别 6 类业务节点:lead_capture(留资)、product_browse(商品浏览)、cart(购物车)、checkout(下单结算)、payment(支付)、account(账户)。每类节点检查:可达性、表单字段、按钮、网络请求、状态转换。
| Name | Required | Description | Default |
|---|---|---|---|
| loop | No | 业务闭环类型:ecommerce=电商(浏览→购物车→下单→支付);lead_gen=留资(访问→填表→提交);saas_signup=SaaS注册(访问→注册→激活);content_publish=内容发布(访问→编辑→发布);auto=自动识别 | auto |
| depth | No | 探测深度:1=仅当前页;2=跟随主要 CTA;3=完整流程测试 | |
| target | Yes | 目标页面 URL(必填) | |
| maxSteps | No | 最大流程探测步数 | |
| checkForm | No | 是否检查表单字段完整性 | |
| checkNetwork | No | 是否检查网络请求可达性 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the tool identifies 6 node types and checks various aspects (reachability, forms, buttons, network, state transitions). It does not state whether the tool is read-only or modifies state, but the task is validation-oriented, so likely non-destructive. This is fairly transparent for its purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise with a clear overview followed by a list of node types. It is well-structured and front-loaded with the core purpose. Minor redundancy could be trimmed but overall effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 parameters and no output schema, the description lacks details on return values or how to interpret results. It does explain what is checked but not what the agent receives back. Context is adequate for understanding the tool's function but incomplete for full usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add parameter-level details beyond the schema. It mentions node types but those are not parameters. The schema already describes each parameter adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool validates business loops by identifying 6 specific node types (lead_capture, product_browse, etc.) and checking reachability, form integrity, and flow coherence. This is distinct from sibling tools like browser_flow or validation_flow which are more general.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for business loop validation but does not explicitly state when to use this tool over alternatives like browser_flow, validation_flow, or browser_smoke_test. No when-not or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bypass_loginA
开源版认证绕过检测:通过多种方式测试是否可以绕过登录验证直接访问受保护页面/API。包括:无 Cookie 请求、修改用户 ID、移除 Authorization 头、测试常见后门路径等。
| Name | Required | Description | Default |
|---|---|---|---|
| targetUrl | Yes | 目标受保护页面的 URL | |
| testCases | No | 要执行的测试用例列表 | |
| authApiPath | No | 认证 API 路径(如 /api/auth/me),用于验证当前登录状态 | |
| maxTestCount | No | 最大测试次数 | |
| userIdToTest | No | IDOR 测试时使用的其他用户 ID | |
| backdoorPaths | No | 自定义后门路径列表,默认使用内置常见路径 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that the tool tests multiple bypass methods (no cookie, modify user ID, remove auth header, backdoor paths) but does not mention potential side effects, authorization requirements, or state changes. This is moderate transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (three sentences in Chinese) and front-loaded with the core purpose. Every sentence adds information without redundancy, making it efficient for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains what the tool does and its methods, but it omits important context: there is no output schema, so the agent does not know what the tool returns (e.g., JSON with success/failure details). Given the tool's complexity and security implications, more context about output and safe usage is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter has a description. The tool description adds value by listing example test cases (e.g., no_cookie, fake_user_id) that correspond to the testCases enum, enhancing the schema meaning. It also clarifies the purpose of authApiPath and userIdToTest beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'authentication bypass detection' using multiple methods. It specifies the verb (检测) and resource (登录验证 bypass), and distinguishes itself from sibling security tools by focusing specifically on bypassing login verification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives like security_scan or security_sql_injection_scan. It does not mention when not to use it or any prerequisites, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chain_list_templatesA
列出所有内置链路规格模板,包括 marketplace-purchase、login-basic、credits-balance 等。每个模板包含名称、描述、步骤数、是否有状态源、目标 URL。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description adequately discloses it is a read-only list operation. Lacks details on side effects or authentication, which are minimal for this tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states purpose and examples, second details template contents. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no output schema, description fully covers what the agent needs: that it lists templates and what each contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters in schema, so description cannot add meaning. Baseline 4 is appropriate as schema coverage is 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool lists built-in chain spec templates and provides examples. Distinguishes from sibling tools by focusing on template listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when/when-not guidelines, but implied usage for retrieving templates. No alternatives mentioned despite sibling chain tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chain_score_reportA
对 chain_spec_run 结果输出 5 维评分报告:功能链路(步骤通过率)、技术链路(API/网络成功率)、一致性(状态 diff 通过率)、契约(API schema 校验)、可观测性(错误采集质量)。输出加权总分和等级。先做进现有 MCP,后续再剥离。
| Name | Required | Description | Default |
|---|---|---|---|
| runId | No | 可选,链路运行 ID | |
| result | No | chainResult 的别名 | |
| chainResult | No | chain_spec_run 的完整返回结果对象 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral disclosure burden. It only describes output content and does not mention side effects, read-only nature, required permissions, or any safety traits. For a reporting tool, it is likely read-only, but this is not stated, leaving behavioral assumptions to the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the main purpose and dimensions. It avoids redundancy but includes a note about future separation. One sentence could be considered extraneous, but overall it efficiently conveys the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the output structure (5 dimensions, weighted total score, grade) without an output schema. It is sufficient for an agent to understand what the tool returns. However, it lacks specifics on scoring methodology or scale, which could be needed for precise invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with brief descriptions for each parameter (runId, result as alias, chainResult). The tool description adds context that the result comes from chain_spec_run, but does not add significant meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates a 5-dimensional scoring report for chain_spec_run results, listing each dimension: functionality, technology, consistency, contract, and observability. This specific verb+resource combination distinguishes it from sibling tools like chain_spec_run (which runs the chain) and other reporting tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after obtaining chain_spec_run results, but does not explicitly state when to use this tool versus alternatives. It lacks when-not guidance or alternative suggestions. The phrase '先做进现有 MCP,后续再剥离' provides context but not actionable usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chain_specA
链路规格工具(v1.9.5 起合并 chain_list_templates/chain_spec_run/chain_score_report)。通过 mode 参数区分子模式:list(默认,列出所有内置链路模板)/ run(按链路规格执行业务链路验证)/ score(对 chain_spec_run 结果输出 5 维评分报告)。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 链路模式:list(默认,列出所有内置链路模板)/ run(执行链路规格验证)/ score(生成 5 维评分报告) | list |
| name | No | 链路名称,可作为 runId 兜底(mode=run 时使用) | |
| runId | No | 链路运行 ID。mode=run 不传则自动生成;mode=score 可选,用于标识评分对应的运行 | |
| steps | No | 链路步骤列表,按顺序执行(mode=run 时使用) | |
| result | No | chainResult 的别名(mode=score 时使用) | |
| timeout | No | 打开 targetUrl 的超时时间,默认 30000ms(mode=run 时使用) | |
| evidence | No | 是否每个成功步骤都采集证据,默认 false(mode=run 时使用) | |
| failFast | No | 步骤失败后是否立即停止,默认 true(mode=run 时使用) | |
| settleMs | No | 每步完成后的默认稳定等待时间,默认 300ms(mode=run 时使用) | |
| snapshot | No | 采集证据时是否保存 DOM 摘要,默认 true(mode=run 时使用) | |
| template | No | 内置链路模板名,如 marketplace-purchase、login-basic、credits-balance。指定后自动加载模板的 steps/stateSources/expectations/targetUrl,再用传入参数覆盖(mode=run 时使用) | |
| targetUrl | No | 执行链路前先打开的页面 URL。指定 template 时可覆盖模板的 targetUrl(mode=run 时使用) | |
| screenshot | No | 采集证据时是否截图,默认 true(mode=run 时使用) | |
| chainResult | No | chain_spec_run 的完整返回结果对象(mode=score 时使用) | |
| expectations | No | 整条链路最终状态断言(mode=run 时使用) | |
| stateSources | No | 整条链路执行前后要采集并对比的状态源(mode=run 时使用) | |
| finalEvidence | No | 链路结束时是否采集最终证据,默认 false(mode=run 时使用) | |
| networkFilter | No | 网络请求过滤条件(mode=run 时使用) | |
| evidenceOnFail | No | 失败步骤是否采集证据,默认 true(mode=run 时使用) | |
| failOnRuntimeError | No | 每步出现 Console/PageError/Network 错误时是否判失败,默认 true(mode=run 时使用) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It describes the three modes but fails to mention any side effects, permissions, or potential destructive actions (e.g., browser navigation in run mode). The description is too brief to cover behavioral aspects adequately.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the merge context followed by mode breakdown. Every sentence adds value, and the structure is clear and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (20 parameters, nested objects, no output schema), the description lacks details on return values or expected outputs, especially for 'run' and 'score' modes. It mentions a scoring report but no specifics. The tool also interacts with browsers but no behavioral context is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains all 20 parameters. The description adds value mainly by explaining the mode parameter and its enums, but does not elaborate on other parameters beyond what the schema provides. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a chain specification tool that integrates three previous tools, and explains the three modes (list, run, score) with specific purposes. It distinguishes from sibling tools like chain_list_templates, chain_spec_run, and chain_score_report by noting the merge.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use each mode: list for listing templates, run for executing chain validation, score for generating scoring reports. It also mentions the merge, implying these were separate alternatives, providing clear guidance on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chain_spec_runC
按链路规格执行简化版业务链路验证:支持打开页面、点击、输入、等待、断言、状态采集/对比,并汇总每步 Console、PageError、Network、状态 diff 和证据。先做进现有 MCP,后续再剥离为独立链路验证引擎。
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | 链路名称,可作为 runId 兜底 | |
| runId | No | 本次链路运行 ID,不传则自动生成 | |
| steps | Yes | 链路步骤列表,按顺序执行 | |
| timeout | No | 打开 targetUrl 的超时时间,默认 30000ms | |
| evidence | No | 是否每个成功步骤都采集证据,默认 false | |
| failFast | No | 步骤失败后是否立即停止,默认 true | |
| settleMs | No | 每步完成后的默认稳定等待时间,默认 300ms | |
| snapshot | No | 采集证据时是否保存 DOM 摘要,默认 true | |
| template | No | 内置链路模板名,如 marketplace-purchase、login-basic、credits-balance。指定后自动加载模板的 steps/stateSources/expectations/targetUrl,再用传入参数覆盖 | |
| targetUrl | No | 可选,执行链路前先打开的页面 URL。指定 template 时可覆盖模板的 targetUrl | |
| screenshot | No | 采集证据时是否截图,默认 true | |
| expectations | No | 整条链路最终状态断言,结构同 state_diff_assert.expectations | |
| stateSources | No | 整条链路执行前后要采集并对比的状态源,结构同 state_diff_assert.sources | |
| finalEvidence | No | 链路结束时是否采集最终证据,默认 false | |
| networkFilter | No | 网络请求过滤条件,如 urlContains/method/statusMin/statusMax | |
| evidenceOnFail | No | 失败步骤是否采集证据,默认 true | |
| failOnRuntimeError | No | 每步出现 Console/PageError/Network 错误时是否判失败,默认 true |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. It lists capabilities and summarization features (console, page errors, network, state diff, evidence) but omits critical details: whether a new browser session is created, side effects on browser state, resource cleanup, or destructive actions. The mention of 'simplified' and 'future extraction' does not clarify runtime behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately concise, listing capabilities in a single sentence. However, it includes meta comments about implementation ('先做进现有MCP,后续再剥离') that are irrelevant to an agent's use. This adds noise without improving understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (17 parameters, nested objects, no output schema), the description is insufficient. It does not specify the output format (only mentions 'summary' vaguely), nor does it highlight the only required parameter ('steps'). Important behaviors like error handling, timeout defaults, and template usage are left to the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The tool description adds little beyond the schema; it lists high-level actions (e.g., 'open page, click, input') that map to step types already documented in the schema. It does not explain parameter interactions or provide examples for complex nested objects like 'expectations' or 'stateSources'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool executes a simplified business chain validation with specific actions (open, click, input, wait, assert, state capture/compare) and summarizes results. It differentiates from sibling tools like 'browser_chain' by emphasizing 'spec' and a structured approach, though it doesn't explicitly distinguish from closely related tools like 'chain_spec' or 'browser_flow'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as 'browser_chain' or 'browser_step'. It lacks prerequisites, use cases, or exclusions, leaving the agent to infer context from the name and schema alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contractA
API 契约工具。v1.9.5 起合并 contract_guard / contract_baseline。mode=guard 从前端实际消费的 API 响应中自动提取字段结构,生成 consumer contract(消费者契约),防止后端 API 漂移;mode=baseline 进行契约基线管理(保存/加载/对比/列出/删除)。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 工作模式:guard(生成/校验消费者契约,默认)、baseline(基线管理) | guard |
| name | No | 基线名称(仅 mode=baseline),默认 'default' | |
| since | No | 从 network 日志提取的时间起点(仅 mode=guard),默认当前 checkpoint | |
| action | No | 基线操作类型(仅 mode=baseline):list=列出所有基线、save=保存当前 contracts 为基线、load=加载指定基线、compare=对比当前 contracts 与基线、delete=删除基线 | list |
| contracts | No | save/compare 操作时传入的 contracts 列表(仅 mode=baseline),通常来自 contract_guard 的输出 | |
| endpoints | No | 要直接调用并生成契约的端点列表(仅 mode=guard),每项包含 path/url/method/headers/body | |
| fromNetwork | No | 是否从已捕获的 network 日志中提取 API 响应生成契约(仅 mode=guard),默认 true | |
| urlContains | No | 只处理 URL 包含此字符串的请求(仅 mode=guard) | |
| autoDiscover | No | 是否自动从 network 日志发现 API 端点(仅 mode=guard),默认 false | |
| baselineName | No | 基线名称(仅 mode=guard),默认 'default' | |
| saveBaseline | No | 是否将本次生成的 contracts 保存为基线(仅 mode=guard),默认 false | |
| compareBaseline | No | 是否与已保存的基线对比(仅 mode=guard),默认 false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It explains the two modes and their basic operations, but does not disclose what the tool returns, side effects, permissions, rate limits, or how the output looks. This is adequate but not comprehensive for a tool without annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences that front-load the core purpose and mode differentiation. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (12 parameters, no output schema), the description covers the main modes but lacks details on output format, return values, or step-by-step usage guidance. It is minimally complete but could be more helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 12 parameters. The tool description adds overall context about merging and modes, but does not significantly enhance understanding beyond the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is an API contract tool merged from contract_guard and contract_baseline, and explains two distinct modes (guard and baseline) with specific actions. This distinguishes it from sibling tools like contract_baseline and contract_guard.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use each mode (guard for generating consumer contracts from actual API responses, baseline for managing baselines) and lists baseline actions (list/save/load/compare/delete). However, it does not explicitly state when not to use the tool or suggest alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contract_baselineA
消费者契约基线管理:保存当前 schema 为基线、加载基线、对比当前 schema 与基线检测漂移、列出所有基线、删除基线。配合 contract_guard 使用,可实现 API 变更版本化守护。
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | 基线名称,默认 'default'。支持多套基线,如 'production'、'staging'、'v1.0' 等 | |
| action | No | 操作类型:list=列出所有基线,save=保存当前 contracts 为基线,load=加载指定基线,compare=对比当前 contracts 与基线,delete=删除基线 | list |
| contracts | No | save/compare 操作时传入的 contracts 列表(通常来自 contract_guard 的输出) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It lists the possible actions (save, load, etc.) but does not elaborate on side effects (e.g., overwriting behavior of save, irreversibility of delete) or authorization requirements. The description conveys basic operations but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, using a single sentence to list all actions and context. It front-loads the purpose. However, it could be structured with bullet points for clarity, but remains efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has multiple actions but no output schema, and the description fails to mention what each action returns (e.g., compare returns drift, list returns baselines). It also does not clarify that contracts parameter is only needed for save/compare, which could lead to misuse. Given the complexity, the description is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are well-documented in the schema. The description adds no additional semantic meaning beyond what the schema provides (e.g., action enum values or contracts field usage). Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool manages consumer contract baselines with specific actions (save, load, compare, list, delete) and mentions integration with contract_guard, distinguishing it from sibling tools like contract and contract_guard.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates it should be used with contract_guard for API change versioning, providing context. However, it does not explicitly state when not to use it or provide alternatives, which is acceptable as no direct sibling exists for baseline management.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contract_guardC
从前端实际消费的 API 响应中自动提取字段结构,生成 consumer contract(消费者契约),防止后端 API 漂移。支持两种来源:直接调用指定端点,或从已捕获的 network 日志中提取。先做进现有 MCP,后续再剥离。
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | 从 network 日志提取的时间起点,默认当前 checkpoint | |
| endpoints | No | 要直接调用并生成契约的端点列表,每项包含 path/url/method/headers/body | |
| fromNetwork | No | 是否从已捕获的 network 日志中提取 API 响应生成契约,默认 true | |
| urlContains | No | 只处理 URL 包含此字符串的请求 | |
| autoDiscover | No | 是否自动从 network 日志发现 API 端点(当 endpoints 为空时生效),默认 false | |
| baselineName | No | 基线名称,默认 'default'。支持多套基线 | |
| saveBaseline | No | 是否将本次生成的 contracts 保存为基线,默认 false。保存后可用于后续对比 | |
| compareBaseline | No | 是否与已保存的基线对比,检测 schema 漂移,默认 false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It does not disclose whether the tool modifies state, saves data, or has destructive effects. The note about temporary integration is not relevant behavioral info.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively concise but includes an implementation detail ('先做进现有 MCP,后续再剥离') that is not helpful for tool selection. The purpose is front-loaded, but the note reduces efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters, no output schema, and no annotations, the description lacks details on return values, side effects, and how contracts are stored or used. The concept of 'baseline' is mentioned but not explained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the parameter names and descriptions. It fails to clarify parameter interactions (e.g., when both endpoints and fromNetwork are set).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: automatically extract field structure from frontend API responses to generate consumer contracts and prevent backend API drift. It specifies the resources (API responses, consumer contracts) and mentions two sources. However, it does not explicitly differentiate from sibling tools like 'contract' or 'contract_baseline'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions two sources (direct endpoint calls or network logs) but provides no guidance on when to use each, nor does it contrast with alternative contract tools. This leaves the agent without clear usage criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
correlate_triple_checkA
开源版 UI-API 三方比对:从页面 DOM 提取数据,调用对应 API 获取数据,对比两者是否一致。支持列表页和详情页两种模式。检测数据不一致、字段遗漏、格式差异等问题。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | 比对模式:list=列表页模式(DOM表格 vs API列表);detail=详情页模式(DOM表单 vs API详情) | list |
| maxRows | No | 最大比对行数 | |
| apiMethod | No | API 请求方法 | GET |
| apiPayload | No | POST 请求时的请求体 | |
| strictMode | No | 严格模式:API 返回的字段必须在 DOM 中存在,否则视为差异 | |
| apiEndpoint | No | API 端点 URL(如 /api/leads),默认从当前页面 URL 推导 | |
| rowSelector | No | 列表页模式:行选择器 | tr, [role="row"] |
| fieldMappings | No | 字段映射配置:指定 DOM 元素与 API 字段的对应关系 | |
| tableSelector | No | 列表页模式:表格选择器 | table, .table, [role="grid"] |
| identifierField | No | 唯一标识字段名,用于匹配 DOM 行与 API 记录 | id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains it extracts DOM data, calls an API, and compares them, detecting several issue types. However, it does not disclose whether the tool is read-only, what permissions it requires, or any side effects on browser state. Since no annotations are provided, the description carries the full burden and is moderately transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise—two sentences clearly stating the purpose, modes, and detection capabilities. It is front-loaded with the key action and adds no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should explain return values. It mentions detection capabilities but does not describe the output format (e.g., does it return a diff report?). For a tool with 10 parameters and no output schema, more detail on results would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter having a description. The tool description is a high-level summary that does not add new meaning beyond the schema, but it does not need to because the schema already provides adequate detail. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool compares DOM data with API data to detect inconsistencies, omissions, and format differences. It mentions two modes (list and detail). However, it does not explicitly differentiate from sibling tools like 'browser_data_compare' or 'trace_correlation_check', which may have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is used when you need to verify UI-API consistency, but it provides no explicit guidance on when to use it versus alternatives, no prerequisites, and no conditions that would make it inappropriate. The mention of 'list' and 'detail' modes gives some context but lacks exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
css_var_checkA
分析 CSS 文件中缺失的变量定义,并提供修复建议。扫描 CSS 内容,检测在 :root 或其他选择器中引用但未定义的 CSS 自定义属性(变量),为每个缺失变量生成 suggestedFix(建议值和插入位置)。
| Name | Required | Description | Default |
|---|---|---|---|
| css | Yes | 要分析的 CSS 文本内容 | |
| filePath | No | 可选,CSS 文件路径(用于输出引用) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It clearly states that the tool analyzes CSS for missing variable definitions and generates suggestedFix, implying it is read-only. However, it does not describe the output format or any potential side effects, but the behavior is fairly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose, and each sentence adds value. It is appropriately sized with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description lacks details on the return structure. It mentions suggestedFix but does not fully specify output fields. Adequate but could be more complete for an analysis tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds some context linking parameters to the tool's analysis purpose, but does not provide additional meaning beyond what the schema already describes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs (分析, 扫描, 检测, 生成) and clearly states the resource (CSS files/variables). It distinguishes itself from sibling tools, none of which are CSS-specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide when-to-use or when-not-to-use guidance. It merely describes the tool's function without contextualizing its use versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
debug_investigateA
输入问题症状,自动汇总本轮 errors、events、network_detail、DOM 可见错误、storage、artifacts,并输出假设、证据链和下一步修复/复测建议。
| Name | Required | Description | Default |
|---|---|---|---|
| focus | No | 关注的 URL/API 关键字,例如 /api/ai/summarize | |
| limit | No | 网络和事件最多返回条数,默认 20/50 | |
| symptom | No | 问题现象,例如:点击 AI 要点后 403 | |
| expected | No | 期望结果,例如:生成 AI 要点 | |
| statusMin | No | 只关注状态码大于等于该值的网络记录 | |
| urlContains | No | focus 的别名,按 URL 过滤网络和事件 | |
| includeStorage | No | 是否包含 storage 脱敏快照,默认 true | |
| includeArtifacts | No | 是否包含 artifacts 列表,默认 true |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes the tool's aggregation and analysis behavior but does not mention potential side effects, read-only nature, permission requirements, or whether it modifies state. The context added is helpful but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, information-dense sentence that front-loads the key purpose. It is concise but could benefit from structured formatting (e.g., bullet points) for clarity. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description adequately hints at the output (hypotheses, evidence chain, next steps). Parameter count is 8 with full schema coverage. The description is reasonably complete for a debugging aggregation tool, though it could specify the output format in more detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with each parameter having a clear description. The tool description adds overall context but does not elaborate on parameter meanings beyond what the schema already provides. Baseline score of 3 is appropriate given the schema's completeness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool aggregates debugging information (errors, events, network, DOM, storage, artifacts) based on input symptoms and outputs hypotheses, evidence, and next steps. It distinguishes from sibling tools like browser_errors_aggregate or browser_events which handle only individual data sources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a problem symptom is known and a comprehensive investigation is needed. However, it does not specify when to prefer this over individual debugging tools (e.g., browser_errors_aggregate, browser_network) or provide exclusions. No explicit alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dual_chain_exploreA
双链路并行探索:链路① Browser Agent 在真实浏览器中做黑客式功能探索(发现→正向→对抗→闭环),链路② Trace Agent 追踪全栈数据流(前端→API→后端→数据库),交叉验证后输出多维判定(真通过/假通过/渲染问题/数据问题)并自动修复。两条链路独立并行,结果交叉对比,打破 AI 代码「自己验证自己」的闭环。
| Name | Required | Description | Default |
|---|---|---|---|
| chains | No | 要执行的链路:'functional' 功能链路, 'technical' 技术链路。默认双链路并行 | |
| phases | No | 要执行的阶段。默认 'all' 执行全部 | |
| target | Yes | 目标系统 URL | |
| autoFix | No | 发现断裂后是否自动修复。默认 true | |
| dbConfig | No | 数据库配置,用于链路② Phase4 快照对比 | |
| sessionId | No | 浏览器会话 ID(可选,不传则自动创建) | |
| writeToMemory | No | 是否将发现写入记忆体系。默认 true | |
| explorationMode | No | 探索模式:normal 保守(top3), aggressive 全端点, hacker 最大攻击面+创造性探测 | normal |
| expectedBehavior | No | 预期行为描述,用于 Phantom Data 检测 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral traits: two independent parallel chains, cross-validation, auto-fix, and the goal to break self-verification. No annotations were provided, so the description carries the full burden, and it does so reasonably well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core concept and provides comprehensive detail in a single paragraph. It is concise given the complexity, though a structured list could improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity and lack of output schema, the description adequately explains the tool's process and what it achieves. It could mention the output format, but the cross-validation and auto-fix behavior is well-explained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description does not add significant meaning beyond the schema. It provides context for the overall process but does not elaborate on individual parameters beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: dual-chain parallel exploration with specific chains (functional and technical), cross-validation, and auto-fix. It distinguishes itself from sibling tools by describing a complex multi-agent system that breaks the self-verification loop.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (thorough validation that breaks self-verification) but does not explicitly state when not to use or list alternatives. Given the context of sibling tools, this is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
error_analyzeA
错误分析工具(v1.9.5 起合并 error_fix_suggestion/error_summary_md)。通过 mode 参数区分子模式:fix(默认,根据错误日志生成修复建议)/ summary(生成错误摘要 Markdown 报告)。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 分析模式:fix(默认,生成修复建议)/ summary(生成错误摘要 Markdown) | fix |
| limit | No | 返回数量限制(mode=fix/summary 时使用) | |
| errors | No | 错误列表(mode=fix/summary 时使用) | |
| format | No | 输出格式(mode=summary 时使用) | markdown |
| errorType | No | 错误类型过滤(mode=fix 时使用) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose whether the tool is read-only or has side effects, what authentication or permissions are needed, or any limitations (e.g., input size, error handling). Only the mode and default are mentioned, leaving significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two sentences. It is front-loaded with the most important information (tool purpose and merger) and quickly details the mode sub-functions. No unnecessary words or repetitions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters and no output schema, the description provides basic context about modes but lacks details on output formats (beyond mentioning Markdown for summary), error handling, and prerequisites. It is adequate for a simple tool but leaves gaps for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the description adds limited value beyond the schema. It explains the mode parameter's options, which the schema also does. The description does not provide additional meaning for other parameters (limit, errors, format, errorType) beyond what is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as an error analysis tool that merges two previous tools (error_fix_suggestion and error_summary_md). It specifies two modes: fix (generating fix suggestions from error logs) and summary (generating error summary Markdown reports). The verb 'analyze' and the resource 'errors' are implicit but clearly communicated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions that the tool merged error_fix_suggestion and error_summary_md, implying it should be used instead of those. However, it does not provide explicit guidance on when to use this tool versus other sibling tools like browser_errors or other error-related tools. The distinction is implicit through the mode parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
error_fix_suggestionA
基于 errorSummary 和 contextFiles 返回最多 3 个最小修复建议;不自动改码。
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | ||
| contextFiles | No | ||
| errorSummary | Yes | 错误摘要,可为字符串或对象 | |
| maxSuggestions | No | 返回建议的最大数量(默认 3) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states that the tool does not automatically modify code, which is a key behavioral trait. However, it does not mention other aspects like idempotency, side effects, or permission requirements, leaving gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the core purpose and constraints. No superfluous words. The semicolon separates the action from a key behavioral note, making it efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains that the tool returns up to 3 minimal fix suggestions, but does not specify the format or structure of the output. It also lacks context on how it relates to sibling tools, leaving some ambiguity for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (2 of 4 params have descriptions). The description mentions using errorSummary and contextFiles, and implies a default of 3 suggestions, adding minimal value beyond the schema. It does not explain the 'file' parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: based on errorSummary and contextFiles, return up to 3 minimal fix suggestions without automatically modifying code. It uses a specific verb ('return') and resource ('fix suggestions'), and distinguishes itself from sibling tools like error_analyze by being suggestion-focused.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives, nor does it provide when-not or prerequisite conditions. It implies usage when errorSummary and contextFiles are available, but lacks guidance on tool selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
error_summary_mdA
将错误聚合结果输出为 500 字以内 Markdown 摘要,不包含完整日志、重复堆栈或完整响应体。
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| evidence | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It explicitly states the output constraints (within 500 characters, excludes complete logs, duplicate stacks, and response bodies), which gives the agent clear expectations. However, it does not mention whether the tool is read-only or has side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately conveys the core functionality and constraints. Every word earns its place; there is no redundancy or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the output format and constraints, compensating partially for the lack of output schema. However, it does not describe how errors are aggregated or how to use the input parameters, leaving the agent with incomplete guidance for correct invocation. Given the tool's moderate complexity (2 parameters, one nested), more detail would be warranted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no explanation for the two parameters ('limit' and 'evidence'). The tool expects a nested object, but the description lacks any guidance on their meaning, format, or relationship to the error aggregation, severely degrading its usability.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Output the error aggregation results as a Markdown summary within 500 characters, excluding complete logs, duplicate stacks, or complete response bodies.' It includes a specific verb ('output'), resource ('error aggregation results'), and output format ('Markdown summary'), distinguishing it from sibling tools like 'error_analyze' or 'error_fix_suggestion'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (to get a summary of errors) but does not provide explicit guidance on when not to use it or mention alternative tools. The lack of exclusions or context-specific recommendations limits its helpfulness for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evidenceA
证据管理工具(v1.9.5 起合并 evidence_pack/evidence_index)。通过 mode 参数区分子模式:pack(默认,生成单步证据包,把截图、DOM 摘要、错误、网络请求、API 响应摘要、数据 diff、traceId、Console、PageError、HAR 汇总成一个 JSON 文件)/ index(证据包索引,扫描 reports 目录所有 evidence.json 文件,按 runId 串联生成完整验证时间线)。
| Name | Required | Description | Default |
|---|---|---|---|
| har | No | 是否导出 HAR,默认 false(mode=pack 时使用) | |
| mode | No | 工作模式:pack(默认,生成单步证据包)/ index(证据包索引与时间线) | pack |
| label | No | 步骤名称,stepId 未传时作为 stepId(mode=pack 时使用) | |
| runId | No | 本次验证运行 ID,不传则自动生成(mode=pack 时使用);mode=index 时可选,只返回指定 runId 的证据包时间线 | |
| stepId | No | 当前步骤 ID,如 marketplace.purchase.after-click(mode=pack 时使用) | |
| traceId | No | 可选链路追踪 ID,用于和后端日志关联(mode=pack 时使用) | |
| snapshot | No | 是否采集 DOM 简要快照,默认 true(mode=pack 时使用) | |
| afterData | No | 操作后数据快照,用于生成 data diff(mode=pack 时使用) | |
| afterState | No | 操作后状态快照引用(mode=pack 时使用) | |
| beforeData | No | 操作前数据快照,用于生成 data diff(mode=pack 时使用) | |
| screenshot | No | 是否截图,默认 true(mode=pack 时使用) | |
| autoAnalyze | No | 截图后是否自动分析可见错误,默认 true(mode=pack 时使用) | |
| beforeState | No | 操作前状态快照引用(mode=pack 时使用) | |
| captureStep | No | 是否同时调用 browser_step 采集截图和 DOM,默认 true(mode=pack 时使用) | |
| currentOnly | No | 是否只采集当前 checkpoint 后的错误和网络,默认 true(mode=pack 时使用) | |
| consoleLimit | No | 证据包中保留最近 Console 条数,默认 30(mode=pack 时使用) | |
| networkLimit | No | 证据包中保留最近网络请求条数,默认 30(mode=pack 时使用) | |
| pageErrorLimit | No | 证据包中保留最近 PageError 条数,默认 10(mode=pack 时使用) | |
| includeTraceIds | No | 是否在结果中包含所有 traceId 列表,默认 false(mode=index 时使用) | |
| includeWarnings | No | 错误摘要是否包含 warning,默认 false(mode=pack 时使用) | |
| apiResponseLimit | No | 证据包中保留最近 API 响应摘要数,默认 10(mode=pack 时使用) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It explains that pack mode generates a JSON file summarizing various evidence types, and index mode scans directories. However, it does not mention side effects like file creation, permissions needed, or potential rate limits. The description gives a reasonable overview but omits important implementation details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, starting with a version note, then explaining the two modes and their outputs. Every sentence adds value. It could be slightly shorter, but it efficiently conveys the essential information for a complex tool with 21 parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (two modes, many parameters, no output schema), the description provides a reasonably complete overview. It explains what each mode produces (JSON file contents, timeline). It could mention file system interaction or error handling, but overall it covers the key aspects sufficiently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage, providing adequate per-parameter info. The tool description adds context by grouping parameters under modes and explaining the overall purpose, but it does not add significant extra meaning beyond the schema descriptions. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it is an evidence management tool that merges evidence_pack and evidence_index since v1.9.5. It clearly defines two sub-modes (pack and index) with distinct responsibilities: generating single-step evidence packages vs. indexing for a timeline. This distinguishes it from sibling tools like browser_* tools and even the deprecated individual evidence tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides indirect usage guidance by defining the mode parameter and explaining what each mode does. However, it does not explicitly state when to use this tool vs. the deprecated evidence_pack/evidence_index siblings, nor does it mention when not to use it. The guidance is adequate for mode selection but lacks explicit alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evidence_indexA
证据包索引:扫描 reports 目录所有 evidence.json 文件,按 runId 串联多个证据包生成完整验证时间线。支持跨步骤、跨 runId 检索,汇总 traceId、错误数、API 响应数、数据 diff 数等关键指标。
| Name | Required | Description | Default |
|---|---|---|---|
| runId | No | 可选,只返回指定 runId 的证据包时间线。不传则返回所有 | |
| includeTraceIds | No | 是否在结果中包含所有 traceId 列表,默认 false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even without annotations, the description effectively communicates the tool's behavior: it scans a directory, groups data by runId, and returns a timeline with metrics. It also discloses that filtering by runId and including traceIds is optional. The description is transparent about the read-only nature (no mention of side effects), though it could explicitly state that no modifications occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, using only a few sentences to convey the core purpose, parameters, and output metrics. It is front-loaded with the main action and avoids any extraneous information. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has two optional parameters and no output schema, the description provides a good overview of the output: a timeline with key metrics like traceId, error count, API response count, and data diff count. While it does not detail the exact output structure, it provides enough context for an agent to understand the tool's purpose and expected results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters. The description adds context by explaining that runId filters the timeline and includeTraceIds controls trace ID inclusion. However, it largely restates the schema descriptions, providing marginal additional value. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool scans evidence.json files in the reports directory, groups by runId to generate a validation timeline, and aggregates key metrics. It is specific about the verb (index/scan), resource (evidence files), and outcome. However, it does not explicitly differentiate from sibling tools like 'evidence' or 'evidence_pack', which might have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for cross-step and cross-runId retrieval, but it does not provide explicit guidance on when to use this tool versus alternatives. Sibling tools like 'evidence' and 'evidence_pack' exist, yet no usage boundaries or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evidence_packB
生成单步证据包(v2.0),把截图、DOM 摘要、错误、网络请求、API 响应摘要、数据 diff、traceId 汇总、Console、PageError、HAR 和现有产物汇总成一个 JSON 文件,用于后续双链路验证复盘。
| Name | Required | Description | Default |
|---|---|---|---|
| har | No | 是否导出 HAR,默认 false | |
| label | No | 步骤名称,stepId 未传时作为 stepId | |
| runId | No | 本次验证运行 ID,不传则自动生成 | |
| stepId | No | 当前步骤 ID,如 marketplace.purchase.after-click | |
| traceId | No | 可选链路追踪 ID,用于和后端日志关联 | |
| snapshot | No | 是否采集 DOM 简要快照,默认 true | |
| afterData | No | 操作后数据快照,用于生成 data diff | |
| afterState | No | 操作后状态快照引用 | |
| beforeData | No | 操作前数据快照,用于生成 data diff | |
| screenshot | No | 是否截图,默认 true | |
| autoAnalyze | No | 截图后是否自动分析可见错误,默认 true | |
| beforeState | No | 操作前状态快照引用 | |
| captureStep | No | 是否同时调用 browser_step 采集截图和 DOM,默认 true | |
| currentOnly | No | 是否只采集当前 checkpoint 后的错误和网络,默认 true | |
| consoleLimit | No | 证据包中保留最近 Console 条数,默认 30 | |
| networkLimit | No | 证据包中保留最近网络请求条数,默认 30 | |
| pageErrorLimit | No | 证据包中保留最近 PageError 条数,默认 10 | |
| includeWarnings | No | 错误摘要是否包含 warning,默认 false | |
| apiResponseLimit | No | 证据包中保留最近 API 响应摘要数,默认 10 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of behavioral disclosure. It describes what the tool collects and produces (a JSON file) but does not disclose side effects, required permissions, rate limits, or whether the tool modifies browser state or existing data. Key behavioral traits (e.g., if it triggers side effects, if it is safe to call repeatedly) are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single long sentence that lists many components. It is front-loaded with the core purpose, but the enumeration of artifacts makes it dense and harder to parse quickly. It could be restructured into bullet points or a clearer summary while remaining concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 19 parameters, no output schema, and no annotations. The description explains what the output is (a JSON file) but does not describe its structure, how the parameters interact, typical usage patterns, or prerequisites (e.g., prior browser steps). For a complex data-gathering tool, this level of completeness is insufficient for an agent to confidently invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add meaning beyond what the schema already provides for each parameter; it simply summarizes the tool's overall behavior. Parameters like 'har', 'screenshot', 'snapshot' are individually well-documented in the schema, so the description does not need to elaborate, but it also does not provide higher-level context (e.g., typical combinations).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: generating a single-step evidence package (v2.0) that aggregates screenshots, DOM summaries, errors, network requests, API response summaries, data diffs, traceId, console logs, page errors, HAR, and existing artifacts into a JSON file for dual-chain verification review. It uses a specific verb ('生成') and resource ('单步证据包'), and distinguishes itself from sibling tools by focusing on evidence aggregation for review.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives, nor does it mention prerequisites or when not to use it. Among the many sibling tools (e.g., browser_step, evidence, evidence_index), there is no discussion of trade-offs or context for selection. The usage is only implied through the detailed list of what it aggregates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
exploration_quickARead-only
【探索模式】对目标 URL 执行 6 阶段前端浅层自动探索:导航快照→端点提取→技术栈指纹→路由发现→表单检测→报告聚合。纯浏览器沙箱内完成,无需后端权限。发现高价值线索时自动提示 Pro/Team 升级路径。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | target 的别名,要探索的目标页面 URL | |
| mode | No | 探索模式:basic=仅结构快照 full=完整6阶段。默认 full | full |
| depth | No | 探索深度:1=快速(仅导航+基本信息) 2=标准(含端点提取+路由) 3=深度(含所有阶段)。默认 2 | |
| target | No | 要探索的目标页面 URL,如 https://example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint and openWorldHint, which the description supports by mentioning a sandbox without backend permissions. It adds behavioral context like automatic upgrade prompting and the 6-stage process. No contradiction. It provides value beyond annotations, though could mention error handling or time estimates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured paragraph. It front-loads the main purpose, lists stages succinctly, and ends with the upgrade note. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters (all documented), no output schema, and safety annotations, the description covers the overall behavior well. It explains the 6 stages and the sandboxed execution. Missing details about output format are compensated by the lack of output schema. Adequate for a quick exploration tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 4 parameters have descriptions in the input schema, achieving 100% coverage. The main description does not add significant meaning beyond the schema, such as clarifying the difference between 'url' and 'target' (both are target URLs). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: performing a 6-stage front-end shallow exploration on a target URL, listing specific stages. The name 'exploration_quick' and the description distinguish it from more specific sibling tools like browser_navigate or browser_visual.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions it operates in a pure browser sandbox without backend permissions and that it prompts for upgrades when high-value clues are found. It implies usage for surface-level exploration, but does not explicitly state when not to use it or compare with alternatives. This is adequate but could be more explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_diagA
MCP 自诊断工具。v1.9.5 起合并 mcp_health_check / mcp_self_test。mode=health 检查 MCP 健康状态(工具注册完整性、schema 合法性、目录可写性、checkpoint);mode=self_test 执行 MCP 自测(创建会话、验证 flow/assert/type/click/wait 等基础能力)。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 诊断模式:health(健康检查,默认)、self_test(自测) | health |
| trace | No | 是否录制 trace(仅 mode=self_test),默认 true | |
| headless | No | 是否无头运行(仅 mode=self_test),默认 false | |
| sessionName | No | 自测使用的会话名称(仅 mode=self_test),默认 mcp-self-test |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure. It explains the two modes and what they involve (e.g., health checks tool registration, schema, directory writability; self-test creates sessions and verifies capabilities). While it does not discuss side effects or prerequisites, for a diagnostic tool the transparency is good, though it could be more explicit about potential state modifications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences covering the tool's merged nature, the two modes, and their functions. No unnecessary words; every sentence provides essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (4 parameters, all documented), the description provides a clear overview of purpose and modes. However, it lacks information about return values or how to interpret results, which would be useful for a diagnostic tool. Overall, it is sufficiently complete for the task.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds context for the mode parameter by explaining the two options, but does not elaborate on trace, headless, or sessionName beyond what the schema already provides. Thus, the description offers marginal added value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is an MCP self-diagnosis tool that merges two previous tools. It specifies exactly what each mode does: health checks tool registration, schema, directory writability, and checkpoint; self-test creates sessions and verifies basic capabilities. This distinguishes it from siblings like mcp_health_check and mcp_self_test, which are now merged.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions the merge of mcp_health_check and mcp_self_test, implying this tool replaces them, but it does not provide explicit guidance on when to use one mode over the other. An AI agent would benefit from recommendations on selecting health vs self_test based on context, but the description leaves that implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_health_checkA
检查 MCP 自身健康状态:工具注册完整性、schema 合法性、证据目录可写性、当前会话和 checkpoint 状态。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It discloses specific checks including evidence directory writability (implying a write test), giving insight into potential side effects. However, it does not clarify if the tool is read-only or if it modifies any state permanently, such as creating evidence files.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently lists all health check categories. Every word earns its place, and it is front-loaded with the core verb and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains what is checked but does not describe the return value or expected outcome. For a tool with no output schema, this gap leaves the agent unsure what it will receive (e.g., a report, pass/fail, or structured data).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema is empty with 100% coverage. According to the rubric, this receives a baseline of 4. The description adds no parameter information, which is acceptable since there are none to document.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks MCP's health status, listing specific aspects like tool registration completeness, schema legality, evidence directory writability, and session/checkpoint state. This is a specific verb-resource combination and distinguishes it from sibling tools, none of which focus on health checking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for health checking but provides no explicit guidance on when or when not to use this tool. It does not mention alternatives or contextual triggers, leaving the agent to infer usage from the tool's purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_self_testB
执行 MCP 自测:创建自测会话,打开 data URL,验证 flow/assert/type/click/wait/step/events/errors/trace/artifacts 基础能力。
| Name | Required | Description | Default |
|---|---|---|---|
| trace | No | 是否录制 trace,默认 true | |
| headless | No | 是否无头运行,默认 false | |
| sessionName | No | 自测使用的会话名称,默认 mcp-self-test |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions creating a session and verifying capabilities but does not state whether the tool is safe (read-only or destructive), what side effects occur, or what permissions are needed. Minimal behavioral context is given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence that efficiently conveys the tool's purpose and scope. No redundant or unnecessary words are present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lists the capabilities being verified but does not explain what the output or return value is (e.g., pass/fail, report). It also references 'data URL' without clarification. Given no output schema, the description leaves gaps in understanding what the tool produces.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters have schema descriptions covering 100% of the parameters. The tool description does not add additional meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs a self-test of MCP capabilities, listing specific actions like flow, assert, and click. It identifies the tool as a diagnostic/validation tool distinct from sibling browser action tools. However, the Chinese language and lack of an English translation may limit clarity for some AI agents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as mcp_health_check or browser_smoke_test. The description implies it is for verifying MCP's own capabilities, but lacks explicit when-to-use or when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_recallB
跨会话记忆系统:检索/固化/列出/遗忘历史验证发现与修复模式。基于 .validpilot/memory/ 目录持久化情景记忆、模式记忆、程序记忆三类知识,支持文本相似度+标签+主机多维度召回,实现同类 Bug 第二次自动识别。
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | forget 时指定要删除的记忆 ID | |
| host | No | 按主机名过滤(如 example.com) | |
| tags | No | 按标签过滤(多标签为 AND 关系) | |
| limit | No | 返回数量上限,默认 10 | |
| query | No | 检索查询文本(recall 时必填,支持错误消息、URL、症状描述) | |
| since | No | ISO8601 时间戳,仅返回此时间之后的记忆 | |
| before | No | ISO8601 时间戳,仅返回此时间之前的记忆 | |
| episode | No | consolidate 时要固化的情景数据 | |
| minScore | No | recall 时最低相似度分数阈值(0-1),默认 0.3 | |
| operation | Yes | 操作类型:recall=检索相似记忆;consolidate=固化当前会话发现到长期记忆;list=列出记忆条目;forget=删除过期/指定记忆;stats=统计记忆库状态 | |
| projectId | No | 项目标识(用于项目级记忆隔离),默认自动从 cwd 推断 | |
| queryType | No | 查询类型,默认 auto 自动识别 | |
| memoryType | No | 记忆类型过滤,默认 all | |
| forgetStrategy | No | forget 策略:byId=按ID删除;expired=删除过期记忆;byTag=按标签删除;before=删除 before 时间之前的记忆 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It mentions persistence to .validpilot/memory/ and multi-dimensional recall, but lacks details on side effects (e.g., forget operations are permanent) or rate limits. It provides some transparency but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that is reasonably concise and front-loaded with the core purpose. However, it could be broken into structured points for clarity. Every sentence contributes value, but it remains dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (14 parameters, nested objects, enums) and lack of output schema, the description is moderately complete. It explains memory types and recall dimensions but does not clarify return format, error cases, or the exact behavior of forget operations. Adequate but with gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes all parameters. The description adds high-level context (e.g., '支持文本相似度+标签+主机多维度召回') but does not significantly enhance understanding beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as a cross-session memory system for retrieving, consolidating, listing, and forgetting historical validation findings and repair patterns. It distinguishes itself from sibling tools by focusing on memory management, not browser actions or validation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lacks explicit guidance on when to use this tool versus alternatives. While it mentions the operations (recall, consolidate, list, forget, stats), it does not specify under what circumstances each operation should be chosen. No 'when to use' or 'when not to use' advice is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
project_auditB
扫描项目目录,检测常见的代码质量问题:硬编码密码/密钥、硬编码绝对路径、SQL语法错误、CSS变量异常(循环引用、引用未定义变量、非:root区域引用未定义变量)等。运行后返回带有严重级别的问题列表。
| Name | Required | Description | Default |
|---|---|---|---|
| severity | No | 筛选最低严重级别,默认 all | |
| projectPath | Yes | 要扫描的项目根目录(绝对路径) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry full burden. It discloses detected issue categories and return format but does not mention read-only nature, required permissions, performance impact, or safety profile. Significant behavioral gaps remain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise and front-loaded with the main action ('scan project directory') and then lists specific issues. It is efficient but slightly run-on as a single long sentence. One sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no output schema, so description should explain output format. It mentions a list with severity but omits details like object structure or property names. Parameter descriptions are clear but output remains ambiguous. Adequate but with gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds no additional meaning beyond the schema (e.g., severity filter and project path are already clear). Baseline 3 applies as no extra value is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it scans a project directory for code quality issues like hardcoded passwords, absolute paths, SQL errors, and CSS variable anomalies. It distinguishes itself from sibling tools (e.g., browser audits, security scans) by focusing on static code analysis of a project directory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not specify prerequisites, exclusions, or compare with sibling tools like 'css_var_check' or 'security_scan'. The description only lists what it checks, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screenshot_diffA
Compare two screenshots (baseline vs actual) or capture a current screenshot and return a diff summary and artifact path. Supports element-scoped capture via selector; does not emit long screenshot descriptions.
中文详情:
用途:比较两张截图(baseline/actual)或捕获当前截图并返回差异摘要与产物路径,不输出长截图描述
何时使用:手动指定 baseline/actual 路径做差异对比时;测试前后页面状态对比时;元素级截图差异分析时;调试 visual_compare 流程时
输出:{ ok: boolean, diffPath: string, baselinePath: string, actualPath: string, diffPixels: number, diffRatio: number, passed: boolean, threshold: number }
参数:
baselinePath (string, 可选):基线截图路径
actualPath (string, 可选):实际截图路径,与 baselinePath 同时提供时直接对比
beforePath (string, 可选):baselinePath 的别名
afterPath (string, 可选):actualPath 的别名
selector (string, 可选):捕获时仅截取该元素区域
threshold (number, 可选):差异阈值,默认 0.01
name (string, 可选):产物名称,用于命名 diff 文件
错误:baselinePath 与 actualPath 都缺失且浏览器未启动抛出 'No screenshots to compare';文件不存在抛出 'File not found'
示例:{"baselinePath":"screenshots/login.png","actualPath":"screenshots/login-v2.png","threshold":0.005,"name":"login-diff"}
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| selector | No | ||
| afterPath | No | ||
| threshold | No | ||
| actualPath | No | ||
| beforePath | No | ||
| baselinePath | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden and discloses important behaviors: it does not emit long screenshot descriptions, lists error conditions like missing screenshots and file not found. It adds context beyond the schema, though side effects or resource usage are not mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description contains a bilingual section (English and Chinese) which adds redundancy and length. However, it is well-structured with clear sections for usage, output, parameters, errors, and an example. It earns its place by being comprehensive, but conciseness suffers.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (7 optional parameters, no output schema, no annotations), the description is remarkably complete. It includes the return structure, error messages, parameter explanations, and an example, enabling an agent to select and invoke the tool correctly without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description fully compensates by explaining each parameter's purpose: baselinePath/actualPath for direct comparison, beforePath/afterPath as aliases, selector for element capture, threshold with default 0.01, and name for diff file naming. This provides rich meaning beyond the schema property names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool compares two screenshots or captures a current screenshot, returning a diff summary. It distinguishes itself from sibling tools like browser_screenshot and browser_visual_compare by focusing on diff comparison and not emitting long descriptions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit scenarios for use, such as comparing baseline vs actual, testing page states, element-level diff, and debugging visual_compare flow. It implies when not to use by stating it does not emit long descriptions, but lacks explicit alternatives among the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
security_csp_analyzeA
Deep analysis of Content-Security-Policy: parse CSP directives, detect unsafe-inline/unsafe-eval/wildcard * and other unsafe configurations, and produce a CSP security score.
中文详情:
用途:深度分析 Content-Security-Policy 策略,解析 CSP 指令,检测不安全配置(unsafe-inline/unsafe-eval/通配符 * 等)并评估 CSP 安全评分
何时使用:CSP 策略上线前评估时;XSS 防护层验证时;第三方脚本加载白名单审查时;CSP 报告异常排查时
输出:{ ok: boolean, url: string, csp: string, directives: object, unsafeDirectives: array, score: number, recommendations: array }
参数:
url (string, 必填):目标 URL
错误:URL 不可达抛出 'Request failed';响应无 CSP 头返回 score=0 但 ok=true
示例:{"url":"https://example.com"}
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 目标 URL(必填) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, but the description fully discloses behavior: it fetches a URL, parses the CSP header, detects unsafe directives, and returns an ok boolean, directives object, unsafeDirectives array, score, and recommendations. It also describes error cases: URL unreachable throws 'Request failed', missing CSP header returns score=0 with ok=true. This covers all behavioral traits beyond the input schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is organized into clear sections (purpose, usage, output, parameters, errors, example) with both English and Chinese. It is longer than necessary but structured well, and every part adds value. One sentence could be removed (the Chinese title line) without loss, but overall it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool performs complex CSP analysis with no output schema provided. The description fully covers input, output format, error conditions, and usage context, making it complete for an AI agent to invoke correctly. No additional information is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'url' (type string, required, described in Chinese as 'target URL (required)'). The description adds an example JSON input and explains the parameter context, which adds some value beyond the schema description, justifying a 4 instead of baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool analyzes Content-Security-Policy, parses directives, detects unsafe configurations (unsafe-inline, unsafe-eval, wildcard), and produces a security score. It uses a specific verb+resource format and distinguishes itself from sibling security tools like 'security_headers_check' and 'security_scan' by focusing exclusively on CSP.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Chinese section explicitly provides usage scenarios: before CSP policy deployment, XSS protection verification, third-party script whitelist review, CSP report anomaly investigation. This gives clear when-to-use guidance and implies alternatives are not needed for this specialized task.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
security_headers_checkA
Check HTTP security response headers: analyze presence and correctness of CSP, X-Content-Type-Options, X-Frame-Options, HSTS, Referrer-Policy, and detect information leakage via X-Powered-By/Server.
中文详情:
用途:检查 HTTP 安全响应头部,分析 CSP、X-Content-Type-Options、X-Frame-Options、HSTS、Referrer-Policy 等头部的存在性和配置正确性,检测 X-Powered-By/Server 等信息泄露
何时使用:上线前安全头部合规检查时;HTTPS/HSTS 配置验证时;点击劫持防护(X-Frame-Options)验证时;信息泄露排查时
输出:{ ok: boolean, url: string, headers: object, missing: array, misconfigured: array, infoLeakage: array, score: number, recommendations: array }
参数:
url (string, 必填):目标 URL
错误:URL 不可达抛出 'Request failed';非 HTTP(S) URL 抛出 'Invalid url'
示例:{"url":"https://example.com"}
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 目标 URL(必填) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It specifies the output structure (ok, url, headers, missing, misconfigured, infoLeakage, score, recommendations) and error conditions (Request failed, Invalid url). Although it doesn't explicitly state if it makes HTTP requests, the nature of the tool implies a read-only check.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is bilingual, with a concise English sentence followed by a structured Chinese section detailing purpose, usage, output, parameters, and errors. It is front-loaded and well-organized, though slightly longer due to bilingual duplication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 1-parameter tool with no output schema, the description adequately covers input, output fields, and error conditions. However, it does not explain the scoring mechanism or recommendation logic, which could be useful for agents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter 'url'. The description repeats the parameter name and requirement (必填) and provides an example, but adds no new semantic information beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks HTTP security response headers for specific headers (CSP, X-Content-Type-Options, etc.) and detects information leakage. This distinguishes it from siblings like security_csp_analyze which focuses only on CSP, and other security scan tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Chinese section lists specific use cases (pre-deployment compliance, HTTPS/HSTS verification, clickjacking protection, info leakage). While it doesn't explicitly mention when not to use or name alternatives, the context provides clear guidance for when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
security_owasp_top10A
OWASP Top 10 security check: quickly scans for risks like A01 access control, A02 cryptographic failures, A05 security misconfiguration, etc., and returns pass/warn/fail status per category.
中文详情:
用途:OWASP Top 10 安全检查,快速检查 A1 访问控制、A2 加密失败、A5 安全配置错误等安全风险,返回通过/警告/失败状态
何时使用:上线前整体安全风险评估时;合规审计 OWASP 检查清单时;安全门禁快速过检时;定期安全巡检时
输出:{ ok: boolean, url: string, totalChecks: number, categories: array, score: number } — 每项含 { id, name, status: pass/warn/fail, findings: array, recommendation }
参数:
url (string, 必填):目标 URL
错误:URL 不可达抛出 'Request failed';部分检查依赖其他工具(如 headers/csp),缺失时该类别标记 warn
示例:{"url":"https://example.com"}
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 目标 URL(必填) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description adds context: it scans (read-only implied), returns structured output, and depends on other tools for some categories. It discloses potential errors and partial results. Could be more explicit about non-destructive nature, but adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is split into English and Chinese sections. The English is concise; the Chinese adds structured details (use cases, output, parameters, errors). Well-organized but slightly verbose. Could be more compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description provides output format, error handling, and dependency behavior. The single parameter is well-documented. Covers essential behavioral aspects for a simple scanner tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter 'url'. The description adds meaning by explaining it is the target URL, required, and provides an example. This adds value beyond the schema's property description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs an OWASP Top 10 security check on a URL, returning pass/warn/fail per category. It distinguishes from sibling security tools that focus on specific areas like CSP, headers, SQL injection, XSS, etc., by targeting the OWASP Top 10 categories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Chinese section explicitly lists use cases: pre-launch risk assessment, compliance audits, security gate checks, periodic reviews. It also describes error handling and dependency behavior (e.g., missing header tools cause warn status). However, it does not explicitly exclude alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
security_scanA
安全扫描工具(v1.9.5 起合并 security_headers_check/security_owasp_top10/security_sql_injection_scan/security_xss_scan/security_csp_analyze)。通过 mode 参数区分子模式:headers(默认,HTTP 安全头检查,等价于已废弃的 security_headers_check)/ owasp(OWASP Top 10 安全检查,等价于 security_owasp_top10)/ sqli(SQL 注入漏洞扫描,等价于 security_sql_injection_scan)/ xss(XSS 漏洞扫描,等价于 security_xss_scan)/ csp(Content-Security-Policy 深度分析,等价于 security_csp_analyze)。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 目标 URL(必填)。sqli/xss 模式可包含查询参数如 http://example.com/page?id=1 | |
| mode | No | 安全扫描模式:headers(默认,HTTP 安全头检查)/ owasp(OWASP Top 10 检查)/ sqli(SQL 注入扫描)/ xss(XSS 漏洞扫描)/ csp(CSP 策略分析) | headers |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must carry the burden. It explains mode behavior and notes that sqli/xss modes support query parameters in URLs, but does not disclose other behavioral traits like rate limits, authentication needs, or side effects (e.g., scanning may trigger alerts).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that front-loads the key information (version merge and mode list). It is reasonably concise for the amount of context conveyed, though it could be slightly more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (2 parameters, no output schema), the description adequately covers the modes and URL parameter hint. However, it lacks information on expected output format, error handling, or how results should be interpreted, leaving gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds meaningful context beyond the schema: it explains the equivalence to deprecated tools, notes that sqli/xss modes can include query parameters in the URL, and clarifies the default mode. This adds value for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: a consolidated security scanning tool replacing five older tools. It specifies each mode's function and the equivalent deprecated tool, providing strong purpose clarity and differentiation from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (by mentioning deprecated tools) but does not explicitly provide when-to-use or when-not-to-use guidance. It lacks alternatives or exclusion criteria, relying on the agent to infer context from the mode list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
security_sql_injection_scanA
SQL injection vulnerability scanner: injects 20 SQLi payloads into the target URL's query parameters and detects SQL error leakage (MySQL, Oracle, PostgreSQL, SQL Server, SQLite) in responses.
中文详情:
用途:SQL 注入漏洞扫描,向目标 URL 的查询参数注入 20 种 SQL 注入 payload,检测响应中是否泄露 SQL 错误信息
何时使用:上线前 SQL 注入漏洞扫描时;查询参数(如 ?id=1)可疑时;接口输入校验回归时;OWASP A03 注入类风险验证时
输出:{ ok: boolean, url: string, totalPayloads: number, vulnerable: boolean, findings: array, dbms: string } — 每项含 { payload, response, evidence }
参数:
url (string, 必填):目标 URL,可包含查询参数如 http://example.com/page?id=1
错误:URL 无查询参数抛出 'No injectable parameters found';URL 不可达抛出 'Request failed'
示例:{"url":"https://example.com/product?id=1"}
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 目标 URL,可包含查询参数如 http://example.com/page?id=1(必填) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description details the scanning process (20 payloads, DBMS detection), output format, and error handling. It does not mention authorization needs or potential side effects, but the behavior is well described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: an English summary followed by Chinese bullet points for key aspects (usage, output, parameters, errors, example). No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single parameter and no output schema, the description is fairly complete. It covers purpose, when to use, parameter details, output shape, error cases, and an example. It could mention that it only scans query parameters (not POST bodies), but overall it's sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The url parameter is described in both the schema and the description with examples and error conditions. The description adds context that query parameters are expected and provides a sample input, going beyond the schema's type and required flag.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a SQL injection vulnerability scanner that injects 20 SQLi payloads and detects error leakage. It distinguishes from sibling tools like security_xss_scan and security_headers_check by naming the specific vulnerability type and technique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Chinese section explicitly lists when to use: pre-release scanning, suspicious query parameters, regression testing, OWASP A03 verification. It also mentions error cases (no injectable parameters, unreachable URL).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
security_xss_scanA
XSS vulnerability scanner: injects 26 XSS payloads (script tags, event handlers, SVG, template injection, etc.) into the target URL and detects unescaped payload reflection in the response body.
中文详情:
用途:XSS 漏洞扫描,向目标 URL 注入 26 种 XSS payload(script 标签、事件处理器、SVG、模板注入等),检测响应体中是否未转义地包含 payload
何时使用:搜索/评论/反馈等输入点上线前扫描时;URL 参数反射型 XSS 验证时;模板引擎转义回归时;OWASP A03 注入类风险验证时
输出:{ ok: boolean, url: string, totalPayloads: number, vulnerable: boolean, findings: array } — 每项含 { payload, reflected: boolean, context: string, evidence }
参数:
url (string, 必填):目标 URL,可包含查询参数如 http://example.com/page?q=test
错误:URL 无查询参数抛出 'No injectable parameters found';URL 不可达抛出 'Request failed'
示例:{"url":"https://example.com/search?q=test"}
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 目标 URL,可包含查询参数如 http://example.com/page?q=test(必填) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description fully describes behavior: injects 26 payloads, checks reflection, includes errors and output structure. Could explicitly state non-destructive nature, but overall transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Bilingual structure adds redundancy (English summary repeated in Chinese). Well-organized with sections (purpose, when-to-use, output, params, errors), but could be more concise by removing duplicate content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Comprehensive: covers payload count, detection method, full output shape, parameter details, error cases, and example. Sufficient for an agent to use correctly without needing other references.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single parameter 'url' is documented in both schema and description. Description adds example and required flag, plus Chinese details. Schema coverage is 100%, so description adds marginal but useful context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'XSS vulnerability scanner' and specifies it injects 26 payload types into target URLs, detecting unescaped reflection. Among sibling tools like security_sql_injection_scan and security_csp_analyze, this one is uniquely identified for XSS scanning.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Chinese section explicitly lists when to use: pre-launch input scanning, reflected XSS validation, template regression, OWASP A03 verification. Does not explicitly state when not to use, but context from siblings (e.g., security_sql_injection_scan) implies it's for XSS only. Good guidance without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skill_consistency_checkA
批量校验所有开源 Skill 引用的工具是否与 tools/ 目录实际注册一致,不依赖 .trae/skills/SKILL.tools.json 外部文件。同时检测 SKILL_TOOLS_MAP 与 handlers/prompts.js 的 buildMessages 输出之间是否存在漂移(mapDrift 仅 warning)。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | strict=缺失工具时报错(passed:false),warn=仅警告不阻断(passed 始终为 true) | strict |
| skillName | No | 可选:仅校验单个 Skill。不传则校验全部 7 个 Skill |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It explains two key behaviors: consistency check (without relying on external file) and drift detection (with mapDrift as warning). It also implicitly describes mode behavior (strict vs warn). However, it does not disclose potential side effects, authentication needs, or expected output format beyond the mode parameter note.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, with the primary action front-loaded. Every sentence provides essential information without redundancy. It efficiently covers the two main validation aspects and mode behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should explain return values. It only hints at pass/fail in the mode parameter description but does not explicitly state output structure for either consistency check or drift detection. The tool is moderately complex with two checks and two modes, so more detail on output would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add significant meaning beyond what the schema already provides for parameters. The mode parameter's behavior is partially reinforced in the description (mapDrift is warning), but no new semantic value is added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's two functions: batch validation of skill tool consistency and drift detection. It specifies the scope (all open-source Skills) and key distinguishing detail (independent of external file). This verb+resource with specific scope makes it distinct from sibling tools like skill_validate or skill_tools_map.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives (e.g., when to use skill_validate or skill_mcp_validate). No context for when-not to use it or prerequisites are mentioned. The usage context is only implied by the tool's purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skill_mcp_validateB
自动校验 Skill 定义的工具依赖是否与 MCP 服务器实际可用工具一致
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | strict=缺失工具时报错,warn=仅报告不阻断 | strict |
| skillName | Yes | Skill 名称,如 browser-dev-full-validation-skill |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It does not disclose behavioral traits such as whether the tool is read-only, what happens on inconsistency (only partially covered by the 'mode' parameter in schema), or any side effects. The description is too terse to be transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that effectively front-loads the core action. No unnecessary words or redundant information. It is appropriately sized given the simplicity of the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (2 parameters with schema descriptions, no output schema, no annotations), the description is minimally complete. It conveys the primary task but lacks details about return values, error handling, or how it integrates with sibling tools like 'skill_validate'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no extra meaning about the parameters beyond what the schema already provides. It does not explain the purpose of each parameter or how they affect behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: automatically verify consistency between Skill-defined tool dependencies and actual MCP server tools. It uses specific verb ('verify') and resource ('tool dependencies'), distinguishing it from siblings like 'skill_validate' which may have a different scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., skill_validate, skill_consistency_check). There is no mention of prerequisites or scenarios where this tool is inappropriate. The agent is left to infer usage from the name and purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skill_tools_mapA
查询 Skill 与 MCP 工具的双向映射:传入 skillName 返回该 Skill 的工具链;传入 toolName 返回引用该工具的所有 Skill。数据源 handlers/skill_map.js,与 handlers/prompts.js 交叉校验。
| Name | Required | Description | Default |
|---|---|---|---|
| toolName | No | 工具名称(如 'browser_open'、'evidence_pack'),返回引用该工具的所有 Skill | |
| skillName | No | Skill 名称(如 'validate-login'、'submit-form'),返回该 Skill 的工具链 | |
| includeDetails | No | 是否包含每个工具的 step/required/description 等详情 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
无 annotations,描述补充了数据源(handlers/skill_map.js)和交叉校验(与 prompts.js),但未明确说明查询是只读操作,也未提及其他行为特性(如错误处理、权限)。
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
仅两句话,第一句总述目的和方法,第二句说明数据源和校验。无冗余,信息密度高。
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
缺少输出格式说明(如返回列表还是对象),尽管 schema 描述 includeDetails,但无 output schema 的情况下,描述未提供足够信息让 agent 完全理解返回结构。
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
input schema 已覆盖 100% 参数描述,描述未对 includeDetails 参数额外解释,但 schema 说明已足够。描述仅重复了 skillName 和 toolName 的主要用途,未增加实质额外语义。
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
明确使用动词 '查询' 描述双向映射功能,并具体列出 skillName 和 toolName 两种入口。与 sibling 工具(如 skill_validate、skill_consistency_check)有清晰区分。
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
指明了两种典型使用场景:传入 skillName 返回工具链,传入 toolName 返回引用它的所有 Skill。但未提到何时不适合使用或与其他工具的比较。
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skill_validateA
Skill 与 MCP 工具一致性校验与映射查询。v1.9.5 起合并 skill_consistency_check / skill_mcp_validate / skill_tools_map。mode=consistency 批量校验所有 Skill 引用的工具是否与 tools/ 目录一致;mode=mcp_validate 校验单个 Skill 定义的工具依赖是否与 MCP 服务器一致;mode=tools_map 查询 Skill↔Tool 双向映射。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 工作模式:consistency(批量校验全部 Skill,默认)、mcp_validate(校验单个 Skill,需传 skillName)、tools_map(查询 Skill↔Tool 映射,需传 skillName 或 toolName) | consistency |
| toolName | No | 工具名称(仅 mode=tools_map 生效),返回引用该工具的所有 Skill | |
| skillName | No | Skill 名称(mode=mcp_validate 时必填;mode=consistency 时可选,仅校验单个 Skill;mode=tools_map 时与 toolName 至少传一项) | |
| strictMode | No | 校验严格度(mode=consistency 和 mode=mcp_validate 生效):strict=缺失工具时报错(passed:false),warn=仅警告不阻断 | strict |
| includeDetails | No | 是否包含每个工具的 step/required/description 等详情(仅 mode=tools_map 生效) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It explains the three modes and parameter conditions but does not disclose behavioral traits such as whether the tool is destructive, requires specific permissions, or has rate limits. For a validation/query tool, it likely is read-only, but that is not stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that efficiently conveys purpose, merge history, and mode behavior. It front-loads the core function and uses enumeration. While it could be more structured (e.g., bullet points), it is not verbose and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters and no output schema or annotations, the description adequately covers input semantics and mode conditions. However, it does not describe the tool's return value or output format, which is important for an agent to understand what to expect after invocation. This gap reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, providing a baseline of 3. The description adds significant value beyond the schema by explaining the purpose of each mode in relation to parameters (e.g., mode=consistency for batch, mode=mcp_validate requires skillName). It clarifies the interplay between mode and parameter requirements, which the schema alone only hints at.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool performs 'Skill与MCP工具一致性校验与映射查询' and enumerates three distinct modes (consistency, mcp_validate, tools_map), each with a clear verb+resource. It effectively distinguishes from sibling tools by explicitly noting it merged the older separate tools (skill_consistency_check, skill_mcp_validate, skill_tools_map) as of v1.9.5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use each mode (batch vs single validation vs mapping) and lists required parameters per mode. However, it does not explicitly state when not to use this tool or mention alternative tools (e.g., the deprecated sibling tools). The context is clear but lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
state_diff_assertB
捕获并对比操作前后的页面/API/存储状态,用于验证 UI、API、数据状态是否真的发生预期变化。先做进现有 MCP,后续可剥离为独立双链路验证模块。
| Name | Required | Description | Default |
|---|---|---|---|
| after | No | 可选,直接传入 after snapshot;不传则现场采集 | |
| label | No | 本次状态采集或对比名称 | |
| action | No | capture=采集当前状态快照;compare=采集当前状态并与 before/compareTo 快照对比 | capture |
| before | No | 直接传入之前 capture 返回的 snapshot 对象 | |
| sources | Yes | 要采集的状态源列表 | |
| timeout | No | 页面打开超时,默认 30000ms | |
| evidence | No | 是否生成步骤证据,默认 true | |
| snapshot | No | 是否采集 DOM 简要快照,默认 true | |
| compareTo | No | 对比时引用之前 capture 返回的 snapshotId | |
| targetUrl | No | 可选,采集前先打开的页面 URL | |
| screenshot | No | 是否截图,默认 true | |
| snapshotId | No | 采集快照时指定 ID,便于后续 compareTo 引用 | |
| expectations | No | 对比断言列表 | |
| beforeSnapshotId | No | compareTo 的别名 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure. It states the tool captures and compares state but does not disclose side effects (e.g., whether it modifies state, requires specific permissions, or has rate limits). The description also includes a forward-looking statement that adds no operational transparency. Key behavioral traits like return format or error handling are absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short with two sentences. The first sentence delivers the core purpose. The second sentence is slightly tangential, discussing future modularity. It is concise but could be tightened by removing the non-functional note. Structure is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (14 parameters, nested objects, no output schema), the description is insufficient. It does not explain how to invoke the two actions (capture vs. compare), how to interpret results, or what the snapshot/snapshotId concept means. The lack of output schema and missing behavioral details leave significant gaps for an agent to correctly use this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter has a meaningful description in the schema. The tool description does not add additional semantics beyond the schema; it only provides a high-level summary. Baseline score of 3 is appropriate as the schema already adequately documents parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: capturing and comparing state (page/API/storage) before and after operations to verify expected changes. The verb 'capture and compare' and resource 'state' are specific, and it distinguishes from sibling tools which focus on individual browser actions or validation types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for verification of state changes but does not explicitly state when to use it versus alternatives. The note '先做进现有 MCP,后续可剥离' provides context on its current integration but not usage guidance. Among many sibling validation tools, no direct comparisons or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trace_correlateA
traceId 深度关联工具(v1.9.5 起合并 browser_trace_chain 和 trace_correlation_check)。通过 mode 参数区分子模式:view(默认,根据 traceIds 反查前端证据包和后端日志,实现前后端联调闭环)/ check(校验浏览器请求和后端日志是否共享同一 traceId/runId,输出 trace 覆盖率和关联性评分,等价于已废弃的 trace_correlation_check)/ chain(全链路调用链追溯,从 traceId 或时间点追溯前端→API→后端的完整请求链路,等价于已废弃的 browser_trace_chain)。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | URL 包含过滤(mode=chain 时使用) | |
| mode | No | 关联模式:view(默认,traceId 深度关联)/ check(trace 覆盖率校验,等价于 trace_correlation_check)/ chain(全链路调用链追溯,等价于 browser_trace_chain) | view |
| since | No | 只检查此 ISO 时间点之后的请求(mode=check 时使用),默认使用当前 checkpoint | |
| traceId | No | 单个 traceId(与 traceIds 二选一,mode=view/chain 时使用) | |
| traceIds | No | 要关联的 traceId 列表(mode=view 时使用) | |
| statusMin | No | 最小 HTTP 状态码过滤(mode=chain 时使用,如 400 只显示错误请求) | |
| urlContains | No | 只检查 URL 包含此字符串的请求(mode=check 时使用) | |
| useSshBackend | No | 是否通过 SSH 远程查询后端日志(需配置 backend_logs 工具) | |
| backendLogPath | No | 后端日志文件本地路径,将在文件中搜索 traceId | |
| backendLogLines | No | 每个 traceId 返回的后端日志行数上限,默认 10 | |
| includeBackendLogs | No | 是否同时从后端服务器 grep 日志(mode=chain 时使用,需要 SSH 免密) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It discloses the tool's modes and their effects but does not mention idempotency, authorization requirements, rate limits, or side effects. The description implies read-like operations but lacks explicit behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is a single paragraph of moderate length. It front-loads the key fact (merged tool) and then systematically explains modes. It is efficient with no filler, though could be slightly more structured (e.g., bullet points for modes).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should explain return values, but it does not. Given the tool's complexity (11 parameters, 3 modes), the description covers usage context well but omits output format and behavior. The relationship with deprecated siblings is clarified, but completeness is partially lacking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The tool description adds value by explaining the meaning of the 'mode' parameter values and their equivalence to deprecated tools, and provides overall context for parameter usage (e.g., 'since' used in check mode). This enhances understanding beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'traceId 深度关联工具' and explicitly mentions it merges two previous tools (browser_trace_chain and trace_correlation_check), providing a distinct identity. It explains three sub-modes (view/check/chain) with specific use cases, effectively distinguishing itself from siblings like browser_trace_chain and trace_correlation_check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description explicitly defines when to use each mode (e.g., 'view' for front-end/back-end debugging, 'check' for trace coverage verification, 'chain' for full link tracing). It implies this tool replaces the deprecated browser_trace_chain and trace_correlation_check, providing clear context. However, it does not explicitly state scenarios where the tool should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trace_correlation_checkB
校验浏览器请求和后端日志是否共享同一 traceId/runId。读取 MCP 采集的 network 日志中的 traceparent/traceId,可选读取后端日志文件或通过 SSH 抓取后端容器日志,输出 trace 覆盖率和前后端关联性评分。先做进现有 MCP,后续再剥离。
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | 只检查此 ISO 时间点之后的请求,默认使用当前 checkpoint | |
| urlContains | No | 只检查 URL 包含此字符串的请求 | |
| useSshBackend | No | 是否通过 SSH 抓取远程后端容器日志(依赖 fetchBackendLogs),默认 false | |
| backendLogPath | No | 后端日志文件本地路径,直接读取并搜索 traceId |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behaviors: reading MCP network logs, optionally reading backend logs or using SSH, and outputting scores. However, it omits details about side effects (e.g., SSH network activity), required permissions (e.g., file access, SSH credentials), or performance implications. No annotations are provided, so the description carries the full burden, which it partially meets.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with one sentence for purpose and behavior. However, the second sentence ('先做进现有 MCP,后续再剥离') is a meta comment that does not aid tool usage and could be removed. It is front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 100% schema coverage, no output schema, and 4 optional parameters, the description adequately explains what the tool does and what parameters are available. It mentions the output (trace coverage and correlation score) but lacks details on format or interpretation. No required parameters or enums reduce the need for extensive documentation, so it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description restates the backend parameter options (file vs SSH) but adds no new semantics beyond the schema. Parameters like 'since' and 'urlContains' are not elaborated. The description adds marginal value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: verifying whether browser requests and backend logs share the same traceId/runId. It specifies the action (verify), resource (trace correlation), and output (trace coverage and correlation score). However, it does not explicitly differentiate from sibling tools like 'trace_correlate', though the name and context imply specialization.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'trace_correlate' or 'trace_chain'. There is no mention of prerequisites, scenarios, or when not to use it. The agent must infer usage from the tool's purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validation_chainA
完整功能链路闭环验证工具,按步骤依次执行 navigate/click/type/wait/validate 操作,每步自动检查控制台错误和网络错误,发现错误立即终止并返回详细的失败信息,输出完整的链路验证报告。支持强制执行5步链路验证,缺少关键步骤时拒绝执行。step.type 与 step.action 互为别名,二者至少传一个。
| Name | Required | Description | Default |
|---|---|---|---|
| steps | Yes | 验证步骤列表,每步包含 type(或 action 别名)和相关参数 | |
| timeout | No | 整个流程超时时间(毫秒),默认 60000 | |
| failOnError | No | 是否在发现错误时立即停止,默认 true | |
| networkFilter | No | 网络请求过滤条件 | |
| requiredSteps | No | 是否强制执行5步链路验证(navigate/click/type/wait/validate),缺少关键步骤时拒绝执行,默认 true | |
| captureScreenshots | No | 是否每步截图,默认 false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses automatic error checking per step, immediate termination on error, alias support for type/action, and the 5-step requirement. However, it does not explicitly state that operations like click and type modify page state (destructive hint), though this is implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively concise, starting with the purpose and then detailing behavior. It could be slightly more streamlined but effectively communicates the key points without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the nested object (steps) and 6 parameters, the description provides adequate context for the input behavior but does not describe the output report format. Since there is no output schema, mentioning what the report contains (e.g., step results, errors, screenshots) would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds meaning beyond the schema: it explains that step.type and step.action are aliases, clarifies the purpose of each step type, and notes the refusal behavior when required steps are missing. This helps the agent understand the step structure and constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it's a 'complete functional chain closed-loop verification tool' that executes navigate/click/type/wait/validate steps in order, checks errors, and produces a report. It distinguishes itself from siblings like browser_chain and validation_flow by specifying the exact step types and error-checking behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for full 5-step chain validation and states it refuses execution if required steps are missing. However, it does not explicitly contrast with alternative tools like browser_step or validation_flow for simpler cases, or state when NOT to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validation_checkA
单项验证检查工具(v1.9.5 起合并 validation_quick_run)。通过 mode 参数区分子模式:basic(默认,执行完整浏览器健康检查:打开 URL、等待条件、执行断言、截图留证、统计错误)/ quick(低 Token 快速验证,等价于已废弃的 validation_quick_run)。仍支持 check_type=deploy_verify 执行部署验证。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | 可选,检查前打开的 URL | |
| mode | No | 检查模式:basic(默认,完整浏览器健康检查)/ quick(低 Token 快速验证,等价于已废弃的 validation_quick_run) | basic |
| name | No | 检查名称 | |
| wait | No | 可选,browser_wait 参数 | |
| evidence | No | 是否保存步骤证据,默认 true | |
| noErrors | No | 是否要求本轮无错误,默认 true | |
| targetUrl | No | deploy_verify 类型的目标 URL,如 http://localhost:3000 | |
| assertions | No | browser_assert 参数 | |
| check_type | No | 检查类型:standard 为标准浏览器检查(默认),deploy_verify 为部署验证(通过 HTTP 执行 API 端点/Console/CSS/静态资源检查,无需浏览器) | |
| instrument | No | 是否注入运行时探针,默认 false | |
| clearErrors | No | 检查前是否清空错误 checkpoint,默认 true | |
| urlContains | No | 快捷断言:URL 包含文本 | |
| textContains | No | 快捷断言:页面包含文本 | |
| selectorVisible | No | 快捷断言:元素可见 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It states basic performs a full browser health check (open URL, wait, assertions, screenshot, error count) and quick is low-token. Missing details on side effects (e.g., clearing errors, evidence saving) and whether it closes the browser session.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two dense sentences. It front-loads the tool's name and version, then efficiently explains modes and alternatives. No superfluous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 14 parameters, no output schema, and no annotations, the description covers the core modes and one special type but omits return values, error behavior, and prerequisites. It mentions 'evidence' but doesn't clarify its impact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. The description adds value by explaining the mode enum semantics, naming the deprecated quick tool, and describing the deploy_verify type. It also clarifies the basic mode steps, which are not in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a single validation check with distinct sub-modes (basic/quick) and a deployment verification type. It explicitly states it merges validation_quick_run, distinguishing it from that sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use basic vs quick mode based on token cost and thoroughness, and mentions the deploy_verify alternative. However, it does not compare this tool to other validation or browser tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validation_complianceB
验证当前会话中各功能的链路验证合规性,检查是否完成了完整的5步链路验证(入口可达→操作可行→请求正确→响应正常→状态更新),未完成的功能标记为 NON-COMPLIANT。
| Name | Required | Description | Default |
|---|---|---|---|
| functions | Yes | 需要检查合规性的功能列表 | |
| strictMode | No | 是否严格模式,开启时数据提交类功能必须完成完整5步验证,默认 true | |
| sessionLogs | No | 会话日志,包含已执行的验证步骤记录 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the tool checks and marks non-compliant functions but does not mention side effects, prerequisites, permissions, or how 'marking' occurs. The behavioral model is partially defined but lacks important details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the purpose, uses clear terminology, and is free of redundancy. Every word serves the definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 3 parameters, nested objects, and no output schema. The description explains the compliance check but does not specify the return format or output behavior. Given complexity, the description should at least hint at what the tool returns (e.g., list of non-compliant functions) to be fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents parameters. The description adds context about the overall purpose (5-step chain, NON-COMPLIANT marking) but does not clarify parameter specifics beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it validates '链路验证合规性' (link verification compliance) for functions in the current session, specifies the 5-step chain, and indicates non-compliant functions are marked. This distinguishes it from sibling validation tools, which focus on specific aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for checking full 5-step chain compliance but does not explicitly state when to use it versus alternatives like validation_chain or validation_check. No exclusions or when-not guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validation_data_integrityB
验证 CRUD 全链路数据一致性。通过 browser_eval 调用 API 并拦截响应,对比 Create/Read/Update/Delete 各阶段的数据是否一致。支持三种验证模式:check_create_read、check_update_read、check_delete_read
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | 检测名称,用于报告标识 | |
| action | Yes | 验证模式:check_create_read=创建后立即查询验证数据一致性;check_update_read=更新后查询验证字段已更新;check_delete_read=删除后验证已标记删除或 404 | |
| entity | Yes | 实体名称,如 leads/orders/customers(对应 API 路径中的资源名) | |
| timeout | No | API 调用超时时间(毫秒),默认 15000 | |
| entityId | No | 操作的实体 ID(check_update_read/check_delete_read 时需要提供,或由前一步自动提取) | |
| evidence | No | 是否生成证据包,默认 true | |
| noErrors | No | 是否检查页面错误,默认 true | |
| targetUrl | No | 目标页面 URL,用于 API 调用的基础路径 | |
| apiBaseUrl | No | API 基础 URL,默认从当前页面 URL 推导 | |
| screenshot | No | 是否截图,默认失败时截图 | |
| createPayload | No | 创建操作的请求体(JSON 对象),action=check_create_read 时必填 | |
| updatePayload | No | 更新操作的请求体(JSON 对象),action=check_update_read 时必填 | |
| identifierField | No | 标识字段名(如 id/leadId/orderNo),默认 'id' | id |
| expectedCreateFields | No | 创建后需要验证的字段列表(默认验证 createPayload 中的所有字段) | |
| expectedUpdatedFields | No | 更新后需要验证的字段列表(默认验证 updatePayload 中的所有字段) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It mentions using browser_eval to intercept responses, but does not clarify whether the tool is read-only, whether it modifies state, or any side effects. Important behavioral traits like permission requirements or destructive potential are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief with two sentences and a list of modes, front-loading the core purpose. It is efficient though not perfectly structured (no usage example or summary line). The Chinese language may limit accessibility, but conciseness is good.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 15 parameters, no output schema, and no annotations, the description needs to provide more context. It lacks explanation of return values, preconditions (e.g., browser session), error handling, and how results are structured. The tool appears complex but the description leaves many aspects uncovered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter having a description in the schema. The description lists the three validation modes but does not add meaning beyond what the schema already provides. Baseline 3 is appropriate as the description adds minimal extra semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: verifying CRUD data consistency by intercepting API responses via browser_eval. It lists three specific validation modes. However, it does not explicitly differentiate from sibling validation tools like validation_check or validation_flow, leaving some ambiguity about when to choose this tool over others.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage contexts through the three modes (check_create_read, check_update_read, check_delete_read) but does not explicitly state when to use this tool versus alternatives among many sibling validation tools. No exclusion criteria or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validation_decisionA
快速止损决策系统 - 基于页面初始错误状态,1 秒内判断是否值得继续验证,避免浪费 Token。返回决策建议(STOP/WARN/CONTINUE)、置信度、预计节省 Token 比例和估算的浪费 Token 数量。
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | 返回格式:json(默认)或 text | |
| browserErrors | No | 浏览器错误统计数据 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the tool is a read-only decision maker and mentions it avoids wasting tokens, implying safe behavior. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient paragraph that front-loads purpose and lists outputs. No extraneous content, though it could be slightly more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers inputs and outputs for a 2-param tool with no output schema, but lacks details on decision logic or edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds limited value beyond providing context. It mentions the decision output but does not elaborate on parameter structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it's a fast stop-loss decision system based on initial page error state, distinguishing it from other validation tools among many siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use it (based on initial browser errors, within 1 second) but does not explicitly state when not to use or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validation_elementA
验证特定DOM元素的状态:存在性、可见性、可用性、文本内容、属性、值、数量等。支持多条断言组合,返回每条断言的通过/失败详情和证据截图。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | 目标页面URL(可选,若提供则会先导航到该页面) | |
| name | No | 本次验证的名称(用于证据标记) | |
| exists | No | 断言元素是否存在 | |
| enabled | No | 断言元素是否可用(非 disabled 且非 readonly) | |
| visible | No | 断言元素是否可见 | |
| evidence | No | 是否采集证据(截图+快照),默认 true | |
| noErrors | No | 是否同时检查本轮无控制台/页面/网络错误,默认 true | |
| selector | Yes | 元素CSS选择器(必填) | |
| snapshot | No | 是否在证据中包含DOM快照 | |
| screenshot | No | 是否在证据中包含截图(默认在断言失败时自动截图) | |
| clearErrors | No | 是否在验证前清空历史错误日志,默认 true | |
| countEquals | No | 断言匹配选择器的元素数量 | |
| valueEquals | No | 断言表单元素的值等于该内容 | |
| hasAttribute | No | 断言元素具有该属性名 | |
| textContains | No | 断言元素文本包含该内容 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions returning pass/fail details and evidence screenshots, but does not disclose read-only nature, side effects, error handling, or response format. This is insufficient for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences that efficiently cover core functionality and output. Every word contributes to understanding, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 15 parameters, no output schema, and no annotations, the description provides a good overview but lacks details on output structure, error handling, and assertion ordering. It adequately covers what the tool does but leaves gaps for an agent to fully understand behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are well-documented in the schema. The description adds an overview of assertion types and evidence collection, but does not elaborate on parameter usage beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'validate' and the resource 'specific DOM element state', listing specific aspects like existence, visibility, text content, etc. It distinguishes itself from sibling tools by emphasizing multi-assertion combination and evidence output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for verifying DOM element states, but does not provide explicit when-to-use or when-not-to-use guidance. It lacks mention of alternatives or prerequisites, leaving the agent to infer context from sibling tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validation_flowA
多步流程验证工具(v1.9.5 起合并 validation_chain),按步骤依次执行 navigate/click/type/wait/eval/screenshot 等操作,支持失败可配置继续执行。step.action 与 step.type 互为别名,二者至少传一个;navigate 也支持别名 goto。通过 mode 参数区分子模式:flow(默认,标准流程验证)/ chain(链式验证,等价于已废弃的 validation_chain,失败即停止并返回失败步骤详情)。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 编排模式:flow(默认,标准流程验证,支持 continueOnFailure)/ chain(链式验证,等价于已废弃的 validation_chain,失败即停止) | flow |
| steps | Yes | 验证步骤列表,每个步骤的 action/type 字段互为别名,至少传一个 | |
| timeout | No | 整个流程超时时间(毫秒),默认 30000 | |
| stopOnError | No | chain 模式专用:某步骤失败后是否停止(默认 true)。等价于 continueOnFailure 的反义,stopOnError=true 等价于 continueOnFailure=false | |
| continueOnFailure | No | 某步骤失败后是否继续执行后续步骤,默认 false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It does explain the sequential execution of steps, the alias relationship between action and type, and the mode-specific failure behavior. However, it does not mention potential side effects (e.g., state changes from clicks/types), authentication requirements, rate limits, or what happens to the browser session. Given the tool's mutating nature, more transparency would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that covers the core purpose, version context, supported actions, alias relationships, and mode semantics. It is concise but could benefit from better structure (e.g., bullet points or separation of mode descriptions). The most critical information is front-loaded. Every sentence adds value, though the alias explanation could be slightly more streamlined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the two modes and their behavior, but it does not describe the return value or output format. For chain mode, it mentions 'returns failure step details' but for flow mode it is implicit. The tool has no output schema, so the description should compensate. It also omits what happens on success, how errors are reported, and whether the tool produces any artifact (e.g., screenshots). Given the complexity (5 parameters, nested steps), the description is somewhat incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so each parameter's purpose is already documented. The description adds value by clarifying that step.action and step.type are aliases (both acceptable, at least one required) and that navigate also accepts the alias 'goto' (though 'goto' is not listed in the schema enum, which is a minor inconsistency). The mode parameter's semantics are reinforced. No additional parameter details beyond schema are provided, but the alias clarification is helpful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a multi-step flow validation tool that executes browser operations like navigate/click/type/wait/eval/screenshot. It distinguishes between two modes (flow and chain) and mentions it merged the now-deprecated validation_chain. The verb 'validate' and resource 'flow' are specific, and the description differentiates it from sibling single-step tools like browser_click or browser_navigate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the two modes: flow (default, with configurable continueOnFailure) and chain (equivalent to deprecated validation_chain, stops on failure). This provides clear context on when to use each mode. However, it does not explicitly state when not to use this tool or mention alternative tools (e.g., for single-step actions use browser_* tools). The context is sufficient but lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validation_matrixB
执行多维度验证矩阵(功能/视觉/性能/a11y),输出综合评分报告。支持角色×功能权限矩阵验证,每个角色使用独立 session。
| Name | Required | Description | Default |
|---|---|---|---|
| har | No | 是否导出 HAR JSON,默认 true | |
| url | Yes | 目标页面 URL | |
| name | No | 矩阵验证名称 | |
| roles | Yes | 角色列表,每个角色可包含 name、sessionName、url、setupSteps | |
| features | Yes | 功能列表,每个功能可包含 name、steps、stepsByRole、expected、expectedByRole、assertions、assertionsByRole、focus | |
| dimensions | No | 验证维度列表,可选:functional、visual、performance、a11y | |
| instrument | No | 是否注入运行时探针,默认 true | |
| clearErrors | No | 执行前是否清空错误 checkpoint,默认 true | |
| a11yStandard | No | a11y 标准级别:wcag-a / wcag-aa / wcag-aaa | wcag-aa |
| outputFormat | No | 输出格式:json / markdown | json |
| clearArtifacts | No | 执行前是否清理证据产物,默认 false | |
| visualBaseline | No | 视觉基线截图路径(可选) | |
| continueOnFailure | No | 单元失败后是否继续执行后续功能,默认 false | |
| investigateOnFailure | No | 失败时是否自动 debug_investigate,默认 true | |
| performanceThreshold | No | 性能阈值(LCP ms),默认 2500 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions independent sessions per role but does not disclose side effects, auth requirements, rate limits, or whether the tool is read-only or mutates state. The behavioral impact is underdescribed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences that front-load the core purpose and key details. Every word contributes meaning, and there is no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 15 parameters and no output schema or annotations, the description is too brief. It does not explain the output report format, prerequisites, or how to interpret results, leaving significant gaps for a complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema documents all parameters. The description adds no additional semantic value beyond what the schema provides, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool's function: executing a multi-dimensional validation matrix covering functional, visual, performance, and a11y dimensions, and outputting a comprehensive scoring report. It also mentions role×feature permission matrix validation with independent sessions, which clearly differentiates it from sibling tools like browser_matrix_test or validation_run.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for comprehensive multi-dimensional and role-based validation but does not explicitly state when to use this tool over alternatives or provide context on when not to use it. No comparisons or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validation_permissionA
权限越权检测工具。支持三种模式:horizontal_privilege=水平越权检测(替换API路径中的ID);vertical_privilege=垂直越权检测(普通用户访问管理API);role_menu=基于角色的菜单可见性验证
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | 检测名称 | |
| action | Yes | 检测模式:horizontal_privilege=水平越权;vertical_privilege=垂直越权;role_menu=角色菜单 | |
| entity | No | 实体名称(如 leads/orders),用于构造 API 路径 | |
| timeout | No | 超时时间(毫秒),默认 15000 | |
| entityId | No | 当前用户的实体 ID(水平越权检测时,将被替换为 otherEntityId) | |
| targetUrl | No | 目标页面 URL | |
| targetRole | No | role_menu 模式:目标角色名称 | |
| roleSelector | No | role_menu 模式:角色切换按钮/下拉框的选择器 | |
| adminApiPaths | No | 管理端 API 路径数组(垂直越权检测时访问这些路径) | |
| otherEntityId | No | 其他用户的实体 ID(水平越权检测时替换为目标值) | |
| expectedMenuItems | No | role_menu 模式:目标角色应看到的菜单项文本 | |
| unexpectedMenuItems | No | role_menu 模式:目标角色不应看到的菜单项文本 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as side effects, required permissions, or whether the tool is read-only. For a detection tool, missing information about safety or impact reduces transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently captures the tool's purpose and main modes. It is front-loaded and contains no superfluous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of 12 parameters and no output schema, the description is relatively brief. While the modes are explained, there is no guidance on which parameters to use for each mode or on expected outcomes, leaving the agent to infer from the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already provides detailed parameter descriptions. The tool description adds value by contextualizing the action enum and modes, but it does not add meaning beyond what is in the schema for other parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as a permission escalation detection tool and enumerates three specific modes (horizontal privilege, vertical privilege, role menu), which distinguishes it from sibling tools that are mostly browser automation or generic validation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the three modes and their use cases, providing context for when to use each mode. However, it does not explicitly state when not to use this tool or mention alternatives, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validation_quick_runA
对单页执行低 Token 快速验证:Console、Network、PageError、DOM/ARIA/文本摘要和稳定选择器可达性,返回 pass/fail、Top errors、artifact 路径。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| timeout | No | ||
| headless | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully convey behavioral traits. It mentions low token usage, specific checks, and outputs. However, it does not disclose whether the tool is read-only, has side effects, or requires specific permissions. The description is adequate but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the core purpose, scope, and outputs. Every part carries weight, with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose and basic outputs, but lacks parameter details and output format (e.g., structure of errors, artifact path). Without output schema, more detail on return values would be beneficial. Overall adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description does not explain any parameters. The parameter names (url, timeout, headless) are somewhat self-explanatory, but the description adds no additional meaning or context, such as units or behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs low-token quick validation on a single page, listing specific checks (Console, Network, PageError, DOM/ARIA/text summary, stable selector reachability) and outputs (pass/fail, top errors, artifact path). This differentiates it from sibling tools like validation_run or validation_start which are likely more comprehensive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for quick, low-resource validation on single pages but does not explicitly state when to use this tool versus alternatives like validation_run or validation_start. No exclusions or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validation_reportA
验证报告工具(v1.9.5 起合并 validation_report_export)。通过 mode 参数区分子模式:view(默认,根据最近一次 validation_check/run/matrix 生成 Markdown/JSON 结构化验证报告,含六段式结构)/ export(导出 HTML 报告到文件,等价于已废弃的 validation_report_export)。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 报告模式:view(默认,生成 Markdown/JSON 报告)/ export(导出 HTML 报告到文件,等价于已废弃的 validation_report_export) | view |
| format | No | 报告格式 | markdown |
| strictSchema | No | 是否严格遵循六段式输出结构 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It reports that the tool generates reports based on recent validation data and mentions a six-section structure, but does not disclose potential side effects (e.g., file overwrite on export) or detailed behavior beyond mode selection.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (two sentences) while covering purpose, modes, and deprecation notice. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core functionality, modes, and relationship to the deprecated tool. However, it lacks details on the six-section structure, return format, or any file export specifics, which would be helpful given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents parameters. The tool description adds context by explaining mode sub-modes and the default view mode, but does not significantly enhance understanding beyond the schema's enum descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates validation reports with two sub-modes (view and export), explicitly linking view to recent validation_check/run/matrix and export to the deprecated validation_report_export. This distinguishes it from siblings like validation_check and validation_run.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use each mode (view for Markdown/JSON report, export for HTML file) and notes that export replaces the deprecated sibling. However, it does not explicitly state when not to use this tool or compare with other report-like tools such as chain_score_report.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validation_report_exportA
将最近一次验证结果导出为本地静态 HTML 报告,包含六段式结构:摘要、工具链、发现问题、网络证据、证据产物、待分类项。HTML 报告和 JSON 数据统一输出到 .trae/validations/runs// 目录下;若无活跃 run-id,则输出到 ai-verify-mcp/reports/ 目录。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It adequately describes the output (HTML report and JSON data), the directory structure (dependent on run-id), and the report sections. However, it does not mention potential side effects (e.g., overwriting files) or access requirements. The level of detail is sufficient for a tool with no parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence in Chinese that front-loads the core action. It includes all essential details (output format, structure, directory logic) without extraneous information. Every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description provides complete context: what it does, the resulting output structure, and where files are saved. It covers all necessary information for a simple export tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema coverage is effectively 100%. According to guidelines, a baseline of 4 is appropriate. The description adds value by explaining the output behavior (directory fallback, report structure) beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's primary purpose: exporting the latest validation result as a static HTML report with a specific six-section structure. It uses a strong verb 'export' and specifies the output resource (validation results). While it does not explicitly differentiate from sibling tools like 'validation_report', the description is specific enough to convey its function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide guidance on when to use this tool versus alternatives. It implies it should be used after a validation run, but does not mention when to avoid it or specify any prerequisites or exclusions. No comparative context with sibling tools is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validation_runA
Execute a complete browser acceptance plan: auto-clear errors, inject probes, record trace, run browser_flow per case, assert, investigate failures, export HAR, and persist evidence artifacts.
中文详情:
用途:执行完整的浏览器端到端验收测试计划,自动完成错误清空、探针注入、trace 录制、按用例执行 browser_flow、断言、失败调查、HAR 导出和证据保存
何时使用:需要一次性运行多个测试用例并产出完整证据链时;CI/CD 流水线中需要 gate 检查时;版本发布前回归验证时;复杂业务流程端到端验证时
输出:{ ok: boolean, planName: string, totalCases: number, passedCases: number, failedCases: number, artifacts: { screenshots: [], traces: [], har: string, report: string }, summary: string }
参数:
name (string, 可选):验证计划名称,用于报告标识
cases (array, 必填):测试用例列表,每项含 name/sessionName/steps/assertions/focus/symptom/expected/continueOnError
clearArtifacts (boolean, 可选):执行前是否清理旧截图/trace/har,默认 false
clearErrors (boolean, 可选):执行前是否清空错误 checkpoint,默认 true
instrument (boolean, 可选):是否注入运行时探针,默认 true
trace (boolean, 可选):是否录制 trace,默认 true
har (boolean, 可选):是否导出 HAR JSON,默认 true
investigateOnFailure (boolean, 可选):失败时是否自动调用 debug_investigate,默认 true
continueOnFailure (boolean, 可选):用例失败后是否继续执行后续用例,默认 false
错误:cases 为空抛出 'No test cases provided';浏览器未启动抛出 'Browser not launched';单个用例断言失败会在 result 中标记 failed 但不抛出
示例:{"name":"login-regression","cases":[{"name":"valid-login","steps":[{"action":"navigate","url":"https://example.com/login"}],"assertions":{"urlContains":"dashboard"}}],"clearArtifacts":true}
| Name | Required | Description | Default |
|---|---|---|---|
| har | No | 是否导出 HAR JSON,默认 true | |
| name | No | 验证计划名称 | |
| cases | Yes | 测试用例列表 | |
| trace | No | 是否录制 trace,默认 true | |
| instrument | No | 是否注入运行时探针,默认 true | |
| clearErrors | No | 执行前是否清空错误 checkpoint,默认 true | |
| clearArtifacts | No | 执行前是否清理截图、trace、har,默认 false | |
| continueOnFailure | No | 用例失败后是否继续执行后续用例,默认 false | |
| investigateOnFailure | No | 失败时是否自动调用 debug_investigate,默认 true |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It details the full workflow: auto-clear errors, inject probes, trace, per-case browser_flow, assertion, investigation, HAR export, and evidence persistence. It also lists error conditions and handling of failures.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long (bilingual) but well-structured with sections for purpose, usage, output, parameters, errors, and example. It is comprehensive but could be more concise by removing redundant Chinese translations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is complex with 9 parameters and orchestration of multiple steps. The description covers output structure, error conditions, and provides an example. Despite no output schema, the output format is explicitly documented. This is complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (all 9 parameters described in schema). The description repeats and adds default values, as well as an example. This adds value beyond the schema, justifying a score above baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Execute a complete browser acceptance plan' and enumerates the steps. The verb-resource combination is specific and distinguishable from sibling tools, which are lower-level browser actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a '何时使用' section in Chinese, explaining when to use the tool (multiple test cases, CI/CD, regression, end-to-end). While it provides good context, it lacks explicit when-not-to-use or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validation_startB
Start an end-to-end validation flow. 启动端到端验证流程,按给定场景列表对目标 URL 执行多步验证。
| Name | Required | Description | Default |
|---|---|---|---|
| targetUrl | Yes | 目标验证页面URL | |
| testScenarios | Yes | 测试场景列表 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It does not disclose behavioral traits such as whether the flow is asynchronous, whether it modifies state, or what errors may occur. The description only states the action without side effects or guarantees.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, including a Chinese translation for clarity. No wasted words; essential information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description covers the basic purpose and inputs. However, it omits what the tool returns (e.g., a flow ID or result) and whether it is synchronous or asynchronous, which is important for an action that 'starts' something.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with Chinese descriptions that explain targetUrl and testScenarios adequately. The description adds context of 'end-to-end validation flow' but does not enrich parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it starts an end-to-end validation flow, specifying it performs multi-step verification against a target URL using a given list of scenarios. This differentiates it from sibling tools like validation_check or validation_flow, which likely serve different roles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like validation_chain or validation_flow. The description lacks context about prerequisites, post-conditions, or comparison with other validation tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
32 tool updates
v1.9.5- Removed
asset_endpoint_probe - Removed
atl_fix - Removed
atl_learn - Removed
browser_anti_bot_detect - Removed
browser_aria_click - Removed
browser_aria_snapshot - Removed
browser_artifacts_clear - Removed
browser_assert - Removed
browser_batch - Added
browser_captcha - Removed
browser_captcha_detect - Added
browser_console - Added
browser_diagnose - Added
browser_dom - Added
browser_errors_aggregate - Added
browser_events_clear - Added
browser_find_element - Added
browser_flow - Added
browser_form_fill - Added
browser_full_audit - Added
browser_har_export - Added
browser_highlight - Added
browser_hover - Added
browser_links - Added
browser_locator - Added
browser_locator_suggest - Added
browser_locator_validate - Added
browser_navigate - Added
browser_network_detail - Added
browser_open - Added
browser_performance_check - Added
browser_press_key
112 tool updates
v1.9.5- Removed
arch_reverse_probe - Added
asset_discovery - Removed
asset_endpoint_enum - Added
browser_a11y_check - Added
browser_anti_bot_detect - Added
browser_aria_click - Added
browser_aria_snapshot - Added
browser_aria_type - Changed
browser_batch5 fields changed- changed
Input schema / properties / steps / descriptionPrevious value: -"操作步骤数组,每个步骤包含type、selector、text等参数"New value: +"操作步骤数组,每个步骤包含 type(或 action 别名)、selector、text 等参数" - added
Input schema / properties / steps / items / anyOfAdded value: +[ + { + "required": [ + "type" + ] + }, + { + "required": [ + "action" + ] + } +] - added
Input schema / properties / steps / items / properties / actionAdded value: +{ + "description": "操作类型(type 的别名,与 type 等效)", + "enum": [ + "click", + "type", + "hover", + "scroll", + "screenshot", + "wait", + "press_key", + "select" + ], + "type": "string" +} - changed
Input schema / properties / steps / items / properties / type / descriptionPrevious value: -"操作类型"New value: +"操作类型(与 action 互为别名,优先使用 type)" - removed
Input schema / properties / steps / items / requiredRemoved value: -[ - "type" -]
- Changed
browser_chain5 fields changed- changed
Input schema / properties / actions / descriptionPrevious value: -"操作步骤数组,每个步骤包含 type 和相关参数"New value: +"操作步骤数组,每个步骤包含 type(或 action 别名)和相关参数" - added
Input schema / properties / actions / items / anyOfAdded value: +[ + { + "required": [ + "type" + ] + }, + { + "required": [ + "action" + ] + } +] - added
Input schema / properties / actions / items / properties / actionAdded value: +{ + "description": "操作类型(type 的别名,与 type 等效)", + "enum": [ + "click", + "type", + "hover", + "scroll", + "pressKey", + "select", + "wait", + "evaluate" + ], + "type": "string" +} - changed
Input schema / properties / actions / items / properties / type / descriptionPrevious value: -"操作类型"New value: +"操作类型(与 action 互为别名,优先使用 type)" - removed
Input schema / properties / actions / items / requiredRemoved value: -[ - "type" -]
- Removed
browser_console - Added
browser_cookies - Added
browser_counterfactual_analyze - Added
browser_data_compare - Added
browser_debug - Added
browser_debug_report - Added
browser_element_status - Added
browser_emulate_device - Added
browser_errors - Added
browser_errors_clear - Added
browser_eval - Changed
browser_events1 field changed- added
Input schema / properties / modeAdded value: +{ + "default": "view", + "description": "事件管理模式:view(默认,查看事件流)/ clear(清空事件并创建新 checkpoint,等价于已废弃的 browser_events_clear)", + "enum": [ + "view", + "clear" + ], + "type": "string" +}
- Added
browser_find - Added
browser_find_page - Added
browser_form_validate - Added
browser_full_regression - Added
browser_instrument - Added
browser_lighthouse_audit - Added
browser_matrix_test - Added
browser_memory_check - Added
browser_network - Added
browser_overlay - Added
browser_overlay_detect - Added
browser_performance - Added
browser_performance_trace - Added
browser_quick_fix - Added
browser_screenshot - Added
browser_screenshot_element - Added
browser_scroll - Added
browser_select - Added
browser_session - Added
browser_session_close - Added
browser_session_create - Added
browser_session_switch - Added
browser_sessions - Added
browser_smart_fill - Added
browser_smoke_test - Added
browser_snapshot - Added
browser_state - Added
browser_step - Added
browser_storage - Added
browser_trace_chain - Added
browser_trace_start - Added
browser_trace_stop - Added
browser_traverse_menu - Added
browser_type - Added
browser_verify_fix - Added
browser_visual - Added
browser_visual_baseline - Added
browser_visual_check - Added
browser_visual_report - Added
browser_visual_snapshot - Added
browser_wait - Added
business_loop_validate - Added
bypass_login - Added
chain_list_templates - Added
chain_score_report - Added
chain_spec - Added
chain_spec_run - Added
contract - Added
contract_baseline - Added
contract_guard - Added
correlate_triple_check - Added
css_var_check - Added
debug_investigate - Added
dual_chain_explore - Added
error_analyze - Added
error_fix_suggestion - Added
error_summary_md - Added
evidence - Added
evidence_index - Added
evidence_pack - Added
exploration_quick - Added
mcp_diag - Added
mcp_health_check - Added
mcp_self_test - Added
memory_recall - Added
project_audit - Added
security_csp_analyze - Added
security_headers_check - Added
security_owasp_top10 - Added
security_scan - Added
security_xss_scan - Added
skill_consistency_check - Added
skill_mcp_validate - Added
skill_tools_map - Added
skill_validate - Added
state_diff_assert - Added
trace_correlate - Added
validation_chain - Added
validation_check - Added
validation_data_integrity - Added
validation_decision - Added
validation_element - Added
validation_flow - Added
validation_matrix - Added
validation_permission - Added
validation_quick_run - Added
validation_report - Added
validation_report_export - Added
validation_run - Added
validation_start
31 tool updates
v1.9.2- Added
api_probe - Added
atl_learn - Removed
browser_aria_snapshot - Removed
browser_aria_type - Added
browser_chain - Added
browser_click - Added
browser_click_audit - Added
browser_console - Removed
browser_counterfactual_analyze - Removed
browser_data_compare - Removed
browser_debug_report - Removed
browser_diagnose - Removed
browser_dom - Removed
browser_element_status - Removed
browser_emulate_device - Removed
browser_errors - Removed
browser_errors_clear - Added
browser_events - Removed
browser_full_audit - Added
browser_overlay_dismiss - Added
browser_responsive_test - Removed
browser_session_create - Removed
browser_step - Added
browser_visual_component - Added
screenshot_diff - Added
security_sql_injection_scan - Removed
security_xss_scan - Removed
state_diff_assert - Added
trace_correlation_check - Removed
validation_data_integrity - Removed
validation_quick_run
102 tool updates
v1.9.1- Removed
api_probe - Removed
atl_learn - Removed
browser_a11y_check - Removed
browser_anti_bot_detect - Removed
browser_aria_click - Removed
browser_chain - Removed
browser_click - Removed
browser_click_audit - Removed
browser_console - Removed
browser_cookies - Removed
browser_errors_aggregate - Removed
browser_eval - Removed
browser_events - Removed
browser_events_clear - Removed
browser_find_element - Removed
browser_find_page - Removed
browser_form_fill - Removed
browser_form_validate - Removed
browser_full_regression - Removed
browser_har_export - Removed
browser_highlight - Removed
browser_hover - Removed
browser_instrument - Removed
browser_lighthouse_audit - Removed
browser_links - Removed
browser_locator_suggest - Removed
browser_locator_validate - Removed
browser_matrix_test - Removed
browser_memory_check - Removed
browser_navigate - Removed
browser_network - Removed
browser_network_detail - Removed
browser_open - Removed
browser_overlay_detect - Removed
browser_overlay_dismiss - Removed
browser_performance_check - Removed
browser_performance_trace - Removed
browser_press_key - Removed
browser_quick_fix - Removed
browser_responsive_test - Removed
browser_screenshot - Removed
browser_screenshot_element - Removed
browser_scroll - Removed
browser_select - Removed
browser_session_close - Removed
browser_session_switch - Removed
browser_sessions - Removed
browser_smart_fill - Removed
browser_smoke_test - Removed
browser_snapshot - Removed
browser_storage - Removed
browser_trace_chain - Removed
browser_trace_start - Removed
browser_trace_stop - Removed
browser_traverse_menu - Removed
browser_type - Removed
browser_verify_fix - Removed
browser_visual_baseline - Removed
browser_visual_check - Removed
browser_visual_component - Removed
browser_visual_report - Removed
browser_visual_snapshot - Removed
browser_wait - Removed
business_loop_validate - Removed
bypass_login - Removed
chain_list_templates - Removed
chain_score_report - Removed
chain_spec_run - Removed
contract_baseline - Removed
contract_guard - Removed
correlate_triple_check - Removed
css_var_check - Removed
debug_investigate - Removed
dual_chain_explore - Removed
error_fix_suggestion - Removed
error_summary_md - Removed
evidence_index - Removed
evidence_pack - Removed
exploration_quick - Removed
mcp_health_check - Removed
mcp_self_test - Removed
memory_recall - Removed
project_audit - Removed
screenshot_diff - Removed
security_csp_analyze - Removed
security_headers_check - Removed
security_owasp_top10 - Removed
security_sql_injection_scan - Removed
skill_mcp_validate - Removed
trace_correlate - Removed
trace_correlation_check - Removed
validation_chain - Removed
validation_check - Removed
validation_decision - Removed
validation_element - Removed
validation_flow - Removed
validation_matrix - Removed
validation_permission - Removed
validation_report - Removed
validation_report_export - Removed
validation_run - Removed
validation_start
37 tool updates
v1.8.5- Added
api_probe - Added
arch_reverse_probe - Added
asset_endpoint_enum - Added
asset_endpoint_probe - Added
asset_routes_discover - Added
atl_fix - Added
atl_learn - Changed
browser_anti_bot_detect1 field changed- changed
Output schema / (root)Previous value: -{ - "properties": { - "detected": { - "description": "检测到的反爬机制列表", - "items": { - "properties": { - "confidence": { - "description": "置信度 0-100", - "type": "number" - }, - "evidence": { - "description": "检测证据", - "type": "string" - }, - "name": { - "description": "反爬服务名称", - "type": "string" - }, - "risk": { - "description": "风险等级", - "enum": [ - "low", - "medium", - "high", - "critical" - ], - "type": "string" - }, - "type": { - "description": "反爬类型:cloudflare/js_challenge/captcha/fingerprint/recaptcha/hcaptcha/aws_waf/custom", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "headers": { - "description": "相关响应头", - "type": "object" - }, - "pageInfo": { - "description": "页面信息", - "properties": { - "challengeType": { - "type": "string" - }, - "hasChallenge": { - "type": "boolean" - }, - "title": { - "type": "string" - } - }, - "type": "object" - }, - "recommendations": { - "description": "绕过建议", - "items": { - "type": "string" - }, - "type": "array" - }, - "riskLevel": { - "description": "总体风险等级", - "enum": [ - "none", - "low", - "medium", - "high", - "critical" - ], - "type": "string" - }, - "success": { - "type": "boolean" - }, - "url": { - "type": "string" - } - }, - "type": "object" -}New value: +null
- Added
browser_captcha_detect - Added
browser_captcha_read - Added
browser_captcha_screenshot - Changed
browser_click2 fields changed- added
Input schema / properties / indexAdded value: +{ + "description": "当选择器匹配多个元素时,指定点击第几个元素(从 0 开始)。不提供时默认点击第一个元素。", + "type": "number" +} - changed
Input schema / properties / selector / descriptionPrevious value: -"CSS 选择器"New value: +"CSS 选择器(支持 Playwright 语法,如 'button:has-text(\"Log In\")' 或 '#submit-btn')"
- Changed
browser_counterfactual_analyze1 field changed- changed
Output schema / (root)Previous value: -{ - "properties": { - "failureContext": { - "type": "string" - }, - "hasHighConfidenceRootCause": { - "type": "boolean" - }, - "hypotheses": { - "items": { - "properties": { - "confidence": { - "type": "number" - }, - "contextMatch": { - "type": "boolean" - }, - "counterfactual": { - "type": "string" - }, - "description": { - "type": "string" - }, - "evidence": { - "type": "array" - }, - "factor": { - "type": "string" - }, - "impact": { - "enum": [ - "high", - "medium", - "low" - ], - "type": "string" - }, - "verifyAction": { - "type": "string" - }, - "verifyTool": { - "type": "string" - }, - "wouldStillFail": { - "enum": [ - "likely", - "maybe", - "unlikely" - ], - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "nextSteps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "pageState": { - "properties": { - "hasBlockingOverlay": { - "type": "boolean" - }, - "httpErrorCount": { - "type": "number" - }, - "interactiveElements": { - "type": "number" - }, - "jsErrorCount": { - "type": "number" - }, - "loadTime": { - "type": "number" - }, - "loadingState": { - "type": "string" - }, - "overlayCount": { - "type": "number" - }, - "title": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": "object" - }, - "paidUpgradeHint": { - "type": "string" - }, - "rootCause": { - "properties": { - "confidence": { - "type": "number" - }, - "factor": { - "type": "string" - }, - "verifyAction": { - "type": "string" - }, - "verifyTool": { - "type": "string" - } - }, - "type": "object" - }, - "status": { - "enum": [ - "success", - "warning" - ], - "type": "string" - }, - "suggestions": { - "items": { - "type": "object" - }, - "type": "array" - } - }, - "type": "object" -}New value: +null
- Added
browser_data_compare - Changed
browser_emulate_device1 field changed- changed
Output schema / (root)Previous value: -{ - "properties": { - "applied": { - "description": "应用的设备配置", - "properties": { - "orientation": { - "type": "string" - }, - "touch": { - "type": "boolean" - }, - "userAgent": { - "type": "string" - }, - "viewport": { - "properties": { - "deviceScaleFactor": { - "type": "number" - }, - "height": { - "type": "number" - }, - "width": { - "type": "number" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "device": { - "type": "string" - }, - "pageInfo": { - "description": "当前页面信息", - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string" - }, - "viewport": { - "properties": { - "height": { - "type": "number" - }, - "width": { - "type": "number" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "success": { - "type": "boolean" - }, - "verification": { - "description": "设备模拟验证结果", - "properties": { - "touchEnabled": { - "type": "boolean" - }, - "userAgentMatched": { - "type": "boolean" - }, - "viewportMatched": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" -}New value: +null
- Changed
browser_form_fill1 field changed- changed
Input schema / properties / fields / descriptionPrevious value: -"手动指定的字段覆盖值,key为字段名,value为字段值"New value: +"手动指定的字段值。支持两种key格式:1) CSS选择器模式(key以#/./[/[/>/:/*开头,如 {\"#login-email\": \"user@test.com\", \"#login-password\": \"pass123\"});2) 字段名模式(key为input的name属性,如 {\"email\": \"user@test.com\", \"password\": \"pass123\"})。CSS选择器模式的字段会直接用Playwright定位填充,字段名模式的字段会通过表单自动发现机制匹配。"
- Changed
browser_form_validate1 field changed- changed
Output schema / (root)Previous value: -{ - "properties": { - "fields": { - "description": "表单字段列表", - "items": { - "properties": { - "defaultValue": { - "type": "string" - }, - "id": { - "type": "string" - }, - "inputType": { - "type": "string" - }, - "issues": { - "description": "字段问题", - "items": { - "type": "string" - }, - "type": "array" - }, - "label": { - "type": "string" - }, - "max": { - "type": "string" - }, - "maxLength": { - "type": "number" - }, - "min": { - "type": "string" - }, - "minLength": { - "type": "number" - }, - "name": { - "type": "string" - }, - "options": { - "description": "下拉选项(select/radio/checkbox)", - "items": { - "type": "string" - }, - "type": "array" - }, - "pattern": { - "type": "string" - }, - "placeholder": { - "type": "string" - }, - "required": { - "type": "boolean" - }, - "tagName": { - "type": "string" - }, - "type": { - "type": "string" - }, - "validationRules": { - "description": "检测到的验证规则", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "type": "array" - }, - "formFound": { - "type": "boolean" - }, - "formSelector": { - "type": "string" - }, - "recommendations": { - "description": "改进建议", - "items": { - "type": "string" - }, - "type": "array" - }, - "success": { - "type": "boolean" - }, - "summary": { - "description": "验证摘要", - "type": "string" - }, - "url": { - "type": "string" - }, - "validationResults": { - "description": "验证结果", - "properties": { - "allPassed": { - "type": "boolean" - }, - "lengthViolations": { - "type": "number" - }, - "patternViolations": { - "type": "number" - }, - "requiredFieldsMissing": { - "type": "number" - }, - "totalFields": { - "type": "number" - } - }, - "type": "object" - } - }, - "type": "object" -}New value: +null
- Changed
browser_overlay_detect1 field changed- changed
Output schema / (root)Previous value: -{ - "properties": { - "hasBlockingOverlay": { - "type": "boolean" - }, - "nextSteps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "overlays": { - "items": { - "properties": { - "className": { - "type": "string" - }, - "coveragePercent": { - "type": "number" - }, - "id": { - "type": "string" - }, - "opacity": { - "type": "number" - }, - "overlayType": { - "type": "string" - }, - "position": { - "type": "string" - }, - "rect": { - "type": "object" - }, - "tagName": { - "type": "string" - }, - "text": { - "type": "string" - }, - "zIndex": { - "type": "number" - } - }, - "type": "object" - }, - "type": "array" - }, - "paidUpgradeHint": { - "type": "string" - }, - "status": { - "enum": [ - "success", - "warning" - ], - "type": "string" - }, - "suggestions": { - "items": { - "type": "object" - }, - "type": "array" - }, - "totalCoveragePercent": { - "type": "number" - }, - "totalOverlays": { - "type": "number" - }, - "typeCounts": { - "type": "object" - }, - "viewportInfo": { - "type": "object" - } - }, - "type": "object" -}New value: +null
- Changed
browser_overlay_dismiss1 field changed- changed
Output schema / (root)Previous value: -{ - "properties": { - "dismissResults": { - "items": { - "type": "object" - }, - "type": "array" - }, - "dismissedCount": { - "type": "number" - }, - "hasBlockingOverlay": { - "type": "boolean" - }, - "nextSteps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "paidUpgradeHint": { - "type": "string" - }, - "remainingOverlays": { - "type": "number" - }, - "status": { - "enum": [ - "success", - "partial", - "warning" - ], - "type": "string" - }, - "success": { - "type": "boolean" - }, - "suggestions": { - "items": { - "type": "object" - }, - "type": "array" - } - }, - "type": "object" -}New value: +null
- Changed
browser_performance_trace1 field changed- changed
Output schema / (root)Previous value: -{ - "properties": { - "duration": { - "type": "number" - }, - "entries": { - "description": "所有性能条目", - "type": "array" - }, - "grade": { - "description": "性能等级", - "enum": [ - "A", - "B", - "C", - "D", - "F" - ], - "type": "string" - }, - "har": { - "description": "HAR 格式数据(如果 enableHar=true)", - "type": "object" - }, - "metrics": { - "properties": { - "cumulativeLayoutShift": { - "description": "累积布局偏移分数", - "type": "number" - }, - "domContentLoaded": { - "description": "DOM 内容加载完成时间 (ms)", - "type": "number" - }, - "firstContentfulPaint": { - "description": "首次内容绘制时间 (ms)", - "type": "number" - }, - "firstInputDelay": { - "description": "首次输入延迟 (ms)", - "type": "number" - }, - "firstPaint": { - "description": "首次绘制时间 (ms)", - "type": "number" - }, - "largestContentfulPaint": { - "description": "最大内容绘制时间 (ms)", - "type": "number" - }, - "load": { - "description": "页面加载时间 (ms)", - "type": "number" - }, - "speedIndex": { - "description": "速度指数", - "type": "number" - }, - "totalBlockingTime": { - "description": "总阻塞时间 (ms)", - "type": "number" - } - }, - "type": "object" - }, - "recommendations": { - "description": "优化建议", - "items": { - "type": "string" - }, - "type": "array" - }, - "resourceCount": { - "description": "资源数量", - "type": "number" - }, - "resourceTypes": { - "description": "按类型统计的资源数量", - "type": "object" - }, - "screenshots": { - "description": "追踪期间的截图路径(如果 enableScreenshots=true)", - "type": "array" - }, - "slowRequests": { - "description": "慢请求(>1s)", - "items": { - "properties": { - "duration": { - "type": "number" - }, - "size": { - "type": "number" - }, - "type": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "success": { - "type": "boolean" - }, - "url": { - "type": "string" - } - }, - "type": "object" -}New value: +null
- Changed
browser_smoke_test1 field changed- changed
Output schema / (root)Previous value: -{ - "properties": { - "details": { - "type": "object" - }, - "nextSteps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "paidUpgradeHint": { - "type": "string" - }, - "passed": { - "type": "boolean" - }, - "status": { - "enum": [ - "success", - "warning", - "error" - ], - "type": "string" - }, - "suggestions": { - "items": { - "type": "object" - }, - "type": "array" - }, - "summary": { - "properties": { - "accessibilityIssues": { - "type": "number" - }, - "consoleWarnings": { - "type": "number" - }, - "elementCount": { - "type": "number" - }, - "httpErrors": { - "type": "number" - }, - "jsErrors": { - "type": "number" - }, - "pageLoad": { - "type": "string" - } - }, - "type": "object" - }, - "totalTime": { - "type": "number" - } - }, - "type": "object" -}New value: +null
- Changed
browser_trace_start1 field changed- changed
Output schema / (root)Previous value: -{ - "properties": { - "message": { - "type": "string" - }, - "ok": { - "type": "boolean" - }, - "startedAt": { - "type": "string" - }, - "traceId": { - "type": "string" - } - }, - "type": "object" -}New value: +null
- Changed
browser_trace_stop1 field changed- changed
Output schema / (root)Previous value: -{ - "properties": { - "logs": { - "type": "array" - }, - "message": { - "type": "string" - }, - "ok": { - "type": "boolean" - }, - "stoppedAt": { - "type": "string" - }, - "traceId": { - "type": "string" - } - }, - "type": "object" -}New value: +null
- Added
business_loop_validate - Added
bypass_login - Added
correlate_triple_check - Changed
css_var_check1 field changed- changed
Output schema / (root)Previous value: -{ - "properties": { - "definitions": { - "description": "所有变量定义列表", - "items": { - "properties": { - "line": { - "type": "number" - }, - "name": { - "type": "string" - }, - "selector": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "entries": { - "description": "检测到的问题条目列表", - "items": { - "properties": { - "column": { - "description": "列号", - "type": "number" - }, - "line": { - "description": "行号", - "type": "number" - }, - "message": { - "description": "问题描述", - "type": "string" - }, - "selector": { - "description": "所在选择器", - "type": "string" - }, - "severity": { - "description": "严重级别", - "type": "string" - }, - "suggestedFix": { - "description": "修复建议", - "properties": { - "insertAfter": { - "description": "建议插入在该变量定义之后,可为 null(表示插入到文件末尾)", - "type": "string" - }, - "value": { - "description": "建议的定义值,如 #176b87", - "type": "string" - } - }, - "type": "object" - }, - "usedIn": { - "description": "在哪个属性或变量中被引用", - "type": "string" - }, - "variable": { - "description": "缺失的 CSS 变量名,如 --primary", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "file": { - "description": "分析的 CSS 来源", - "type": "string" - }, - "missingVarOverview": { - "description": "缺失变量总览(去重)", - "items": { - "properties": { - "count": { - "description": "出现的次数", - "type": "number" - }, - "suggestedValue": { - "description": "建议的默认值", - "type": "string" - }, - "variable": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "summary": { - "properties": { - "circularReferences": { - "description": "循环引用数", - "type": "number" - }, - "missingVariables": { - "description": "缺失的变量数", - "type": "number" - }, - "totalDefinitions": { - "description": "定义的变量总数", - "type": "number" - }, - "totalReferences": { - "description": "引用变量总数", - "type": "number" - } - }, - "type": "object" - } - }, - "type": "object" -}New value: +null
- Added
dual_chain_explore - Added
exploration_quick - Added
memory_recall - Added
security_csp_analyze - Added
security_headers_check - Added
security_owasp_top10 - Added
security_sql_injection_scan - Added
security_xss_scan - Changed
validation_element19 fields changed- added
Input schema / properties / clearErrorsAdded value: +{ + "default": true, + "description": "是否在验证前清空历史错误日志,默认 true", + "type": "boolean" +} - added
Input schema / properties / countEqualsAdded value: +{ + "description": "断言匹配选择器的元素数量", + "type": "number" +} - removed
Input schema / properties / elementSelectorRemoved value: -{ - "description": "元素选择器", - "type": "string" -} - added
Input schema / properties / enabledAdded value: +{ + "description": "断言元素是否可用(非 disabled 且非 readonly)", + "type": "boolean" +} - added
Input schema / properties / evidenceAdded value: +{ + "default": true, + "description": "是否采集证据(截图+快照),默认 true", + "type": "boolean" +} - added
Input schema / properties / existsAdded value: +{ + "description": "断言元素是否存在", + "type": "boolean" +} - removed
Input schema / properties / expectedTextRemoved value: -{ - "description": "预期文本", - "type": "string" -} - added
Input schema / properties / hasAttributeAdded value: +{ + "description": "断言元素具有该属性名", + "type": "string" +} - added
Input schema / properties / nameAdded value: +{ + "description": "本次验证的名称(用于证据标记)", + "type": "string" +} - added
Input schema / properties / noErrorsAdded value: +{ + "default": true, + "description": "是否同时检查本轮无控制台/页面/网络错误,默认 true", + "type": "boolean" +} - added
Input schema / properties / screenshotAdded value: +{ + "description": "是否在证据中包含截图(默认在断言失败时自动截图)", + "type": "boolean" +} - added
Input schema / properties / selectorAdded value: +{ + "description": "元素CSS选择器(必填)", + "type": "string" +} - added
Input schema / properties / snapshotAdded value: +{ + "description": "是否在证据中包含DOM快照", + "type": "boolean" +} - removed
Input schema / properties / targetUrlRemoved value: -{ - "description": "目标页面URL", - "type": "string" -} - added
Input schema / properties / textContainsAdded value: +{ + "description": "断言元素文本包含该内容", + "type": "string" +} - added
Input schema / properties / urlAdded value: +{ + "description": "目标页面URL(可选,若提供则会先导航到该页面)", + "type": "string" +} - added
Input schema / properties / valueEqualsAdded value: +{ + "description": "断言表单元素的值等于该内容", + "type": "string" +} - added
Input schema / properties / visibleAdded value: +{ + "description": "断言元素是否可见", + "type": "boolean" +} - changed
Input schema / requiredPrevious value: -[ - "targetUrl", - "elementSelector" -]New value: +[ + "selector" +]
- Changed
validation_matrix1 field changed- changed
Output schema / (root)Previous value: -{ - "properties": { - "artifacts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "dimensions": { - "properties": { - "a11y": { - "description": "无障碍维度评分", - "type": "object" - }, - "functional": { - "description": "功能维度评分", - "type": "object" - }, - "performance": { - "description": "性能维度评分", - "type": "object" - }, - "visual": { - "description": "视觉维度评分", - "type": "object" - } - }, - "type": "object" - }, - "grade": { - "description": "等级 A/B/C/D/F", - "type": "string" - }, - "name": { - "type": "string" - }, - "overallScore": { - "description": "综合评分 0-100", - "type": "number" - }, - "recommendations": { - "items": { - "type": "string" - }, - "type": "array" - }, - "roleMatrix": { - "description": "角色×功能矩阵结果", - "type": "array" - }, - "success": { - "type": "boolean" - }, - "timestamp": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": "object" -}New value: +null
52 tool updates
v1.2.1- Removed
ai_debug_investigate - Removed
auto_fix_pipeline - Removed
benchmark_run - Added
browser_anti_bot_detect - Added
browser_aria_click - Added
browser_aria_snapshot - Added
browser_aria_type - Added
browser_chain - Added
browser_counterfactual_analyze - Removed
browser_deep_interact - Added
browser_emulate_device - Changed
browser_errors6 fields changed- changed
Input schema / properties / currentOnly / descriptionPrevious value: -"是否只返回当前 checkpoint 之后的错误,默认 true"New value: +"是否只返回当前checkpoint之后的错误,默认true" - changed
Input schema / properties / includeWarnings / descriptionPrevious value: -"是否包含 warning/warn 日志,默认 false"New value: +"是否包含warning/warn日志,默认false" - changed
Input schema / properties / limit / descriptionPrevious value: -"MCP 服务错误日志最多返回条数,默认 50"New value: +"MCP服务错误日志最多返回条数,默认50" - changed
Input schema / properties / method / descriptionPrevious value: -"只返回指定 HTTP 方法的网络错误,如 GET/POST"New value: +"只返回指定HTTP方法的网络错误" - changed
Input schema / properties / since / descriptionPrevious value: -"ISO 时间戳,只返回该时间之后的错误"New value: +"ISO时间戳,只返回该时间之后的错误" - changed
Input schema / properties / urlContains / descriptionPrevious value: -"只返回 URL 包含该关键字的网络错误"New value: +"只返回URL包含该关键字的网络错误"
- Removed
browser_flow - Added
browser_form_fill - Added
browser_form_validate - Added
browser_full_audit - Changed
browser_full_regression2 fields changed- changed
Input schema / properties / url / defaultPrevious value: -"http://192.168.8.4:5173/app.html"New value: +"http://localhost:5173" - changed
Input schema / properties / url / descriptionPrevious value: -"目标页面 URL(默认: http://192.168.8.4:5173/app.html)"New value: +"目标页面 URL(默认: http://localhost:5173)"
- Added
browser_lighthouse_audit - Added
browser_matrix_test - Added
browser_memory_check - Changed
browser_open1 field changed- added
Input schema / properties / browserTypeAdded value: +{ + "default": "chromium", + "description": "浏览器引擎类型,默认 chromium", + "enum": [ + "chromium", + "firefox", + "webkit" + ], + "type": "string" +}
- Added
browser_overlay_detect - Added
browser_overlay_dismiss - Added
browser_performance_trace - Added
browser_responsive_test - Added
browser_smart_fill - Added
browser_smoke_test - Added
browser_trace_chain - Changed
browser_trace_start7 fields changed- removed
Input schema / properties / headlessRemoved value: -{ - "description": "无浏览器时是否以 headless 模式打开,默认 false", - "type": "boolean" -} - removed
Input schema / properties / nameRemoved value: -{ - "description": "Trace 名称,不含扩展名", - "type": "string" -} - removed
Input schema / properties / screenshotsRemoved value: -{ - "description": "是否记录每步截图,默认 true", - "type": "boolean" -} - removed
Input schema / properties / snapshotsRemoved value: -{ - "description": "是否记录 DOM 快照,默认 true", - "type": "boolean" -} - removed
Input schema / properties / sourcesRemoved value: -{ - "description": "是否记录源码,默认 false", - "type": "boolean" -} - added
Input schema / requiredAdded value: +[] - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "message": { + "type": "string" + }, + "ok": { + "type": "boolean" + }, + "startedAt": { + "type": "string" + }, + "traceId": { + "type": "string" + } + }, + "type": "object" +}
- Changed
browser_trace_stop3 fields changed- removed
Input schema / properties / nameRemoved value: -{ - "description": "保存的 Trace 文件名,不含扩展名;默认使用 start 时的名称", - "type": "string" -} - added
Input schema / requiredAdded value: +[] - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "logs": { + "type": "array" + }, + "message": { + "type": "string" + }, + "ok": { + "type": "boolean" + }, + "stoppedAt": { + "type": "string" + }, + "traceId": { + "type": "string" + } + }, + "type": "object" +}
- Added
browser_visual_check - Added
browser_visual_component - Added
browser_visual_snapshot - Added
chain_list_templates - Added
chain_score_report - Added
chain_spec_run - Added
contract_baseline - Added
contract_guard - Added
evidence_index - Added
evidence_pack - Removed
fix_verify - Removed
skill_mcp_sync - Added
state_diff_assert - Added
trace_correlate - Added
trace_correlation_check - Added
validation_chain - Added
validation_compliance - Added
validation_data_integrity - Changed
validation_matrix8 fields changed- added
Input schema / properties / a11yStandardAdded value: +{ + "default": "wcag-aa", + "description": "a11y 标准级别:wcag-a / wcag-aa / wcag-aaa", + "type": "string" +} - added
Input schema / properties / dimensionsAdded value: +{ + "default": [ + "functional", + "visual", + "performance", + "a11y" + ], + "description": "验证维度列表,可选:functional、visual、performance、a11y", + "items": { + "type": "string" + }, + "type": "array" +} - added
Input schema / properties / outputFormatAdded value: +{ + "default": "json", + "description": "输出格式:json / markdown", + "type": "string" +} - added
Input schema / properties / performanceThresholdAdded value: +{ + "description": "性能阈值(LCP ms),默认 2500", + "type": "number" +} - added
Input schema / properties / urlAdded value: +{ + "description": "目标页面 URL", + "type": "string" +} - added
Input schema / properties / visualBaselineAdded value: +{ + "description": "视觉基线截图路径(可选)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "roles", - "features" -]New value: +[ + "url", + "roles", + "features" +] - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "artifacts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "dimensions": { + "properties": { + "a11y": { + "description": "无障碍维度评分", + "type": "object" + }, + "functional": { + "description": "功能维度评分", + "type": "object" + }, + "performance": { + "description": "性能维度评分", + "type": "object" + }, + "visual": { + "description": "视觉维度评分", + "type": "object" + } + }, + "type": "object" + }, + "grade": { + "description": "等级 A/B/C/D/F", + "type": "string" + }, + "name": { + "type": "string" + }, + "overallScore": { + "description": "综合评分 0-100", + "type": "number" + }, + "recommendations": { + "items": { + "type": "string" + }, + "type": "array" + }, + "roleMatrix": { + "description": "角色×功能矩阵结果", + "type": "array" + }, + "success": { + "type": "boolean" + }, + "timestamp": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" +}
- Added
validation_permission - Changed
validation_report1 field changed- added
Input schema / properties / strictSchemaAdded value: +{ + "default": true, + "description": "是否严格遵循六段式输出结构", + "type": "boolean" +}
- Removed
validation_suite_run
83 tool updates
v1.2.0- First observed
ai_debug_investigate - First observed
auto_fix_pipeline - First observed
benchmark_run - First observed
browser_a11y_check - First observed
browser_artifacts - First observed
browser_artifacts_clear - First observed
browser_assert - First observed
browser_batch - First observed
browser_click - First observed
browser_click_audit - First observed
browser_console - First observed
browser_cookies - First observed
browser_debug_report - First observed
browser_deep_interact - First observed
browser_diagnose - First observed
browser_dom - First observed
browser_element_status - First observed
browser_errors - First observed
browser_errors_aggregate - First observed
browser_errors_clear - First observed
browser_eval - First observed
browser_events - First observed
browser_events_clear - First observed
browser_find_element - First observed
browser_find_page - First observed
browser_flow - First observed
browser_full_regression - First observed
browser_har_export - First observed
browser_highlight - First observed
browser_hover - First observed
browser_instrument - First observed
browser_links - First observed
browser_locator_suggest - First observed
browser_locator_validate - First observed
browser_navigate - First observed
browser_network - First observed
browser_network_detail - First observed
browser_open - First observed
browser_performance_check - First observed
browser_press_key - First observed
browser_quick_fix - First observed
browser_screenshot - First observed
browser_screenshot_element - First observed
browser_scroll - First observed
browser_select - First observed
browser_session_close - First observed
browser_session_create - First observed
browser_session_switch - First observed
browser_sessions - First observed
browser_snapshot - First observed
browser_step - First observed
browser_storage - First observed
browser_trace_start - First observed
browser_trace_stop - First observed
browser_traverse_menu - First observed
browser_type - First observed
browser_verify_fix - First observed
browser_visual_baseline - First observed
browser_visual_compare - First observed
browser_visual_report - First observed
browser_wait - First observed
css_var_check - First observed
debug_investigate - First observed
error_fix_suggestion - First observed
error_summary_md - First observed
fix_verify - First observed
mcp_health_check - First observed
mcp_self_test - First observed
project_audit - First observed
screenshot_diff - First observed
skill_mcp_sync - First observed
skill_mcp_validate - First observed
validation_check - First observed
validation_decision - First observed
validation_element - First observed
validation_flow - First observed
validation_matrix - First observed
validation_quick_run - First observed
validation_report - First observed
validation_report_export - First observed
validation_run - First observed
validation_start - First observed
validation_suite_run
TDQS
Many tools have overlapping purposes, e.g., multiple validation and browser operation tools with similar names. The use of sub-modes (mode parameter) helps but still causes ambiguity, as agents must choose between `browser_flow`, `validation_flow`, `chain_spec_run`, etc.
Most tools follow a `browser_xxx` or `validation_xxx` pattern, with some outliers like `contract`, `screenshot_diff`, and `api_probe`. Overall, naming is largely consistent with a predictable verb_noun structure, though a few tools deviate.
With 142 tools, the server is extremely bloated. Many tools are merged versions with sub-modes, but the sheer number far exceeds what is reasonable for a single MCP server. This overwhelms agents and suggests poor modularization.
The tool set covers browser testing, visual regression, security scanning, link validation, and internal diagnostics. However, there are numerous redundant tools and gaps in clear separation of concerns. Some areas (e.g., skill management) seem out of scope for a general-purpose testing server.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server for Mint — AI-powered QA that runs your app in a real browser on every PR.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
An MCP server that automatically collects feedback on your MCP server.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn AI-powered MCP server that automates web testing workflows by enabling recording, execution, and discovery of tests through natural language prompts.67Apache 2.0
- AlicenseNot gradedqualityCmaintenanceAn MCP server that gives AI agents real browser capabilities including screenshotting, action execution, data extraction, and multi-persona auditing for frontend validation.746MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides AI coding assistants with comprehensive browser automation and debugging capabilities using Playwright, including visual inspection, DOM debugging, and execution monitoring.5,218MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server for verifying AI-generated code quality, security, and performance, addressing trust gaps in AI coding assistants.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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

