Skip to main content
Glama

JS Reverse MCP

English README

一个把前端 JavaScript 逆向流程标准化的 MCP 服务。
目标不是只做页面调试,而是把页面观察、运行时采样、本地复现、补环境和证据沉淀串成一套可复用工作流。

核心方法论

本项目默认遵循以下方法论:

  • Observe-first

  • Hook-preferred

  • Breakpoint-last

  • Rebuild-oriented

  • Evidence-first

  • Pure-extraction-after-pass

这意味着:

  1. 先在浏览器里确认请求、脚本、函数和依赖来源

  2. 再做最小化 Hook 采样

  3. 再导出 local rebuild

  4. 再在 Node 里逐项补环境

  5. 每一步都沉淀为 task artifact,而不是只留在对话里

Related MCP server: js-reverse-mcp

已沉淀链路

以下参数链路已有公开索引,可作为仓库内复用入口:

说明:

  • README 首页只展示脱敏后的参数类型和公开入口

  • 真实 artifacts/tasks/<task-id>/ 默认视为本地私有任务目录

  • Git 默认只提交 artifacts/tasks/_TEMPLATE/

参数蓝图库

公开参数方法已沉淀到 docs/knowledge/parameter-blueprints/,用于替代旧的可运行 case 入口。查看和贡献方式:

node build/src/index.js --list-parameter-workflows
node build/src/index.js --show-parameter-workflow jd-h5st
node build/src/index.js --export-parameter-workflow-template
node build/src/index.js --validate-parameter-workflow docs/knowledge/parameter-blueprints/jd-h5st

贡献规范见 docs/guides/parameter-workflow-contribution.md

支持的能力

页面观察与脚本定位

先回答“页面里有哪些脚本、目标代码大概在哪”。

  • list_scripts:列出当前页面已加载的脚本,先建立脚本范围。

  • get_script_source:查看指定脚本源码,适合继续阅读具体实现。

  • find_in_script:在单个脚本里定位字符串、变量名或特征片段。

  • search_in_scripts:在已采集脚本缓存中批量搜索,适合缩小候选脚本范围。

Hook 与运行时采样

先做最小侵入式观测,确认运行时到底调用了什么。

  • create_hook:创建可复用的 hook 定义,用于后续注入页面。

  • inject_hook:把已有 hook 注入当前页面,开始采样目标行为。

  • get_hook_data:读取 hook 采集到的调用记录和摘要结果。

  • hook_function:直接 hook 全局函数或对象方法,记录参数和返回值。

  • trace_function:按源码函数名做调用追踪,适合跟调用链。

断点与调试控制

当 hook 不够时,再进入暂停式调试。

  • set_breakpoint:按脚本 URL 和行号设置断点。

  • set_breakpoint_on_text:按代码文本自动定位并设置断点。

  • resume:继续执行到下一个断点或执行结束。

  • pause:手动暂停当前页面的 JavaScript 执行。

  • step_over / step_into / step_out:单步控制执行路径,分别对应跳过、进入、跳出函数。

请求链路与网络分析

定位目标请求,确认是谁发起、带了什么参数。

  • list_network_requests:列出当前页面的网络请求,先找到目标请求。

  • get_network_request:查看单个请求的详细内容,包括请求头、响应和载荷。

  • get_request_initiator:追溯某个请求是谁触发的,帮助定位调用链。

  • break_on_xhr:在目标请求发出时中断,适合抓参数生成前的现场。

页面状态与运行前检查

补看页面运行状态、控制台输出和本地状态依赖。

  • check_browser_health:检查浏览器连接和当前页是否可控,适合作为起手验证。

  • diagnose_environment:输出 Node、浏览器、路径和依赖状态,适合第一次启动建议和故障排查。

  • recommend_next_step:根据当前证据推荐下一步动作。

  • explain_reverse_stage:解释当前逆向阶段、输入要求和退出条件。

  • list_console_messages:查看当前页面 console 输出,适合回看 hook 和 trace 日志。

  • get_storage:读取 cookie、localStoragesessionStorage,确认状态依赖。

  • evaluate_script:在当前选中 frame 内执行一段函数,做小范围运行时验证。

  • search_in_sources:在所有已加载源码中搜索关键字,快速缩小可疑代码范围。

WebSocket 观察与消息分组

处理长连接、直播流或二进制帧时,用这组工具先分流再细看。

  • list_websocket_connections:列出当前页面的 WebSocket 连接,先拿到目标 wsid

  • analyze_websocket_messages:按帧特征做消息分组,适合先识别不同消息类型。

  • get_websocket_messages:查看某个连接或某个分组下的消息摘要和内容。

本地复现与补环境

把页面证据带回本地,逐步补齐 Node 运行环境。

  • export_rebuild_bundle:导出本地复现工程所需的入口、补环境和证据材料。

  • diff_env_requirements:根据报错和观测能力比对当前缺失的环境能力。

  • record_reverse_evidence:把关键观察结果写入 task artifact,避免证据只留在对话里。

页面自动化

做最小必要的页面操作,复现触发条件并辅助取证。

  • navigate_page:跳转、回退、刷新当前页面。

  • query_dom:查询页面元素,确认选择器和节点状态。

  • click_element:按选择器触发点击,复现页面动作。

  • hover_element / select_option:处理菜单悬停和原生下拉框选择。

  • type_text:向输入框写入文本,驱动表单交互。

  • press_key / upload_file:补齐键盘提交和文件上传场景。

  • scroll_page / wait_for_network_idle:稳定触发懒加载和请求结束后的取证。

  • set_viewport / emulate_device:复现移动端或特定视口下的签名链路。

  • get_all_links:快速盘点页面链接,辅助发现跳转入口。

  • take_screenshot:截取页面当前状态,保留可视化证据。

深度分析

在拿到代码和运行时证据后,继续做结构理解与去混淆。

  • collect_code:采集页面代码,支持按优先级或范围控制采样量。

  • understand_code:结合静态分析和 AI 做代码结构、业务逻辑与风险理解。

  • deobfuscate_code:对混淆代码做清理、还原和辅助分析。

  • risk_panel:聚合代码分析、加密检测和 hook 信号,输出综合风险视图。

会话与登录态复用

  • save_session_state:保存当前页面的 cookie 和存储状态到内存快照。

  • restore_session_state:把快照恢复到当前页面,复用登录态和现场。

  • dump_session_state:把会话快照导出为 JSON 文件,便于持久化。

  • load_session_state:从已有 JSON 或字符串重新载入会话快照。

逆向任务编排与 Agent 消费

  • start_reverse_task / create_reverse_task_from_request:从目标、请求或页面证据创建 task artifact,供后续 summarize / progress / orchestration 复用。

  • manage_reverse_task:默认入口就是 manage_reverse_task,支持 get / summarize 以及 archive / restore / search / tag / prune / compare

  • orchestrate_reverse_task:按阶段推进观察、采样、重建、验证和提纯,输出 recommendedStrategyagentGuidancefallbackPlanskipSteps

  • run_reverse_agent:提供面向 agent 的一站式任务运行入口。

  • query_reverse_task:读取 compact 摘要、下一步建议、outputModeartifactspatchSuggestionsevidenceAggregates 和可续跑 payload。

  • get_rebuild_health_report:汇总 local rebuild 健康状态,辅助 env-fix。

  • export_rebuild_bundle 支持 portable bundle / replay bundle 导出,便于把 env-pass 结果交给后续纯算法提取。

CLI cheatsheet:

node build/src/index.js --doctor
node build/src/index.js --manageReverseTask list
node build/src/index.js --manageReverseTask get --taskId <taskId>
node build/src/index.js --manageReverseTask summarize --taskId <taskId>
node build/src/index.js --manageReverseTask progress --taskId <taskId>
node build/src/index.js --manageReverseTask search --query sign --tag jd
node build/src/index.js --manageReverseTask compare --taskId <taskId> --otherTaskId <otherTaskId>
node build/src/index.js --orchestrateReverseTask <taskId>
node build/src/index.js --orchestrateReverseTask <taskId> --execute --resume
node build/src/index.js --orchestrateReverseTask <taskId> --strategy env-fix
node build/src/index.js --orchestrateReverseTask <taskId> --executionOverrides '{"resume":true}'
node build/src/index.js --runReverseAgent <taskId>

更多细节见:

完整参数说明见 docs/reference/tool-reference.md。 按逆向流程选工具可继续看 docs/reference/reverse-workflow.md

外部 AI 怎么配置

这个项目支持把外部 LLM 作为“分析增强层”接进来,当前支持:

  • openai

  • anthropic

  • gemini

配置入口本质上是进程环境变量。
通过 MCP 客户端启动时,优先在 MCP server 配置里的 env 传入;.env 只适合你直接本地运行 node build/src/index.jsnpm run start 的场景。

推荐方式示例:

[mcp_servers.js-reverse]
command = "node"
args = ["/ABSOLUTE/PATH/JSReverser-MCP/build/src/index.js"]

[mcp_servers.js-reverse.env]
DEFAULT_LLM_PROVIDER = "anthropic"
ANTHROPIC_API_KEY = "your_key"
ANTHROPIC_MODEL = "claude-3-5-sonnet-20241022"

如果你是直接在项目目录本地启动,也可以使用 .env

# 三选一:openai / anthropic / gemini
DEFAULT_LLM_PROVIDER=gemini

# OpenAI
OPENAI_API_KEY=your_key
OPENAI_MODEL=gpt-4o
OPENAI_BASE_URL=

# Anthropic / Claude
ANTHROPIC_API_KEY=your_key
ANTHROPIC_MODEL=claude-3-5-sonnet-20241022
ANTHROPIC_BASE_URL=

# Gemini
GEMINI_API_KEY=your_key
GEMINI_MODEL=gemini-2.0-flash-exp

# 如果不用 API,也可以走本地 CLI
GEMINI_CLI_PATH=gemini-cli

说明:

  • DEFAULT_LLM_PROVIDER 决定默认走哪个 provider

  • gemini 支持两种模式:有 GEMINI_API_KEY 时走 API;没有时会尝试走 GEMINI_CLI_PATH

  • openaianthropic 需要对应 API key

  • 如果你配了多个 provider,实际使用哪个,仍由 DEFAULT_LLM_PROVIDER 决定

哪些功能依赖外部 AI

强依赖外部 AI 的功能:

  • understand_code

    • 内部会调用 LLM 做代码语义理解、业务逻辑提取、安全风险补充

可选启用外部 AI 的功能:

  • detect_crypto

    • 只有传 useAI=true 时才会额外调用 LLM;不传时主要依赖本地规则和 AST 分析

  • analyze_target

    • useAI=true 时会在一站式分析里启用更深的 AI 辅助分析

  • risk_panel

    • 参数里有 useAI,但当前实现主体仍以本地分析结果聚合为主

有 AI 时效果更好,但不配也能运行的功能:

  • deobfuscate_code

    • 本地规则、AST 优化、专项反混淆管线始终可用;配置外部 AI 后,复杂语义清理、VM 结构理解、部分编码型混淆降级分析会更完整

完全不依赖外部 AI 的功能:

  • 浏览器接管

  • Hook / 断点 / Console / Storage / Network / WebSocket

  • collect_code

  • export_rebuild_bundle

  • diff_env_requirements

  • record_reverse_evidence

如果没配外部 AI,典型影响是:

  • understand_code 会先返回本地静态分析结果,并在 aiRuntime 里提示 provider / CLI fallback 状态

  • detect_crypto(useAI=true) 会退回本地分析或忽略 AI 增强

  • deobfuscate_code 仍可跑,但某些高难度混淆的解释和清理质量会下降

标准任务结构

任务目录统一使用:

  • artifacts/tasks/_TEMPLATE/

  • artifacts/tasks/<task-id>/

推荐目录结构:

  • task.json

  • runtime-evidence.jsonl

  • network.jsonl

  • scripts.jsonl

  • env/env.js

  • env/polyfills.js

  • env/entry.js

  • env/capture.json

  • run/

  • report.md

职责边界:

  • env.js

    • 基础宿主对象和最小 shim

  • polyfills.js

    • 代理诊断层、watchsafeFunctionmakeFunction

  • entry.js

    • 运行入口、目标脚本加载、first divergence 输出

标准执行流程

推荐流程:

  1. 页面观察

  2. 运行时采样

  3. 证据入库

  4. local rebuild

  5. 逐项补环境

  6. first divergence 定位

  7. env-pass 后再进入纯算法 / 风控逻辑提纯

默认原则:

  • 不要跳过页面证据直接猜环境

  • 不要一次性全量模拟浏览器

  • 不要把真实任务目录直接提交 Git

参数沉淀与安全边界

参数链路沉淀遵循以下规则:

  1. 先读本地 task artifact

  • artifacts/tasks/<task-id>/

  1. 本地没有时再读抽象 case

  • scripts/cases/*

  1. 仍不足时按模板新建

  • docs/reference/parameter-methodology-template.md

  • docs/reference/parameter-site-mapping-template.md

安全边界:

  • case 只保留抽象方法和流程

  • 真实任务目录默认本地保留

  • 敏感值必须脱敏后才允许共享

  • Git 默认只提交 _TEMPLATE

详见:

第一次启动建议

先运行 npm cinpm run build,再用 node build/src/index.js --doctor 检查本地 Node、浏览器连接、路径和外部 AI 配置。

工具暴露模式

默认启动使用 --toolProfile kernel。 该模式只暴露 35 个自动化优先工具,用来减少 MCP tool list 占用的 token,同时保留任务编排、请求追踪、代码定位、诊断和产物导出入口。 这不是缺工具,而是默认把低频手工调试工具隐藏起来。

需要更宽的常用工作流工具时,使用 --toolProfile compactcompact 会暴露 63 个高频工具,适合需要手动页面操作、Hook、截图和环境微调的场景。

需要全量工具时,使用 --toolProfile fullfull 会暴露全部 110 个工具,包括暂停、单步、断点、WebSocket 细节和 DOM 细调工具。 深度人工调试、精确断点排查、WebSocket 消息深挖时再切换到 full

node build/src/index.js --toolProfile full

成功响应默认使用 --traceOutput errors,只在错误响应中携带 traceId。 需要每次成功响应也携带 traceId 时,使用 --traceOutput all

3 分钟快速开始

1) 安装依赖并构建

npm ci
npm run build

构建入口:

build/src/index.js

2) 最简单启动方式

npm run start

3) 配置客户端

最小配置示例:

Claude Code

claude mcp add js-reverse node /ABSOLUTE/PATH/JSReverser-MCP/build/src/index.js

Cursor

  • Command: node

  • Args: [/ABSOLUTE/PATH/JSReverser-MCP/build/src/index.js]

Codex

[mcp_servers.js-reverse]
command = "node"
args = ["/ABSOLUTE/PATH/JSReverser-MCP/build/src/index.js"]

如果你需要接管已经打开的浏览器,请继续看:

完整可直接复制的 MCP 配置实例,包括:

  • mcpServers JSON 结构示例

  • Codex config.toml 示例

  • --browserUrl 接管浏览器示例

  • Gemini / Claude / OpenAI 的 API env 示例

都放在 docs/guides/client-configuration.md

文档入口

逆向相关任务开场先读:docs/reference/reverse-bootstrap.md。 该入口会继续要求模型读取 docs/reference/case-safety-policy.mddocs/reference/reverse-workflow.md。 若已进入 env-pass 后的提纯阶段,再读 docs/reference/pure-extraction.md

Guides

Reference

Templates And Supporting Docs

开发与测试

npm run build
npm run test:unit
npm run test:property
npm run coverage:full

故障排查

更多问题排查请看:

参考项目

本项目在设计和实现过程中参考了以下项目,具体协议声明(如 MIT 等)以对应上游仓库为准:

License

Apache-2.0

Available Tools

35 tools
analyze_source_mapsB
Read-only

Parse a source map and summarize original sources, embedded content coverage, and likely reverse targets.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceMapUrlNo
sourceMapContentYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With readOnlyHint=true, the safety profile is already disclosed. The description adds context about what the tool summarizes (original sources, embedded content coverage, likely reverse targets), which goes beyond the annotation. However, it does not disclose behavior around edge cases (e.g., invalid source maps), the format of the summary, or any limitations. Given the minimal annotation, the description carries some burden but does not fully meet it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently conveys the tool's purpose without any redundant wording. Every part contributes meaning, and it is appropriately sized for a read-only analysis tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has moderate complexity and no output schema, so the description should explain return values and when to use it. It mentions three output categories (original sources, embedded content coverage, likely reverse targets) but lacks specifics about the output format or what 'likely reverse targets' means. It also omits usage context relative to siblings. This makes it minimally adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It mentions parsing a source map but does not explain the roles of sourceMapUrl and sourceMapContent, nor how they are used together. The parameter names are self-explanatory, but the description provides no additional semantics, leaving the agent to guess about required input format or interaction.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with specific verbs and a resource: 'Parse a source map and summarize original sources, embedded content coverage, and likely reverse targets.' It distinguishes itself from sibling tools (e.g., search_in_scripts, search_in_sources) by focusing on source map analysis, which none of the siblings explicitly cover.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It does not mention any exclusions, prerequisites, or scenarios where this tool is preferred over siblings. The agent is left to infer usage from the purpose alone, which is not sufficient for selecting among many related tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

auto_rebuild_fix_loopC

Create a resumable env-fix loop plan from runtime errors and observed capabilities.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdNo
runtimeErrorNo
maxIterationsNo
observedCapabilitiesNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The only annotation is readOnlyHint=false, and the description's 'create' aligns with that. However, no additional behavioral context is provided—there is no mention of side effects, whether the plan is persisted, what 'resumable' entails, or if it overwrites existing plans. The description adds the word 'resumable' but fails to explain implications.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence with no redundant words. It front-loads the action and includes the key input sources. Perfect conciseness—it says exactly what it does without padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 4 parameters, a nested object, and no output schema, the description is inadequate. It does not explain what the generated plan looks like, how to interpret results, or what 'resumable' means in practice. Given the lack of schema documentation and output schema, this leaves the agent with significant uncertainty about usage and outcomes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must compensate. It loosely maps to 'runtimeError' and 'observedCapabilities' via the phrase 'runtime errors and observed capabilities', but completely ignores 'taskId' and 'maxIterations'. No parameter format, constraints, or purpose for the omitted parameters is given.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it creates a resumable env-fix loop plan from runtime errors and observed capabilities. The verb 'create' and the resource 'resumable env-fix loop plan' are specific. However, it does not explicitly distinguish this from sibling tools like 'diagnose_environment' or 'probe_runtime_capabilities', though the notion of a 'loop plan' provides some implicit differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives. It does not mention any context such as 'when you need to automate an iterative fix loop' or exclude cases where other tools are better. The sibling list is not referenced, so an agent receives no direction on selecting this over similar diagnostics tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

collect_codeC
Read-only

Collect JavaScript code from a page with smart modes (summary/priority/incremental/full).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
topNNo
limitNo
patternNo
smartModeNo
returnModeNo
maxFileSizeNo
maxTotalSizeNo
includeInlineNo
includeDynamicNo
includeExternalNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, and the description's 'collect' aligns with a read operation. The description adds the smart modes but doesn't explain their behavioral impact (e.g., what each mode returns or how they differ), so it adds minimal context beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no waste. However, it omits critical details in favor of brevity, so it's not a perfect 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 11 parameters, no output schema, and minimal annotations, the description is grossly incomplete. It doesn't explain the modes' behavior, return format, or parameter usage, leaving an agent with almost no guidance for effective invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%. With 11 parameters, the description only hints at smartMode via the mode list, but doesn't explain any parameter semantics, including topN, pattern, limit, or include flags. The description fails to compensate for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool collects JavaScript code from a page, using a specific verb and resource. It also lists the smart modes, but doesn't explain them or distinguish from sibling search tools beyond the 'collect' verb.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 doesn't mention exclusions or alternatives, so an agent has no context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_reverse_task_from_requestB

Create a reverse task directly from one captured network request.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalNo
taskIdNo
taskSlugNo
requestIdYes
targetPageIdxNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint=false annotation indicates mutation, and the description adds that the task is created from a single captured network request. However, it does not disclose what a reverse task entails, whether it starts automatically, or any side effects. Some context is added beyond the annotation, but it remains thin.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that directly communicates the tool's purpose. There is no wasted text or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having 5 parameters and no output schema, the description provides only a minimal statement of purpose. It lacks critical context about the parameters, expected behavior, or return values. For a tool this complex, the description is insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description should compensate. It does not mention any parameter names or semantics. The phrase 'from one captured network request' hints at requestId implicitly but does not explain goal, taskId, taskSlug, or targetPageIdx. There is no added meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create'), the resource ('a reverse task'), and the specific input source ('directly from one captured network request'). This distinguishes it from sibling tools like start_reverse_task or manage_reverse_task, which imply broader or different workflows.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like start_reverse_task or manage_reverse_task. The description does not mention any prerequisites or context for when this is the right tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

diagnose_environmentB
Read-only

Run static environment diagnostics for startup, AI provider setup, and artifact output paths.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already establishes that this is a safe, non-mutating operation. The description adds the 'static' qualifier and the three scopes, which gives some context beyond the annotation, but it does not disclose what the diagnostics actually check, whether failures are possible, or what kind of output is produced.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that starts with the action verb and packs all relevant scope into a compact list. Every word contributes value with no repetition or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that there is no output schema, the description should explain what the tool returns or what a successful diagnostic entails. It only names the target areas but does not say whether the result is a report, a list of issues, or a simple pass/fail. For a no-parameter tool, this is an adequate but not complete description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema provides complete coverage. The description correctly avoids referencing any parameters, and with 0-parameter tools the baseline is 4 because there is no extra semantic burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool runs static environment diagnostics and specifies three target areas (startup, AI provider setup, artifact output paths). It uses a specific verb and resource, but it does not explicitly differentiate from sibling tools like probe_runtime_capabilities or export_diagnostic_bundle, so it falls just short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, nor does it mention any prerequisites or exclusions. For a tool with many diagnostic-related siblings, this lack of comparative context makes it harder for an agent to choose correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

diff_session_stateA
Read-only

Compare cookies, localStorage, and sessionStorage snapshots before and after a page action.

ParametersJSON Schema
NameRequiredDescriptionDefault
afterYes
beforeYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint: true, so the safe read-only nature is known. The description adds value by naming the specific storage types compared, but it does not disclose the output format, how snapshots are structured, or error conditions. This is similar to the calibration example where the annotation covers safety and the description adds some context but lacks return/pagination details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that immediately conveys the core function. It is front-loaded with the verb and resource list, with no filler or repetition. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has two complex nested object parameters and no output schema, the description is too sparse. It does not explain the expected snapshot format, the structure of the diff result, or any potential edge cases. More guidance is needed for an agent to correctly invoke and interpret the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has no parameter descriptions (0% coverage), but the parameter names 'before' and 'after' are self-explanatory and the description reinforces their meaning. However, the nested object structure (what keys to include for cookies/localStorage/sessionStorage) is not explained, so the description only partially compensates for the schema's lack of details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Compare' and clearly identifies the resources (cookies, localStorage, sessionStorage) and the timing (before/after a page action). This fully distinguishes the tool from siblings like export_har_snapshot or record_page_flow, which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'before and after a page action' provides clear context for when to use this tool. It implies the workflow of capturing snapshots around an action, though it does not explicitly mention alternatives or exclusions. This is more than implied usage and provides a solid situational cue.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

explain_reverse_stageA
Read-only

Explain a reverse-engineering stage with goals, entry criteria, avoid list, and recommended tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
stageYes
includeDocsNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation readOnlyHint=true already covers the safety profile. The description adds the content sections of the explanation, which is useful context. However, it does not disclose behavior beyond that, such as how includeDocs affects the output or any response format details. With annotations covering the main concern, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that lists the tool's output components without waste. It is appropriately brief for a simple read-only tool, though it could have added parameter guidance without becoming bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, sparse annotations, and zero parameter descriptions, the tool remains under-specified. The description outlines the explanation content but fails to clarify the input parameters (especially includeDocs) or what the response looks like, leaving the agent guessing on invocation details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, and the description does not explain either parameter. The term 'stage' is mentioned, giving some hint about the primary parameter, but 'includeDocs' is entirely unexplained. The description does not compensate for the lack of schema descriptions, leaving parameter meaning ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Explain') and resource ('reverse-engineering stage') with detailed content ('goals, entry criteria, avoid list, and recommended tools'). This clearly distinguishes it from siblings like 'recommend_next_step' by focusing on stage explanation rather than next-step suggestions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies clear usage context: use this tool when you need to understand a reverse-engineering stage's details. It does not explicitly mention alternatives or when not to use, but the purpose is unmistakeable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_diagnostic_bundleB
Read-only

Export a compact support bundle with environment, AI runtime, browser, and setup diagnostics.

ParametersJSON Schema
NameRequiredDescriptionDefault
remoteDebuggingUrlNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint: true, so the tool is already understood to be read-only. The description adds no extra behavioral context such as output format, potential side effects, or operational considerations. It does not contradict the annotation, and the annotation lowers the burden, so a mid-range score is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 14 words, front-loaded with the 'Export' action and immediately conveying the key content. Every word is meaningful, and there is no redundancy or unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description should clarify what the tool returns or where the exported bundle is delivered, but it does not. It also fails to explain how the remoteDebuggingUrl parameter factors into the export. The description covers the basic purpose but leaves important context for invocation and result handling unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has a single parameter remoteDebuggingUrl with no description, and the overall schema description coverage is 0%. The tool description does not mention or explain this parameter at all, leaving its purpose and expected format completely opaque. With low coverage, the description was required to compensate but did not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Export' and identifies a distinct resource: a compact support bundle containing environment, AI runtime, browser, and setup diagnostics. This clearly differentiates it from sibling tools like export_har_snapshot and export_rebuild_bundle.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to choose this tool over alternatives such as diagnose_environment or other export tools. It lacks any mention of prerequisites, exclusions, or concrete use cases, leaving the agent to infer applicability from the general nature of the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_har_snapshotB
Read-only

Export selected page network requests into a compact HAR-like snapshot for offline analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlFilterNo
targetPageIdxNo
includePreservedRequestsNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, which the description does not contradict. The description adds that the output is 'compact' and 'HAR-like', but does not explain behavioral details like whether only certain requests are included, if there are size limits, or what 'selected' means operationally. With annotations covering the read-only nature, the extra context is minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that starts with the action and output. It contains no filler and is easily scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 3 parameters, 0% schema description coverage, and no output schema, the description is too sparse. It doesn't explain how to select the page, what 'HAR-like' implies about the return format, or how filtering and preservation options work. This leaves the agent with significant ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate, but it does not mention any parameters. Terms like 'selected page' hint at targetPageIdx, and 'network requests' relates to urlFilter, but there is no explanation of how these parameters interact or what includePreservedRequests does. The description adds no value for parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Export' and the resource 'selected page network requests' with an output format 'compact HAR-like snapshot'. This distinguishes it from sibling tools like network_request, which likely performs live requests, by specifying it's an export for offline analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It doesn't mention prerequisites like selecting a page first (select_page), nor contrasts with similar networking tools such as record_page_flow or network_request. The word 'selected' implies a prior selection step but no explicit context is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_rebuild_bundleB

Export a local Node rebuild bundle from observed reverse-engineering evidence.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalYes
notesNo
taskIdYes
captureNo
envCodeNo
taskSlugYes
entryCodeNo
targetUrlYes
autoGenerateNo
polyfillsCodeNo
targetKeywordsNo
maxEvidenceItemsNo
targetUrlPatternsNo
autoExportPortableNo
targetFunctionNamesNo
targetActionDescriptionNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint: false, implying side effects, but the description adds little beyond that. It does not disclose what the export does (e.g., creates files, overwrites, requires network) or any other 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words, clearly front-loaded with the action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (16 parameters, no output schema, minimal annotations), the description is far too sparse. It does not explain parameter roles, side effects, or when to invoke it, leaving major gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no explanation of the 16 parameters. The phrase 'observed reverse-engineering evidence' vaguely hints at evidence-related inputs, but none of the parameters are elaborated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('export') and specific resource ('local Node rebuild bundle') with the source ('observed reverse-engineering evidence'), distinguishing it from sibling export tools like export_diagnostic_bundle and export_har_snapshot.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives, nor are any prerequisites or exclusions mentioned. The description only states what it does, not when it should be used.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_parameter_reportB
Read-only

Generate a concise parameter-chain report from target, candidates, evidence, and next steps.

ParametersJSON Schema
NameRequiredDescriptionDefault
evidenceNo
nextStepsNo
targetUrlNo
parameterNamesNo
candidateFunctionsNo

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already signals the tool is safe, so the description doesn't need to restate that. It adds that the report is 'concise' and synthesizes from multiple sources, but doesn't disclose further behavioral traits like output format or limitations. With annotations covering safety, a score of 3 is fair.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that front-loads the action and lists inputs without unnecessary words. Every word earns its place, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 5 parameters, no schema descriptions, no output schema, and many sibling tools, the one-sentence description is not enough. It lacks details on output format, parameter relationships, and how this tool differs from reporting tools. An agent would struggle to select and invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It mentions 'target, candidates, evidence, and next steps' which maps to some parameters, but omits parameterNames and fails to explain the structure of candidateFunctions (e.g., score, file) or the expected format of evidence/nextSteps. This is insufficient for correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Generate' and a clear resource 'parameter-chain report', and lists the inputs (target, candidates, evidence, next steps) that define its scope. This distinguishes it from sibling reporting tools by focusing on parameter-chain analysis, though it doesn't explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 over siblings like get_rebuild_health_report or export_diagnostic_bundle. It only implies usage for generating a parameter-chain report, but lacks context on when that is appropriate or when to avoid it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_rebuild_health_reportA
Read-only

Produce a compact rebuild health report for one reverse task, including env blockers, evidence aggregates, and next fixes.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdYes
outputModeNo
observedCapabilitiesNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and the description does not contradict that. It adds context about the report's contents but does not disclose additional behavioral traits such as authentication needs, rate limits, or effects on underlying data. The added detail is useful but not beyond what the annotation covers.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the tool's main purpose. Every phrase carries meaning: 'compact', 'one reverse task', and the list of report contents. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description partially explains what the report returns by listing 'env blockers, evidence aggregates, and next fixes'. However, it does not describe the output format, parameter behavior, or any edge cases. For a read-only reporting tool with 3 parameters, it is moderately complete but has clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for explaining parameters. It only hints at outputMode via 'compact' but does not name or explain taskId, outputMode, or observedCapabilities. The required taskId is implied by 'one reverse task' but not explicitly mapped to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Produce' with a clear resource 'rebuild health report' and scope 'for one reverse task'. It also lists the report's contents (env blockers, evidence aggregates, next fixes), which distinguishes it from sibling tools like export_diagnostic_bundle or generate_parameter_report.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when a health report for a specific reverse task is needed, but does not explicitly state when to use this tool versus alternatives or provide exclusions. Sibling tools like auto_rebuild_fix_loop or recommend_next_step are action-oriented, but no direct comparison is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_referenceA
Read-only

Read one packaged reference doc, or return its compact summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYes
docIdYes
maxSectionsNo

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, covering the read-only nature. The description adds the behavioral distinction between returning a full doc and a summary, but does not disclose any other behaviors (e.g., maxSections limit, error handling). Minimal extra context is provided beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, front-loaded with the primary action and alternative outcome. It avoids filler and irrelevant details, achieving excellent conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is a simple read-only operation with clear parameter enums and readOnlyHint annotation. The description provides enough context for the primary modes, but lacks information about return types and behavior for invalid docIds. Given the tool's simplicity, it is reasonably complete, though a mention of maxSections would enhance it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does explain the mode parameter (doc vs summary) via the tool's purpose, and docId is fully enumerated in the schema. However, it does not add semantics for maxSections beyond the schema's default/maximum, so the description adds some but not complete parameter value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reads a single packaged reference document or returns its compact summary. It specifies the verb ('read') and resource ('packaged reference doc'), and distinguishes between two modes via the mode parameter, effectively separating it from siblings like get_reference_route.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no explicit when-to-use guidance, alternatives, or exclusions. It implies usage context (reading reference docs) but does not state when to prefer summary mode over full doc mode or how maxSections affects the summary, leaving usage purely implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_reference_routeB
Read-only

Route by stage, topic, or natural-language query to the most relevant reference docs.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYes
queryNo
stageNo
topicNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint: true, which covers the safety profile, and the description is consistent. However, the description adds little beyond that: it does not disclose what 'routing' returns (e.g., a single doc or list), how relevance is determined, or any rate limits/pagination behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 14 words, front-loaded with the verb 'Route'. It conveys the core concept without unnecessary words or repetition of schema details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 4 parameters, enums, no output schema, and many siblings, yet the description is a one-liner. It does not explain the return value, the role of the mode parameter, or why this tool should be chosen over get_reference. The description is too sparse for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It mentions stage, topic, and natural-language query, which maps to the stage, topic, and query fields, but it completely omits the required 'mode' parameter and how to combine it with the other fields. The mapping is incomplete and leaves the agent guessing about modal logic.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Route' and identifies 'reference docs' as the resource, clearly indicating the tool's function. It also names three routing dimensions (stage, topic, natural-language query), which helps distinguish it from siblings like get_reference that likely retrieve directly rather than route.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool by listing routing modes (stage, topic, natural-language query), giving contextual signals. However, it does not explicitly state when not to use it or name alternative tools, leaving the differentiation to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

infer_websocket_schemaB
Read-only

Infer JSON field types, message type distribution, and non-JSON counts from WebSocket messages.

ParametersJSON Schema
NameRequiredDescriptionDefault
messagesYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation readOnlyHint=true already indicates this is a safe read operation, and the description adds value by specifying exactly what analysis is performed (field types, distribution, non-JSON counts). However, it does not disclose any additional behavioral traits such as whether it consumes resources, handles large message sets, or if it requires an active WebSocket connection.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the action and key outputs. It contains no fluff or redundant information, making it easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description provides the core purpose but does not describe the return value format or any behavioral constraints. The absence of an output schema means the description should explain what the tool returns (e.g., a schema object, a report), but it only states the inference actions, leaving the output format ambiguous.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, so the description must compensate for the undocumented 'messages' parameter. While 'messages' is semantically implied by 'WebSocket messages', the description does not clarify that the parameter is an array of raw message strings, nor does it explain expected format (e.g., JSON strings vs. plain text) or any constraints on the array.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Infer') and clearly identifies the resource (WebSocket messages) and the specific outputs (JSON field types, message type distribution, non-JSON counts). It distinguishes itself from sibling tools by focusing on WebSocket message analysis rather than HTTP, runtime, or page interactions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. The description does not mention any prerequisites, exclusions, or alternative tools for similar tasks. The only contextual hint is 'from WebSocket messages', but there's no explicit when-to-use or when-not-to-use direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_pagesA
Read-only

Get a list of pages open in the browser.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and the description's 'Get a list' aligns with a read operation. It adds scope by specifying 'pages open in the browser,' but does not elaborate on return format, ordering, or whether it includes all tabs/windows. This adds moderate context above the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, direct sentence with no filler. Front-loaded with the action and target.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with no params and a read-only hint. The description conveys the core purpose. However, without an output schema, it does not state what the list contains (e.g., page titles, URLs), which would be useful for an agent to decide whether to call it. Still, for a basic list operation, it's adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema shows 100% coverage (empty object). The description does not need to explain parameters, and the baseline for 0 params is 4. No additional parameter info is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses a specific verb 'Get a list' and clearly identifies the resource 'pages open in the browser.' It distinguishes from sibling tools like 'select_page' and 'navigate_page' by focusing on enumeration rather than selection or navigation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when the agent needs to discover open browser pages. However, it does not explicitly mention when to prefer this over alternatives like 'select_page' or 'navigate_page,' though the difference is inferable. Context is clear, but exclusions are not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_task_artifactsB
Read-only

List files, sizes, and update times for a reverse task artifact directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation readOnlyHint=true already covers the safety profile, and the description adds the specific behavior of returning file metadata (sizes, update times) rather than just filenames. However, it does not disclose edge cases such as missing directories, empty results, or whether subdirectories are traversed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no extra words. It clearly states the action, target, and the key attributes returned.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple listing tool with one parameter and no output schema, the description provides a basic summary of output (files, sizes, update times) but omits details like return format, sorting, pagination, and error conditions. It is adequate but leaves gaps for an agent that needs to rely on the output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero description coverage for the only parameter, taskId, and the description does not explain what this identifier refers to or how it should be formatted. The parameter name is self-explanatory, but the description adds no meaning beyond that, leaving the agent to infer the expected value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb 'List' and a specific resource 'reverse task artifact directory', and it specifies the data returned (files, sizes, update times). This distinguishes it from sibling tool 'list_pages' which deals with pages rather than artifacts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. The description only states what the tool does, not when it should be selected or any exclusions. Sibling tools like 'list_pages' or 'collect_code' could overlap, but no differentiation is offered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

locate_candidate_functionsB
Read-only

Score likely signature/token/request functions from code files, params, headers, and target URL hints.

ParametersJSON Schema
NameRequiredDescriptionDefault
filesNo
keywordsNo
targetUrlNo
headerNamesNo
maxCandidatesNo
parameterNamesNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint: true, and the description's 'Score' operation aligns with a non-mutating analysis. The description adds minimal behavioral context beyond annotations, only noting input sources, without explaining return format or 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the main action. It contains no redundant phrases and is appropriately brief, though the phrasing could be clearer.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and only a one-sentence description, the tool lacks explanation of what 'score' produces, how results are returned, or when to use it. The partial parameter mapping and missing usage guidance make it insufficient for an agent to confidently invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 6 parameters with 0% description coverage. The description maps to several parameters: files ('code files'), parameterNames ('params'), headerNames ('headers'), and targetUrl ('target URL hints'). However, keywords and maxCandidates are omitted, leaving these parameters unexplained despite their importance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies a clear action ('Score') and a specific resource ('likely signature/token/request functions'), and mentions input sources ('code files, params, headers, and target URL hints'). This distinguishes it from generic search tools like search_in_scripts. However, the term 'Score' is ambiguous, leaving the exact output unclear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 search_in_scripts or trace_request_to_code. It does not state prerequisites, exclusions, or scenarios where this tool is preferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

manage_reverse_taskC

Unified reverse task entry for list/get/summarize/progress/update/timeline/archive/restore/search/tag/prune/compare actions. Preferred task-management entry to reduce tool-selection overhead.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNo
goalNo
nextNo
tagsNo
limitNo
queryNo
stageNo
actionYes
detailNo
resultNo
statusNo
taskIdNo
taskSlugNo
targetUrlNo
outputModeNo
otherTaskIdNo
replaceTagsNo
currentStageNo
nextStepHintNo
evidenceLimitNo
timelineLimitNo
currentSummaryNo
timelineActionNo
timelineStatusNo
includeArchivedNo
successCriteriaNo
pruneOlderThanDaysNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only provide readOnlyHint=false, which is weak. The description lists mutating actions like archive, prune, and update, but does not disclose side effects, permissions, or consequences. It relies on the action names to imply behavior, which is insufficient for a tool with many state-changing operations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose, and contains no fluff. It is appropriately concise for a high-level statement, though more detail could have been added without harming structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the enormous complexity (27 params, 12 actions, nested objects, no output schema), the description is woefully incomplete. It does not explain action-parameter relationships, return formats, error conditions, or any operational context. The agent would struggle to invoke this tool correctly without external documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 27 parameters and 0% schema description coverage, the description does nothing to explain what parameters mean or how they map to actions. The action list in the description gives a hint (e.g., 'tag' likely uses 'tag'), but no explicit mapping or semantics are provided. This is a severe gap for such a parameter-rich tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is a unified entry for multiple named actions (list/get/summarize/etc.) on reverse tasks, making the tool's purpose explicit. However, it does not contrast with sibling tools like orchestrate_reverse_task or start_reverse_task, so it lacks full distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It says 'Preferred task-management entry to reduce tool-selection overhead,' which gives a clear usage context: prefer this for task management actions. But it does not explicitly state when not to use it or name alternatives, leaving room for ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

network_requestB
Read-only

List network requests, or get one request by reqid.

ParametersJSON Schema
NameRequiredDescriptionDefault
reqidNoRequest id for action=get. If omitted, uses the selected request in DevTools when available.
actionYes
pageIdxNoPage number to return for action=list (0-based). When omitted, returns the first page.
pageSizeNoMaximum number of requests to return for action=list. When omitted, returns all requests.
resourceTypesNoFilter action=list results by resource type. When omitted or empty, returns all requests.
targetPageIdxNoBrowser page index to inspect (0-based). When omitted, uses the currently selected page.
includePreservedRequestsNoSet true for action=list to include preserved requests from the last 3 navigations.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already covers the read-only nature, but the description adds no behavioral context beyond that. It does not mention pagination, default selected-request fallback, or filtering behavior, which are left to the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, front-loaded with the primary action. It is well-structured with no wasted words, making it easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 7 parameters and no output schema, the description is thin but the schema compensates with detailed parameter documentation. However, it lacks a high-level summary of behavior like filtering, pagination, and the selected-request fallback, making it adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is high (86%), so parameters like pageIdx, pageSize, and resourceTypes are already well-documented. The description's mention of 'reqid' adds no new meaning beyond the schema's existing description of reqid for action=get.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List network requests, or get one request by reqid,' identifying two distinct modes with a specific verb and resource. It communicates the tool's scope but does not explicitly differentiate from sibling tools like export_har_snapshot.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. The description only states functionality without any contextual advice or exclusions, leaving the agent to infer usage from the tool name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

orchestrate_reverse_taskC

High-level reverse-task orchestrator that syncs task state, picks the primary next step, and returns a compact execution plan.

ParametersJSON Schema
NameRequiredDescriptionDefault
resumeNo
taskIdYes
executeNo
fromStepNo
strategyNo
onlyStepsNo
skipStepsNo
outputModeNo
stopOnErrorNo
persistStateNo
includeSummaryNo
executionOverridesNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds some behavioral context beyond the readOnlyHint=false annotation by stating it syncs task state and returns an execution plan. However, it does not disclose what state mutations occur, whether steps are executed, or any side effects, so transparency is only partial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. It is concise and efficiently communicates the overall purpose, though it skips details that would improve other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is complex with 12 parameters, no output schema, and minimal annotations, yet the description only provides a brief overview. It lacks essential context about parameter usage, return format, or step orchestration details, making it insufficient for safe autonomous invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description provides no parameter guidance. It does not explain taskId, strategy, execute, outputMode, or any of the other 12 parameters, leaving the agent without semantic mapping for inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool orchestrates reverse tasks, syncs task state, picks the next step, and returns a compact plan. This is a specific verb+resource with a clear action set, but it does not explicitly distinguish from siblings like manage_reverse_task or run_reverse_agent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. The description mentions 'high-level' but provides no context, prerequisites, exclusions, or alternative tool names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

probe_runtime_capabilitiesC
Read-only

Probe browser runtime capabilities and compare them with Node rebuild assumptions.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetPageIdxNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation declares the operation safe, lowering the transparency bar. The description adds some behavioral context ('compare with Node rebuild assumptions') but does not explain what probing entails (e.g., whether it executes scripts, reads settings, or returns detailed reports). It is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It conveys the core action and comparison in a compact form, earning high marks for efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having a simple schema and read-only annotation, the description is too vague. It does not indicate what kind of output to expect (no output schema) or what prerequisites exist (e.g., must a page be selected?). This lack of completeness makes it difficult for an agent to confidently invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter (targetPageIdx) with zero description coverage (0%). The description does not mention or explain this parameter, providing no additional meaning beyond the schema's field name and type. The agent is left without guidance on what targetPageIdx refers to.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool's purpose: to probe browser runtime capabilities and compare them with Node rebuild assumptions. This is a specific verb+resource pair that distinguishes it from more generic tools like diagnose_environment, though not explicitly named.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. The usage is only implied by the name and purpose, but no when-to-use or when-not-to-use context is given, leaving the agent to infer the appropriate scenario.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recommend_next_stepB
Read-only

Recommend the next reverse-engineering action from lightweight workflow signals.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdNo
taskGoalNo
pageReadyNo
taskStatusNo
currentStageNo
browserHealthyNo
hookRecordCountNo
hasRebuildBundleNo
hasTargetRequestNo
hasPassingRebuildNo
firstDivergenceKnownNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already signals a safe read operation, and the word 'recommend' is consistent with that. However, the description adds no extra behavioral context, such as whether the recommendation is heuristic-based or what factors influence it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no fluff or unnecessary words. It is concise and clearly structured, though it could benefit from more detail elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 11 parameters, 7 enum stages, no output schema, and only a readOnly annotation, the description is too sparse. It does not explain what the recommendation looks like, what inputs are needed, or any constraints on the workflow signals.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides no parameter-level guidance for any of the 11 parameters. With schema description coverage at 0%, the description should compensate but simply says 'from lightweight workflow signals' without explaining individual fields like currentStage or taskStatus.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'recommend', the object 'next reverse-engineering action', and the context 'from lightweight workflow signals'. This distinguishes it from sibling tools like run_reverse_agent which would execute, not recommend.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when you have lightweight workflow signals and need a next action, but it does not explicitly state when to use this tool vs alternatives or provide exclusions. No alternative tool is named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

record_page_flowA

Persist a page interaction flow draft for later replay and evidence reuse.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
taskIdNo
actionsNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation readOnlyHint=false already signals a write operation, and the description's 'Persist' matches that. The description adds the 'draft' and 'later replay' context but does not disclose side effects, idempotency, or prerequisites, so transparency is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that says exactly what the tool does without any filler. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given three undocumented parameters, no output schema, and minimal annotation support, the description is insufficient for correct invocation. It omits prerequisites (e.g., active page), return behavior, and parameter meaning, making it incomplete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero property descriptions and the tool description does not explain the meaning of 'name', 'taskId', or 'actions'. The phrase 'page interaction flow draft' only vaguely hints at 'actions', but the agent is left without concrete parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Persist' and a clear resource 'a page interaction flow draft', which cleanly distinguishes it from the sibling 'replay_page_flow'. It also mentions the purpose 'for later replay and evidence reuse', making the intent unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'for later replay and evidence reuse' provides a clear context for when this tool is appropriate. However, it does not explicitly name alternatives or exclusions, so it falls short of full usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

record_reverse_evidenceC

Append structured reverse-engineering evidence to a task artifact log.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalYes
entryYes
taskIdYes
channelNoruntime-evidence
taskSlugYes
targetUrlYes
targetKeywordsNo
targetUrlPatternsNo
targetFunctionNamesNo
targetActionDescriptionNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation readOnlyHint=false already indicates a write operation. The description adds the specific behavior of 'append', which implies additive, non-overwriting writes. However, it does not disclose other important traits such as failure modes, requirements for existing artifacts, or side effects beyond appending.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It is front-loaded with the primary action and object. However, given the tool's schema complexity, a slightly longer description with structured parameter guidance would be more appropriate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 10 parameters, a nested entry object, and no output schema, the description is far too incomplete. It does not explain return values, parameter semantics, or usage context. The agent would have to rely entirely on parameter names and the tool name to infer behavior, which is insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description mentions no parameters. The schema includes 10 properties with 5 required and a nested entry object, but the description provides no hint about what the parameters mean, how they interrelate, or what values are expected. This is a severe deficiency for a tool with such a complex schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Append structured reverse-engineering evidence') and the target resource ('task artifact log'). It is specific enough to distinguish from many siblings, but it does not explicitly differentiate from similar logging tools like 'record_page_flow'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It does not mention any preconditions, exclusions, or scenarios where another tool would be more appropriate. Given the large sibling list, this lack of usage context is a significant gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

repair_browser_connectionA
Read-only

Diagnose Chrome remote-debugging connectivity and return concrete repair commands.

ParametersJSON Schema
NameRequiredDescriptionDefault
browserUrlNo
wsEndpointNo
checkReachabilityNo
remoteDebuggingUrlNo

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds that the tool returns concrete repair commands, implying it does not execute repairs itself, which aligns with the readOnlyHint=true annotation. It does not disclose prerequisites or edge cases, but the core non-mutating behavior is clearly communicated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single 12-word sentence that immediately states the action and intended result. It is front-loaded with the verb and resource, and every word contributes to the meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has four un-documented parameters, no output schema, and the description omits input expectations and output format. The agent can understand the general purpose but lacks the details needed to invoke it correctly, making the description incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description must compensate by explaining the four parameters (browserUrl, wsEndpoint, checkReachability, remoteDebuggingUrl), but it does not. It only references 'Chrome remote-debugging connectivity' without mapping parameters to meanings, leaving the agent unable to infer valid values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool diagnoses Chrome remote-debugging connectivity and returns repair commands. The verb 'Diagnose' and the specific resource 'Chrome remote-debugging connectivity' make the purpose unambiguous and distinguish it from broader tools like diagnose_environment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 or when alternatives might be more appropriate. It does not mention prerequisites, fallback tools, or usage scenarios, leaving the agent to infer relevance solely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replay_page_flowC

Replay recorded page flow actions through PageController.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionsYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation readOnlyHint=false already indicates this may mutate state, but the description adds no extra context about side effects, required setup, or behavioral constraints. It fails to disclose whether replay requires an active PageController session or if it can run headlessly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no fluff, making it concise and front-loaded. However, it is borderline under-specified, which penalizes contextual completeness rather than conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one required parameter and no output schema, the description is too sparse. It fails to mention how actions are recorded, what the replay does to the page, or any connection requirements, making it incomplete for reliable tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain the 'actions' parameter at all. It merely uses the term 'actions' without defining its structure or how to construct the array of objects, leaving the agent without necessary semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool replays recorded page flow actions through PageController, using a specific verb and resource. It implicitly distinguishes from the sibling record_page_flow by saying 'recorded', but does not explicitly contrast with alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 others. The description lacks any mention of prerequisites, such as needing a prior recording or a live browser connection, nor any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_reverse_agentC

One-shot reverse agent entry: repeatedly plans and executes the main reverse chain until blocked, stalled, or reaching the analysis checkpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdYes
goalModeNopure-draft
strategyNo
maxRoundsNo
outputModeNoverbose
includeSummaryNo
autoExportPortableNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds useful behavioral context by stating termination conditions (blocked, stalled, or analysis checkpoint) and that it plans/executes iteratively. The readOnlyHint=false annotation already signals potential mutation, and the description does not contradict it, but it does not disclose side effects or state changes, which would be valuable for a tool that executes actions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words. It conveys the core behavior and termination conditions efficiently, though it could be slightly more structured to clarify the input and output expectations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has seven parameters, no output schema, and a complex operational concept ('reverse chain'), the description is far too brief. It does not explain what the reverse chain is, what constitutes 'blocked' or 'stalled', what the analysis checkpoint is, or what the agent's output will contain. An agent cannot make an informed decision about when and how to invoke this tool based solely on this description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides no information about any of the seven parameters. With 0% schema description coverage, the description was expected to compensate, but it does not mention how goalMode, strategy, maxRounds, outputMode, or other parameters influence behavior. The schema's enums and defaults are self-explanatory but insufficient for selecting appropriate values without additional context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: it is a one-shot entry point that repeatedly plans and executes the main reverse chain until a stopping condition. This distinguishes it from some siblings by emphasizing the 'one-shot' and 'repeatedly' nature, but it does not explicitly contrast it with similar tools like 'orchestrate_reverse_task' or 'start_reverse_task'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is implied: use this when you want to run the entire reverse chain automatically in one go, continuing until blocked, stalled, or reaching the checkpoint. However, there is no explicit guidance on when not to use it or how it compares to alternative tools such as 'start_reverse_task' or 'orchestrate_reverse_task'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_in_scriptsA
Read-only

Search in collected script cache with regex pattern.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
patternYes
maxTotalSizeNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, which covers safety. The description adds that the search is regex-based and targets a 'collected script cache', clarifying the data source. However, it does not disclose details about limit/maxTotalSize behavior or search semantics beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the core purpose. Every word contributes, with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and only 0% parameter descriptions, the description leaves significant gaps. It does not explain what 'collected script cache' means, how limit and maxTotalSize affect results, or what the return format looks like. This could confuse an agent on expected behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains that 'pattern' is a regex, but says nothing about 'limit' or 'maxTotalSize', leaving their semantics ambiguous. The parameter names are somewhat self-explanatory, but the description does not provide sufficient detail for a low-coverage schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: searching in a collected script cache using a regex pattern. It specifies the resource (script cache) and the action (search with regex), which distinguishes it from sibling tools like search_in_sources (which likely searches source files directly).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when one needs to search within collected scripts using regex, but it does not explicitly state when to use this tool over alternatives like search_in_sources. No exclusions or alternative tool mentions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_in_sourcesB
Read-only

Searches for a string or regex pattern in all loaded JavaScript sources. Returns matching lines with script ID, URL, and line number. Use get_script_source with startLine/endLine to view full context around matches.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalNoOptional reverse-engineering goal for the task artifact.
queryYesThe search query (string or regex pattern).
taskIdNoOptional reverse task ID for writing durable evidence artifacts.
isRegexNoWhether to treat the query as a regular expression.
pageIdxNoBrowser page index to inspect (0-based). When omitted, uses the currently selected page.
taskSlugNoOptional reverse task slug used when opening the task artifact directory.
targetUrlNoOptional target page URL associated with the reverse task.
urlFilterNoOnly search scripts whose URL contains this string (case-insensitive).
maxResultsNoMaximum number of results to return (default: 30).
caseSensitiveNoWhether the search should be case-sensitive.
maxLineLengthNoMaximum characters per line preview (default: 150). Set to 0 for full lines.
persistResultNoPersist a single unambiguous match back into the reverse task artifact when task params are provided.
excludeMinifiedNoSkip minified files (files with very long lines). Default: true.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation 'readOnlyHint: true' covers the safety profile. The description adds useful context on returned fields and scope, but it says 'all loaded JavaScript sources' without disclosing the default 'excludeMinified: true' behavior, which can mislead the agent into expecting minified files to be searched. This is a notable omission that lowers the score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences with no wasted words. The main action and scope are front-loaded, and the follow-up hint about get_script_source adds practical value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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) and the lack of an output schema, the description adequately explains the return value and scope. However, the 'all loaded JavaScript sources' phrasing is somewhat incomplete due to the excludeMinified default, and many filtering options are left to the schema. Still, it is sufficient for an agent to use the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, every parameter already has a detailed description in the schema. The tool description adds no additional parameter-specific semantics, 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('searches'), the resource ('all loaded JavaScript sources'), and the return value ('matching lines with script ID, URL, and line number'). However, it does not explicitly differentiate from the sibling tool 'search_in_scripts', so it is clear but not distinguishing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus the similar 'search_in_scripts' or other alternatives. It only suggests a follow-up action ('get_script_source') but does not state context, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

select_pageA
Read-only

Select a page as a context for future tool calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdxYesThe index of the page to select. Call list_pages to list pages.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. The description adds a useful behavioral cue by indicating that selection affects future tool calls, implying a session-state change. It does not elaborate on side effects such as whether previous context is cleared, making the transparency moderate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single clear sentence that front-loads the action and purpose, containing no filler or redundant information. It is perfectly sized for a tool with one parameter and a straightforward behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool with annotations and full schema coverage, the description is nearly complete: it defines the action, outcome, and implies usage sequence. It could be more explicit about the reset behavior or how it interacts with sibling tools like navigate_page, but this is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%: pageIdx is documented with its role and a pointer to list_pages. The tool description adds no additional parameter meaning beyond the schema, which already provides adequate guidance, 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Select a page as a context for future tool calls' uses a specific verb, identifies the resource ('page'), and states the purpose ('context for future tool calls'). This distinguishes it clearly from sibling tools like list_pages (listing) and navigate_page (navigating).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage as a preliminary step before other calls ('for future tool calls'), and the parameter description instructs to call list_pages to get the index. However, it does not explicitly contrast with alternatives or specify when not to use it, leaving some ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_reverse_taskB

Initialize a task artifact directory with task.json, state.json, report.md, and first timeline entry.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalYes
taskIdYes
taskSlugYes
targetUrlYes
currentStageNo
targetContextNo
currentSummaryNo
successCriteriaNo

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that the tool creates task.json, state.json, report.md, and a first timeline entry, which aligns with readOnlyHint=false. However, it does not mention whether existing files are overwritten, whether parent directories are created, or any 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently states the action and the specific outputs. It contains no unnecessary words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with eight parameters, nested objects, and no output schema, the description is too sparse. It does not explain the purpose of the artifact directory within the reverse task workflow, what the timeline entry represents, or how this step fits with other tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

None of the eight parameters are described in the tool description, leaving complex nested objects like targetContext and successCriteria without explanation. Since schema description coverage is 0%, the description should compensate but fails to do so.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Initialize' and identifies the resource as the 'task artifact directory', listing the files created. While this clearly conveys the action, it does not explicitly differentiate from sibling tools such as create_reverse_task_from_request or manage_reverse_task.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives like create_reverse_task_from_request or orchestrate_reverse_task. The description simply states the action without contextual cues about prerequisites or workflow placement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trace_request_to_codeC
Read-only

Trace a captured network request to initiator stack frames and optional static code candidates.

ParametersJSON Schema
NameRequiredDescriptionDefault
filesNo
reqidNo
targetPageIdxNo
parameterNamesNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the agent knows this is a safe read operation. The description adds context about the output (initiator stack frames and code candidates) but does not disclose potential behaviors like failure modes, required state (captured request), or side effects. Given the annotations cover safety, a score of 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the action and object. There is no wasted verbiage. It loses a point because it may be too terse given the tool's complexity, but conciseness itself is strong.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With four parameters, no output schema, and only a read-only annotation, the description should provide more context. It does not explain what inputs are needed, what the output looks like, or when to choose this tool over siblings. The description is insufficient for an agent to invoke this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain any of the four parameters (files, reqid, targetPageIdx, parameterNames). There is no parameter documentation in the schema either, so the agent has no guidance on how to fill these fields. The description mentions 'captured network request' but never connects that to reqid or other parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

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 a captured network request to initiator stack frames and static code candidates. It uses a specific verb ('trace') and identifies the resource and expected outputs. However, it does not explicitly differentiate from sibling tools such as network_request or locate_candidate_functions, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It does not mention prerequisites (e.g., a previously captured request or reqid), nor does it contrast with similar tools like analyze_source_maps or search_in_scripts. Usage context is merely implied by the name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

understand_codeB
Read-only

Analyze code structure/business/security with AI + static analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes
focusNo
aiModeNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already signals a safe read operation, lowering the bar. The description adds that the tool uses AI and static analysis, which hints at potential external dependencies or analysis methodology. However, it does not disclose specifics like rate limits, cost, or output format, so it adds only modest value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with a clear verb and resource. Every word contributes meaning: 'Analyze', 'code', the three focus areas, and the method. No redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 3 parameters and no output schema, the description should clarify expected outputs or limitations. It does not mention what the analysis returns or any constraints on input size. The tool's purpose is clear, but for a tool with multiple enums and no output schema, this is only minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must compensate. It does partially by mentioning 'structure/business/security', echoing the focus enum values, and 'AI' hinting at aiMode. However, it does not explain the semantics of the code parameter or the exact role of aiMode (auto/required/off), so gaps remain.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool analyzes code for structure, business logic, and security, using AI and static analysis. This distinguishes it from search-oriented siblings like search_in_scripts, though it does not name alternatives. The verb 'Analyze' and the resource 'code' are specific, but the coverage of three vague aspects keeps it from a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It implies usage for understanding code but does not state prerequisites, exclusions, or mention sibling tools. This leaves the agent without clear decision criteria.

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.

  1. 35 tool updatesv2.0.4
    • First observedanalyze_source_maps
    • First observedauto_rebuild_fix_loop
    • First observedcollect_code
    • First observedcreate_reverse_task_from_request
    • First observeddiagnose_environment
    • First observeddiff_session_state
    • First observedexplain_reverse_stage
    • First observedexport_diagnostic_bundle
    • First observedexport_har_snapshot
    • First observedexport_rebuild_bundle
    • First observedgenerate_parameter_report
    • First observedget_rebuild_health_report
    • First observedget_reference
    • First observedget_reference_route
    • First observedinfer_websocket_schema
    • First observedlist_pages
    • First observedlist_task_artifacts
    • First observedlocate_candidate_functions
    • First observedmanage_reverse_task
    • First observednavigate_page
    • First observednetwork_request
    • First observedorchestrate_reverse_task
    • First observedprobe_runtime_capabilities
    • First observedrecommend_next_step
    • First observedrecord_page_flow
    • First observedrecord_reverse_evidence
    • First observedrepair_browser_connection
    • First observedreplay_page_flow
    • First observedrun_reverse_agent
    • First observedsearch_in_scripts
    • First observedsearch_in_sources
    • First observedselect_page
    • First observedstart_reverse_task
    • First observedtrace_request_to_code
    • First observedunderstand_code

TDQS

C2.9/5.0
Disambiguation2/5

Many tools have overlapping purposes: search_in_scripts and search_in_sources both search code, manage_reverse_task/start_reverse_task/orchestrate_reverse_task all handle task lifecycle, and recommend_next_step/explain_reverse_stage both provide guidance. This overlap makes it difficult for an agent to reliably select the correct tool.

Naming Consistency4/5

The vast majority of tools follow a verb_noun convention (e.g., collect_code, analyze_source_maps, navigate_page), but there are minor deviations like network_request (noun only) and search_in_scripts/search_in_sources which use a different structure. Overall, the pattern is consistent enough.

Tool Count2/5

With 35 tools, the server is heavily over-scoped. Many tools are narrowly specialized and could be consolidated (e.g., multiple export tools, multiple task-management entry points), and the count exceeds the recommended range, adding unnecessary selection overhead.

Completeness3/5

The set covers a broad reverse-engineering workflow including probing, code collection/search, network tracing, task management, and exporting. However, it references get_script_source which is not one of the tools, causing a dead end for viewing full script context. Other gaps include lack of direct script execution or editing capabilities.

Maintenance

ActivityInactive
ResponsivenessWithin a week

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

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    An anti-detection browser MCP server designed for JavaScript reverse engineering through the Camoufox engine. It enables AI assistants to perform dynamic debugging, function hooking, and network interception while bypassing sophisticated bot detection mechanisms.
    35
    471
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A JavaScript reverse engineering MCP server that enables AI coding assistants to debug and analyze JavaScript code in web pages.
    1,291
    7
    Apache 2.0

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/NoOne-hub/JSReverser-MCP'

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