Skip to main content
Glama

PhantomHand

PhantomHand 是一个面向 AI 智能体的浏览器控制引擎。它通过 Chrome DevTools ProtocolModel Context Protocol (MCP) 标准把浏览器的感知与操控能力暴露给大语言模型,让智能体能像人一样视觉理解网页,并真实地点击、输入、采集信息。

所有命令默认作用于浏览器的当前激活标签页,也可通过显式 tabId 参数指定任意标签页。


核心特性

  • 复用已登录的真实浏览器:直接在你的日常 Chrome 上操作,保留登录态、插件、书签——无需另开隔离 profile。

  • 真视觉感知:Set-of-Mark 标注截图,能识别 canvas、视频、复杂 CSS 渲染的内容(纯无障碍树看不到的)。

  • 稳定 ref 引用:每个可交互元素分配稳定的 ref,操控时解析其当前坐标,页面轻微重排也不会失效。

  • 拟人与反检测:贝塞尔鼠标轨迹、人类化打字节奏、点击前瞄准停顿;基于 chrome.debugger 而非 WebDriver,并自动在页面主世界抹除自动化指纹。

  • 信息密度优先:文本快照、批量结构化提取、页面智能摘要、页面身份 API 请求;大体积产物默认存盘或摘要,不回流上下文。

  • 可观测性:console、网络请求、性能指标、Web Storage 全量回流。


Related MCP server: WeaveTab-MCP

快速使用

在你的 AI Agent(Claude Desktop、Cursor、Windsurf、Antigravity 等)的 MCP 配置中注册 phantom-hand。两种部署方式任选其一。

A. 从 npm 安装(已发布)

{
  "mcpServers": {
    "phantom-hand": {
      "command": "npx",
      "args": ["-y", "phantom-hand-mcp"]
    }
  }
}

B. 从本地源码运行(开发 / 未发布)

克隆仓库后先构建,再用产物的绝对路径注册:

npm install && npm run build
{
  "mcpServers": {
    "phantom-hand": {
      "command": "node",
      "args": ["<项目根目录的绝对路径>/dist/index.cjs"]
    }
  }
}

各 Agent 的配置文件位置

Agent

配置文件

Claude Desktop(Windows)

%APPDATA%\Claude\claude_desktop_config.json

Claude Desktop(macOS)

~/Library/Application Support/Claude/claude_desktop_config.json

Cursor

工作区 .cursor/mcp.json,或设置中的 MCP GUI

Windsurf

~/.codeium/windsurf/mcp_config.json

Antigravity

~/.gemini/config/mcp_config.json

保存并重启 Agent,服务会在后台启动并监听 ws://localhost:37210


安装浏览器扩展(必需)

PhantomHand 通过一个浏览器扩展与 Chrome 通信,需手动加载一次:

  1. 让你的 AI 助手调用 get_extension_info 工具,获取本机扩展目录的绝对路径(位于 ~/.npm/_npx/.../extension)。

  2. 打开 chrome://extensions/,开启右上角「开发者模式」,点击「加载已解压的扩展程序」,选中上一步的目录。

  3. 点击浏览器工具栏的 PhantomHand 图标,URL 保持默认 ws://localhost:37210,点击「Connect to Agent Server」,指示灯变绿即连接成功。


工具清单

分类

工具

元信息

get_extension_info

感知

browser_scanbrowser_snapshot(文本快照,无图)、browser_screenshotbrowser_get_page_infobrowser_query_ref(按 selector 精确取 ref)

鼠标

browser_clickbrowser_click_refbrowser_double_clickbrowser_triple_clickbrowser_right_clickbrowser_hoverbrowser_drag

键盘 / 剪贴板

browser_typebrowser_type_refbrowser_press_keybrowser_keyboard_shortcutbrowser_select_allbrowser_clipboard_setbrowser_clipboard_get

滚动

browser_scrollbrowser_scroll_to_element

DOM / JS

browser_eval_jsbrowser_get_htmlbrowser_extract_textbrowser_get_attributesbrowser_extract_structured(批量 → JSON)、browser_read_page(主内容智能摘要)

表单

browser_set_valuebrowser_clear_valuebrowser_select_optionbrowser_checkbrowser_focusbrowser_upload_file

标签页 / 导航

browser_navigatebrowser_go_backbrowser_go_forwardbrowser_reloadbrowser_tab_newbrowser_tab_closebrowser_tab_listbrowser_tab_switch

可观测性 · debug

browser_list_console_messages

可观测性 · network

browser_list_network_requestsbrowser_get_network_requestbrowser_fetch(以页面身份请求 API)、browser_mock_requestbrowser_clear_mocks

可观测性 · performance

browser_performance_start_tracebrowser_performance_stop_trace

存储

browser_storage_getbrowser_storage_setbrowser_storage_remove

捕获 / 模拟

browser_print_to_pdfbrowser_set_viewportbrowser_clear_viewportbrowser_screencast_startbrowser_screencast_stop

会话

browser_session_exportbrowser_session_import

时序

browser_waitbrowser_wait_for_element(精确等待元素出现/消失)、browser_fast_forwardbrowser_wait_for_download


核心范式

ref 引用(推荐的元素操控方式)

browser_scan / browser_snapshot 为每个可交互元素分配稳定 ref(如 [ref: 3])。优先用 browser_click_ref / browser_type_ref 按 ref 操控——它会解析元素当前的坐标,即使页面发生轻微重排也能正确命中。若已知目标的选择器,可直接用 browser_query_ref 获取 ref,跳过全页扫描。

穿透同源 iframe

感知会递归进入 shadow DOM 与同源 iframe:iframe 内的元素同样分配 ref,坐标已折算到主页面视口,可直接用 ref 操控,无需关心 iframe 边界与坐标偏移。跨域 iframe(如第三方验证码)的 DOM 不可访问,不会出现在感知结果中。

信息密度

为避免上下文膨胀,大体积产物默认存盘或摘要

  • browser_print_to_pdf 把 PDF 写入下载目录,仅返回路径;

  • browser_storage_get 不传 key 时只返回键名列表;

  • browser_screencast_start / browser_screencast_stop 只统计帧数,不回传画面;

  • browser_scan 在长页面上提示「视口内 X / 共 Y 个元素」,告知还有多少未展示。

需要采集成片内容时,优先用高密度工具:browser_extract_structured(批量结构化)、browser_read_page(页面摘要)、browser_fetch(直连站点 API)。

自动等待

导航与点击/输入默认启用 auto-wait:导航等待页面 complete,交互等待网络空闲(networkIdle)。对 SPA 中延迟渲染的元素,用 browser_wait_for_element 精确等待其出现、附着或消失。

反检测

PhantomHand 基于 chrome.debugger(CDP)操控浏览器,不携带 WebDriver 指纹。每次连接一个标签页后,会自动向页面的主世界注入轻量补丁(经 Page.addScriptToEvaluateOnNewDocument,在任何站点脚本之前生效),抹除剩余自动化痕迹:

  • navigator.webdriverundefined

  • 补全 window.chrome.runtime

  • 规整 navigator.languages / navigator.plugins

  • 修正 permissions.querynotifications 的泄漏

注入逐标签页幂等,标签页关闭时自动清理,默认开启、无需配置。鼠标移动采用贝塞尔曲线加随机抖动,打字按字符类型差异化停顿(句末标点长停顿、逗号中停顿),点击前有短暂瞄准停顿。


配置

所有配置通过环境变量驱动(详见 .env.example):

变量

默认

说明

PORT

37210

WebSocket 端口

PHANTOM_HAND_TOKEN

(空)

WebSocket 鉴权 token

PHANTOM_HAND_SCREENSHOT_FORMAT

jpeg

截图重编码格式(jpeg/webp/png,需安装 sharp

PHANTOM_HAND_SCREENSHOT_QUALITY

75

截图质量 1-100

PHANTOM_HAND_SCREENSHOT_MAX_WIDTH / _HEIGHT

0(不限)

截图最大尺寸,超出则等比缩小

PHANTOM_HAND_AUTO_WAIT_TIMEOUT

3000

auto-wait 等待上限(ms),0 关闭

PHANTOM_HAND_DOMAIN_ALLOWLIST

(空)

域名白名单(逗号分隔),设置后仅允许这些域名

PHANTOM_HAND_DOMAIN_BLOCKLIST

(空)

域名黑名单(逗号分隔)

PHANTOM_HAND_CATEGORY_DEBUG / _NETWORK / _PERFORMANCE / _STORAGE

true

设为 false 隐藏整类工具,缩小 agent 选择面

截图压缩(可选):默认极轻量。安装 npm i sharp 后,截图会按上述参数重编码(webp/jpeg 显著小于 png),降低上下文占用;未安装时返回原图,功能不受影响。


安全

  • 服务默认监听 ws://localhost,仅本机可连。不要将服务暴露到公网或不受信任的远程地址——browser_eval_js 等工具等同于本机浏览器的远程代码执行权限。

  • 启用鉴权:设置 PHANTOM_HAND_TOKEN=<密钥>,并在扩展弹窗 URL 中追加 ?token=<密钥>。服务会拒绝未携带正确 token 的连接。

  • 除非完全控制远端主机,否则不要在扩展弹窗填写 wss://远程地址


多 Agent 并发(Proxy Broker)

多个宿主 Agent(如同时运行 Cursor 与 Claude Desktop,各自启动 phantom-hand)可共享同一个浏览器扩展:

  1. 第一个进程占用 37210 端口,成为 Master,承载 WebSocket 服务并与扩展通信。

  2. 后续进程发现端口被占用,自动作为 Proxy 连接到 Master,转发命令。

每条请求/响应通过唯一 requestId 路由,并发调用互不串扰。若希望多个 Agent 各自控制独立标签页,可在工具调用中传入显式 tabId(通过 browser_tab_list 获取)。


开发

npm install      # 安装依赖
npm run build    # esbuild 打包到 dist/index.cjs
npm run dev      # 以 tsx 直接运行 src/index.ts
npm start        # 运行编译产物
npm test         # 单元测试
npm run lint     # tsc --noEmit 类型检查

端到端功能验证见 test/smoke-test.md


常见问题

  1. 发送指令后浏览器无反应? Chrome 禁止扩展在系统保护页(chrome://newtabchrome://settingschrome://extensions、Web Store 等)执行调试 API。请确保当前聚焦一个常规网页。

  2. 端口被占用?37210 被占用,服务不会结束占用进程,而是自动以 Proxy 模式继续工作(见上节)。如需换端口:设置 PORT=xxxx,并在扩展弹窗填入对应端口。

  3. 浏览器一直显示「正在调试此浏览器」黄条? 这是 CDP 调试的正常表现。扩展会在标签页关闭时自动 detach 调试器;如需立即清除,关闭对应标签页。

  4. 剪贴板读取偶尔失败? 现代浏览器要求剪贴板读取有用户手势。无手势上下文中 browser_clipboard_get 可能失败——这是浏览器安全策略。

  5. 按 ref 操作时报「ref not found」? ref 不跨扫描保活。重新 browser_scan / browser_snapshot / browser_query_ref 获取新 ref 后再操作。

Available Tools

41 tools
browser_checkB

Check or uncheck a checkbox or radio button by CSS selector.

ParametersJSON Schema
NameRequiredDescriptionDefault
checkedYes
selectorYes

TDQS

B3.1/5.0
Behavior2/5

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

The description only states the basic action but lacks details about prerequisites (element must exist, be interactive), side effects (does it trigger events?), or limitations (what if element is disabled?). With no annotations, this level of transparency is insufficient.

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

Conciseness4/5

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

The description is a single clear sentence with no unnecessary words. It is concise and front-loaded, but could be slightly improved by adding a brief usage note without becoming verbose.

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 two required parameters and no output schema, the description is minimal. It lacks information about expected behavior when the element is not found, whether the tool returns anything, or any constraints on the selector. In the context of many sibling tools, it does not fully equip an AI agent to use it correctly.

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

Parameters3/5

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

The description adds context to the 'selector' parameter by specifying it's a CSS selector, and implies the 'checked' boolean toggles the state. However, it does not clarify the exact meaning of true/false or provide examples. Given 0% schema coverage, it adds some value but not enough to fully compensate.

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 it checks/unchecks a checkbox or radio button using a CSS selector, which distinguishes it from sibling tools like browser_click or browser_set_value that are for generic clicks or text input.

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 does not mention any contexts where it should or should not be used, nor does it reference sibling tools.

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

browser_clear_valueA

Clear the value of an input or textarea element by CSS selector and trigger change events.

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description reveals that it triggers change events, but lacks other behavioral details like error handling or waiting behavior, leaving gaps.

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

Conciseness5/5

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

Single sentence, no fluff, direct and efficient.

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 tool with one parameter and no output schema, the description covers the main action and event triggering, but omits error handling or edge cases.

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?

Schema coverage is 0%, but the description adds that 'selector' is a CSS selector targeting input/textarea elements, partially compensating. No format examples or constraints are given.

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 clears the value of input or textarea elements using a CSS selector, and distinguishes it from siblings like browser_set_value and browser_type.

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 clearing vs. setting an empty value, or prerequisites like element existence.

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

browser_clickA

Move the mouse to physical coordinates via Bezier curve and simulate a left-click.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It reveals the Bezier curve movement detail, which is useful, but lacks other behavioral traits like viewport coordinate system assumptions, prerequisites (element visibility), or side effects. The description is informative but incomplete.

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

Conciseness5/5

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

The description is a single sentence that efficiently communicates the core action and its method (Bezier curve). No unnecessary words.

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 many sibling tools, the description should clarify when to use this tool versus other click/hover tools. It also lacks details about prerequisites, error handling, and output. The sparse description is insufficient for an agent to fully understand the tool's context.

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 says 'physical coordinates' but does not define the coordinate frame (viewport, screen, document), units, or valid range. This leaves ambiguity about how x and y are interpreted.

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 moves the mouse to physical coordinates via Bezier curve and simulates a left-click. It distinguishes from siblings like browser_double_click, browser_right_click, and browser_hover by specifying left-click and Bezier movement.

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 for single left-click actions, but provides no explicit guidance on when to use this tool versus alternatives (e.g., double-click, right-click, hover). Given the many sibling tools, more specific usage context would be helpful.

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

browser_clipboard_getA

Read text from the system clipboard.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

The description clearly states it reads text from the clipboard, implying a non-destructive operation. No annotations provided, so the description bears full burden, but it is sufficient for a simple read action.

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 sentence that conveys the entire purpose without any extraneous words or repetition. Extremely concise and front-loaded.

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 zero parameters and no output schema, the description covers the essential behavior. However, it does not specify the return type or format, which could be inferred but not explicitly stated.

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 input schema has zero parameters, and schema description coverage is 100% (trivially). The description adds no parameter information, but none is needed. Baseline 4.

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 'Read' and resource 'text from the system clipboard', clearly indicating the tool's function. It distinguishes itself from the sibling tool 'browser_clipboard_set' which writes to the clipboard.

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?

No explicit guidance on when to use or not use this tool versus alternatives. The description is self-evident for reading clipboard content, but lacks exclusions or mentions of related tools like browser_clipboard_set.

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

browser_clipboard_setC

Write text to the system clipboard.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description must convey all behavioral traits. It only states the basic action, omitting details about synchronization, confirmation, or side effects. For a mutation tool, this is insufficient.

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

Conciseness3/5

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

The description is a single sentence, which is concise but lacks structure. It front-loads the verb but does not justify its brevity with additional useful information.

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 the tool's simplicity (one parameter, no output schema), the description provides the core function. However, it could include information about the return value or that it overwrites the clipboard, which would improve completeness.

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 adds no meaning to the 'text' parameter beyond its type. The agent receives no hints about format, length, or special characters.

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?

Description clearly states the action: writing text to the system clipboard. It distinguishes from the sibling tool browser_clipboard_get which reads the clipboard. However, it could be more specific by mentioning that it overwrites existing clipboard content.

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 like browser_set_value or browser_type. The description does not mention exclusions or context, leaving the agent to infer usage from the tool name and sibling tools.

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

browser_double_clickB

Double-click at physical coordinates. Useful for selecting a word in text.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden. It only states the action and one use case, but does not disclose any side effects, permissions, or potential triggers (e.g., opening links or menus). Minimal transparency.

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?

Two short, front-loaded sentences. Every word earns its place. No extraneous information.

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?

Lacks details like coordinate system (viewport vs page), preconditions, or return behavior. For a simple action it is borderline adequate, but missing context reduces completeness.

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 has two parameters (x, y) with 0% description coverage. The description adds no meaning beyond 'coordinates' – no units, origin, or range specified. Leaves semantic burden entirely on parameter names.

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 ('Double-click') and the resource ('at physical coordinates'), and distinguishes itself from siblings like browser_click and browser_triple_click by mentioning the specific use case of selecting a word in text.

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?

Provides a typical use case ('selecting a word in text') but lacks explicit guidance on when to use this vs alternatives like browser_click for single clicks or browser_triple_click for triple clicks. No mention of when not to use it.

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

browser_dragA

Drag from one coordinate to another with smooth intermediate steps. Useful for drag-and-drop, slider manipulation, or text selection by dragging.

ParametersJSON Schema
NameRequiredDescriptionDefault
toXYes
toYYes
fromXYes
fromYYes
stepsNoNumber of intermediate mouse-move steps (default: 10)

TDQS

A3.8/5.0
Behavior3/5

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

Mentions 'smooth intermediate steps' and default steps count, but lacks details on coordinate system, mouse button release, or prerequisites. No annotations provided, so description carries burden but insufficiently covers behavioral aspects.

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?

Two concise, front-loaded sentences with action verb and examples. 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?

Covers purpose and use cases, but lacks details on coordinate system, prerequisites (element visibility), drop behavior, and error handling. No output schema exists, so more behavioral context would improve completeness.

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?

Only the 'steps' parameter is described in schema (20% coverage). The description does not clarify what coordinates (fromX, fromY, toX, toY) represent relative to (e.g., viewport, element). Description fails to compensate for low schema coverage.

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?

Clearly states 'Drag from one coordinate to another' and lists use cases (drag-and-drop, slider, text selection). Distinct from siblings like browser_click and browser_scroll.

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?

Lists specific use cases (drag-and-drop, slider manipulation, text selection) but does not explicitly compare to alternatives or state when not to use.

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

browser_eval_jsB

Evaluate arbitrary JavaScript in the context of the active page.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states 'Evaluate arbitrary JavaScript' but does not disclose key behavioral traits such as side effects on the page, return value format, sandboxing, or error handling. This is insufficient for a tool that executes arbitrary code.

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 immediately communicates the core purpose. Every word earns its place without 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?

Given that there is no output schema and only one parameter with no description coverage, the description is too minimal. It omits important details like return values, execution limitations, and potential risks, making it incomplete for a powerful tool.

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 description does not add any meaning to the 'code' parameter beyond what the input schema provides (a string). With 0% schema description coverage, the description should compensate but fails to explain what kind of code is valid, context, or return behavior.

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 'Evaluate' and the resource 'arbitrary JavaScript in the context of the active page.' It effectively distinguishes this tool from sibling browser tools that perform specific actions like clicking, typing, or 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 that this tool is for executing custom JavaScript, but it provides no explicit guidance on when to use it versus alternatives, such as for advanced automation or debugging. No exclusions or prerequisites are mentioned.

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

browser_extract_textB

Get the raw text content of the active page or a specific CSS selector.

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorNo

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It does not state whether it waits for page load, what happens if the selector is missing or invalid, or if it returns first matching element or all. The phrase 'raw text content' is vague about formatting.

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?

Very concise single sentence with no wasted words. Structure could be improved by separating the parameter explanation, but it is appropriately sized for the tool's simplicity.

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?

No output schema exists, so description should clarify return format. It does not mention that raw text might exclude hidden elements or include line breaks. With many sibling tools, some additional context about typical use cases would improve completeness.

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 schema has no parameter descriptions (0% coverage). The description adds meaning: optional selector parameter targets a specific element; omitting it returns full page text. This compensates well for the schema gap.

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 gets 'raw text content' and specifies the scope as 'active page or a specific CSS selector'. This differentiates it from siblings like browser_get_html (which returns HTML) and browser_get_attributes (returns attributes).

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 explicit guidance on when to use this tool vs alternatives like browser_scan or browser_get_html. The description implies use for raw text but does not mention exclusions or provide context for selecting among similar tools.

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

browser_fast_forwardA

Instantly fast-forward virtual time (e.g., to skip countdowns or animations) without real-world waiting.

ParametersJSON Schema
NameRequiredDescriptionDefault
msYesMilliseconds to advance

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It explains instant virtual advancement but doesn't disclose potential side effects or prerequisites.

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?

One sentence, no wasted words, front-loaded with key action and examples.

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 no output schema, the description adequately conveys purpose and usage, though it lacks mention of return values.

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 covers 100% of parameters with a clear description for 'ms'. Description adds no extra meaning beyond schema, so baseline score 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?

Description clearly states the tool fast-forwards virtual time with examples (countdowns, animations), distinguishing it from real-time waiting tools like browser_wait.

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?

Provides explicit use cases (skip countdowns, animations) and implicitly contrasts with real waiting, but lacks explicit when-not-to-use or alternatives.

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

browser_focusC

Focus on an element identified by CSS selector.

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorYes

TDQS

C2.8/5.0
Behavior1/5

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

With no annotations, the description carries the full burden, but it fails to disclose behavioral traits: no mention of side effects, error handling, required element visibility, or whether it scrolls to the element. The agent has no information on limitations or safety.

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. However, it may be too concise for the information needed; it earns its place but could be slightly more detailed.

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 simplicity of the tool (one parameter, no output schema), the description is incomplete. It does not explain what 'focus' means, prerequisites, or potential return values. The agent is left with gaps.

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 schema coverage is 0%, so the description must compensate. It states 'CSS selector' which specifies the format of the 'selector' parameter, adding meaning beyond just a string type. This is valuable context for correct usage.

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 ('Focus') and resource ('element') and specifies the input ('CSS selector'). It distinguishes from sibling tools like 'browser_click' or 'browser_type', though 'browser_scroll_to_element' is similar but different. The term 'focus' is standard in browser automation, so the purpose is well-understood.

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 (e.g., when needing to set focus before typing, or when dealing with keyboard events). There is no mention of contextual prerequisites or exclusions.

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

browser_get_attributesC

Get all attributes of an element by CSS selector.

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states only the basic action without disclosing what 'attributes' includes (e.g., all HTML attributes vs. computed styles), whether the element must be visible, or any side effects. A score of 2 reflects minimal behavioral disclosure.

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

Conciseness4/5

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

The description is a single sentence, concise and directly states the core function. However, it could be more informative without sacrificing brevity, e.g., by hinting at return format.

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 lack of output schema and annotations, the description is insufficiently complete. It does not explain what the returned attributes look like, how errors are handled, or performance implications (e.g., for dynamic pages). A simple tool still benefits from more context.

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 ('selector') with 0% description coverage, and the tool description adds no meaning beyond its existence. No hints about format, examples, or constraints are given, leaving the agent to rely solely on the parameter name.

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 purpose: 'Get all attributes of an element by CSS selector.' It uses a specific verb ('Get') and resource ('attributes of an element'), and the method (CSS selector) distinguishes it from sibling tools like browser_get_html or browser_get_page_info.

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, no context on prerequisites (e.g., element must exist), and no exclusions. The agent is left to infer usage from the tool name and description.

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

browser_get_htmlB

Get the HTML content of the active page or a specific CSS selector.

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorNo

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states the basic operation. It does not disclose read-only behavior, error handling, or potential side effects. The minimal description fails to convey important behavioral traits beyond the obvious.

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 that front-loads the core purpose. It avoids unnecessary words, but could expand slightly on parameters without losing conciseness.

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 tool with one optional parameter, no output schema, and no annotations, the description is adequate but incomplete. It lacks details on return format, error states, and usage context among many sibling browser tools. It covers the basics but leaves gaps.

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 description adds meaning to the 'selector' parameter by stating it is a CSS selector for targeting specific content. However, it does not elaborate on selector syntax, return format for sub-elements, or edge cases like invalid selectors. Given 0% schema coverage, this is a partial contribution.

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 'Get' and the resource 'HTML content', and distinguishes between getting the full active page or a specific CSS selector. This is specific and helps differentiate from sibling tools like browser_get_attributes or browser_extract_text.

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 does not provide any guidance on when to use this tool versus alternatives. It lacks explicit context about when to prefer browser_get_html over other extraction tools, nor does it mention any exclusions or prerequisites.

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

browser_get_page_infoA

Get the current page URL and title.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries full burden. 'Get' implies read-only and no side effects, and it specifies the two pieces of data returned. While it could mention behavior when no page is loaded, the description is largely transparent for this simple operation.

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 unnecessary words. Every element adds value, and it is appropriately sized for the tool's simplicity.

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

Completeness5/5

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

Given no parameters, no output schema, and the tool's simplicity, the description completely explains what the tool does (returns URL and title). No additional context is necessary for an agent to use it correctly.

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?

There are no parameters, so per guidelines the baseline is 4. The description adds no parameter information because there are none, and schema coverage is 100% trivially.

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 retrieves the current page URL and title, using a specific verb and resource. It is easily distinguishable from sibling tools that perform other actions like clicking, navigating, or extracting other page data.

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 usage guidance is provided. The description does not mention when to use this tool over alternatives like browser_get_html or browser_extract_text, nor does it specify prerequisites (e.g., requires a loaded page).

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

browser_go_backA

Navigate back in the browser history.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided; the description only states the basic action without detailing side effects or behavior when history is empty.

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?

Single sentence with no extraneous words, perfectly concise.

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 zero parameters and no output schema, the description is sufficient; slight lack of edge-case info but acceptable.

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?

No parameters exist, so schema coverage is complete; baseline is 4 as per guidelines.

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 'navigate back' and the resource 'browser history', which distinguishes it from sibling tools like browser_go_forward and browser_reload.

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 is implied but not stated explicitly.

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

browser_go_forwardA

Navigate forward in the browser history.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

The description is minimal and does not disclose behavioral traits beyond the basic action. No mention of how it behaves when no forward history exists, whether it reloads the page, or any side effects. Without annotations, more behavioral context is needed.

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?

Extremely concise single sentence with no unnecessary words. Information is front-loaded and efficient.

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 no parameters and no output schema, the description is basic but sufficient for the core action. However, it lacks context about failure cases or integration with browser state, which would improve completeness.

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?

No parameters exist, and schema coverage is 100%. The description correctly implies no additional input is needed. Baseline for zero parameters is 4.

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 'navigate' and the resource 'browser history'. It distinguishes itself from siblings like 'browser_go_back' and 'browser_fast_forward' by indicating a single-step forward action.

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. Does not specify prerequisites (e.g., existence of forward history) or conditions under which it should be used instead of 'browser_fast_forward'.

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

browser_hoverB

Hover the mouse over a specific physical coordinate.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must convey behavioral traits. It only states the action but does not disclose whether the hover triggers events, how coordinates are interpreted (viewport vs page), or any side effects beyond hovering.

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 that directly conveys the core purpose. It is concise but could benefit from a brief structure showing parameters and usage hints.

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 the tool's simplicity (2 required params, no output schema), the description is minimally adequate. However, it lacks details on coordinate origin, prerequisites (e.g., page loaded), and does not differentiate from similar tools like browser_click.

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%, so the description must document parameters. It only vaguely mentions 'physical coordinate' without specifying unit (pixels), coordinate system, or that x and y are required numbers. This is insufficient.

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 ('hover') and the object ('mouse') and specifies the location as 'specific physical coordinate', which is precise and distinguishes it from sibling tools like click or scroll.

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 browser_click or browser_scroll_to_element. There is no mention of prerequisites or exclusion criteria.

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

browser_keyboard_shortcutB

Send a keyboard shortcut with modifier keys. Examples: Ctrl+C for copy, Ctrl+V for paste, Ctrl+A for select all, Ctrl+Z for undo, Ctrl+Shift+I for DevTools.

ParametersJSON Schema
NameRequiredDescriptionDefault
altNo
keyYes
ctrlNo
metaNo
shiftNo

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It states the action but lacks detail on focus requirements, timing, side effects, or whether the shortcut is sent to the active page or element. This is insufficient for a tool that simulates complex keyboard interactions.

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 concise with two sentences. The first sentence states the action, and the second provides useful examples. It could benefit from a slightly more structured explanation of parameters, but overall it is efficient.

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 lack of annotations and output schema, the description does not adequately cover behavioral expectations. It explains the basic function and provides examples, but omits parameter details and contextual prerequisites, making it incomplete for reliable agent use.

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 0% schema description coverage and 5 parameters (including 4 boolean modifiers), the description provides no explicit explanation of each parameter. It only illustrates combinations via examples, leaving agents to infer parameter meanings without documentation.

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 purpose: 'Send a keyboard shortcut with modifier keys.' The examples (Ctrl+C, Ctrl+V, etc.) effectively illustrate the functionality and distinguish it from sibling tools like browser_press_key (single key) and browser_type (text input).

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 implicitly guides usage through examples but does not explicitly state when to use this tool versus alternatives like browser_press_key or browser_type. No exclusion criteria or prerequisites are provided.

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

browser_navigateC

Navigate the active browser tab to a specific URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes

TDQS

C2.9/5.0
Behavior2/5

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

The description does not disclose any behavioral details beyond the basic action. It fails to mention whether the navigation waits for page load, what happens on invalid URLs, or any side effects. Since annotations are absent, the description carries the full burden but is insufficient.

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

Conciseness3/5

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

The description is a single sentence, which is concise, but it lacks structure and important details. It could be front-loaded with the main action but still omits necessary information like return behavior.

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 single parameter, no output schema, and no annotations, the description should provide more context about the tool's behavior, such as error handling, loading indicators, or return value. The current description is incomplete for an agent to use effectively.

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 a single 'url' parameter with no description (0% schema coverage). The description adds only 'a specific URL,' which does not clarify URL format, protocol requirements, or whether relative URLs are accepted. The description adds minimal value over the parameter name.

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 ('navigate') and the target resource ('active browser tab to a specific URL'). Among sibling tools like browser_click, browser_type, browser_go_back, etc., this uniquely identifies the navigation functionality without ambiguity.

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 instead of alternatives like browser_go_back, browser_go_forward, browser_reload, or browser_fast_forward. The description does not mention any prerequisites or exclusion scenarios.

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

browser_press_keyB

Press a special key (e.g., Enter, Tab, Escape, Backspace).

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes

TDQS

B3.3/5.0
Behavior2/5

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

The description does not disclose behavioral details beyond pressing a key. There are no annotations to supplement. It does not state whether the key is pressed and released, or if it can be held, or what happens if an invalid key is provided.

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?

Single sentence that conveys the essential information without extraneous words. Front-loaded with the action and examples.

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 the tool's simplicity (one param, no output schema, no annotations), the description is minimally viable. It covers the purpose but lacks differentiation from siblings and behavioral details. For a simple tool, it meets the basic need but has gaps.

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 has 0% description coverage for the key parameter. The tool description adds meaning by listing example keys and stating 'special key', which provides context beyond the raw string type. However, it does not specify the full set of acceptable keys or format.

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 ('Press a special key') and provides specific examples (Enter, Tab, Escape, Backspace), making it clear what the tool does. It distinguishes itself from siblings like browser_type and browser_keyboard_shortcut.

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. Does not specify what constitutes a 'special key' or when to use browser_type or browser_keyboard_shortcut instead. The description implies usage for pressing a single non-character key, but this is not explicit.

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

browser_reloadA

Reload the current page.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, and the description only states the action without disclosing potential side effects like discarding unsaved data or needing confirmation. The behavioral transparency is low.

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 wasted words. It is front-loaded and very concise.

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 the tool's simplicity and lack of parameters/output schema, the description is minimally adequate. However, it lacks details on behavior (e.g., whether it preserves page state) that could be helpful.

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 no parameters, and the schema coverage is 100% (empty). Per guidelines, baseline for zero parameters is 4. The description cannot add parameter info, but it correctly implies no input needed.

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 'Reload the current page' uses a specific verb and resource, clearly indicating the tool's function. It effectively distinguishes from siblings like browser_navigate or browser_go_back, as reload is a distinct action.

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 does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives. Usage is implied by the action itself, but no context is given.

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

browser_right_clickC

Right-click (context menu) at physical coordinates.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It only states the action but omits behavioral details such as whether the context menu appearance is guaranteed, any delays, or how coordinates are interpreted (e.g., viewport vs. absolute).

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

Conciseness3/5

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

The description is extremely concise (one sentence), which is good for front-loading, but it sacrifices necessary detail. It earns its place but could benefit from a second sentence clarifying coordinates.

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 2 required parameters, no output schema, and no annotations, the description is inadequate. It fails to explain return behavior, error states, or any side effects, leaving significant gaps for the agent.

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%. The description mentions 'physical coordinates' but does not define the coordinate system (e.g., CSS pixel coordinates, viewport-relative), leaving the agent to guess units or origin.

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 performs a right-click (context menu) at physical coordinates, distinctly differentiating it from sibling tools like browser_click (left-click) and browser_double_click.

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 (e.g., for triggering context menus), no prerequisites, and no exclusions. The description is purely declarative.

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

browser_scanA

Scan the current page viewport, returning a list of interactable elements and their physical coordinates.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It states the tool scans the viewport and returns interactable elements, implying a read operation. However, it does not elaborate on what 'interactable' means, whether it includes hidden elements, or performance implications. 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, concise sentence that directly communicates the tool's purpose without any unnecessary words. It is well-structured and front-loaded.

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 no output schema and no annotations, the description is the sole source of context. It provides basic functionality but lacks details on output format, element types, or edge cases. For a tool with many siblings, more context would improve completeness.

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 no parameters, so the description does not need to add parameter information. The schema covers 100% of parameters (none), and the description aligns with the schema. A baseline of 4 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 clearly states the action ('scan'), the resource ('current page viewport'), and the output ('list of interactable elements and their physical coordinates'). It distinguishes itself from sibling tools like browser_get_html or browser_screenshot by focusing on interactable elements with coordinates.

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 does not provide any guidance on when to use this tool over alternatives, nor does it mention situations where it should not be used. It only states what it does, leaving the agent to infer usage context.

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

browser_screenshotA

Take a screenshot of the current visible page and return it as an image.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries full responsibility. It states the output is an image but omits crucial details like image format (e.g., PNG, JPEG, base64), behavior during page load, or whether it captures full page or visible viewport only.

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 extremely concise (one sentence, 14 words) with no wasted text. It front-loads the action and result, making it quick 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?

Given the tool's simplicity (no parameters, no output schema), the description is minimally acceptable but leaves out behavioral context that an agent needs, such as return format and page state requirements. More detail would improve completeness.

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 no parameters and schema coverage is 100% by default. With zero parameters, the baseline score of 4 is appropriate; the description adds no parameter info, but none is needed.

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 takes a screenshot of the current visible page and returns it as an image. It uses a specific verb ('Take a screenshot') and resource ('current visible page'), distinguishing it from all sibling tools, none of which capture screenshots.

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. With 38 sibling tools, explicit context about its unique role would help, but none is given.

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

browser_scrollC

Scroll the page using physical mouse wheel events.

ParametersJSON Schema
NameRequiredDescriptionDefault
deltaYYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It mentions 'physical mouse wheel events' but does not disclose direction (only deltaY implies vertical), speed, or required element focus. Lacks side effects or behavior limits.

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

Conciseness3/5

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

The description is very short (one sentence) but lacks essential information. It is concise but incomplete, missing required 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?

Given no output schema, one parameter, and many sibling tools, the description is insufficient. It fails to explain behavior, parameter semantics, or how it differs from other scroll-related tools.

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% and description does not explain the deltaY parameter (e.g., units like pixels or lines). No additional 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 it scrolls the page using physical mouse wheel events, specifying the action, resource, and method. It distinguishes from siblings like browser_scroll_to_element.

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 such as browser_scroll_to_element or browser_fast_forward. No context about prerequisites or usage scenarios.

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

browser_scroll_to_elementB

Scroll the page so the specified element is centered in the viewport.

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorYes

TDQS

B3.4/5.0
Behavior3/5

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

Discloses the scrolling behavior (center element), but lacks details on what happens if the element is not found, whether it requires the element to be visible, or any side effects. No annotations to supplement.

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?

Very concise single sentence with no fluff, but could benefit from a brief note on error handling or parameter specifics without sacrificing brevity.

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?

Adequate for a simple scroll action, but missing information about return value (void), error scenarios, and interaction with page state. Sufficient for basic use but not comprehensive.

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 only parameter 'selector' is implied to be a CSS selector by the description, but not explicitly stated. With 0% schema coverage, the description does not fully document the parameter format or provide examples.

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 (scroll) and the target (element centered in viewport), making it distinct from siblings like browser_scroll which scrolls by offset.

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 such as browser_scroll or browser_focus. The description does not mention prerequisites or exclusions.

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

browser_select_allA

Select all text/content in the currently focused element (Ctrl+A). Commonly used before typing to replace existing text in input fields.

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?

Discloses the core action and analogy to Ctrl+A. No annotations provided; description doesn't cover edge cases (e.g., non-text elements, no focus). Adequate but not comprehensive.

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

Conciseness5/5

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

Two sentences, no fluff. Front-loaded with action and includes practical usage note. Highly efficient.

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?

Covers main functionality and typical use case. Could mention constraints (editable elements only), but given simplicity, it's sufficiently complete.

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?

No parameters; schema coverage is 100%. Description adds meaning by explaining the tool's effect, which is the only needed info. Baseline 4 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?

Description clearly states action: select all text/content in focused element. Provides keyboard shortcut and common use case, distinguishing from siblings like browser_clear_value or browser_type.

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?

Explicitly says 'commonly used before typing to replace existing text', giving a clear context. Lacks explicit 'when not to use' but is adequate given simplicity.

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

browser_select_optionA

Select an option in a dropdown by value attribute or visible text.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYes
selectorYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided. The description does not disclose behavior like waiting for visibility, error on missing option, or support for multi-select. Minimal behavioral context given.

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?

Single sentence, front-loaded with the action and resource, no wasted words. Efficient and to the point.

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?

Adequate for a simple two-parameter tool with no output schema, but lacks details on selector format, error handling, and waiting behavior. Could be more complete given the context of sibling tools.

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 description adds meaning to the 'value' parameter (can be value attribute or visible text), but does not explain the 'selector' parameter format (e.g., CSS selector). Schema has 0% coverage, so description partially compensates.

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?

Clearly states the specific action 'Select an option in a <select> dropdown' and the means 'by value attribute or visible text', distinguishing it from sibling tools like browser_click or browser_type.

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?

No explicit guidance on when to use this tool vs alternatives like browser_click for dropdowns. Implied by the verb 'select', but lacks when-not or alternative recommendations.

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

browser_session_exportA

Export cookies for the current domain to bypass logins later.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It mentions exporting cookies but does not disclose what the output is (e.g., file path, string) or any side effects like clearing cookies. The behavior is partially clear but lacks detail on return values or state changes.

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

Conciseness5/5

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

The description is a single, concise sentence that immediately conveys the tool's core purpose. It is front-loaded with the action and resource, with no unnecessary words.

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 no output schema, and the description does not explain what the tool returns (e.g., cookie data, file). An agent needs to know how to use the result, especially since there is a sibling import tool. This gap makes the description incomplete for effective invocation.

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?

There are zero parameters, and schema description coverage is 100%. The description adds no parameter info, but with no parameters, the baseline is 4. The description does not contradict 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 tool exports cookies for the current domain to bypass logins. It uses a specific verb ('export') and resource ('cookies for the current domain'), and distinguishes from siblings like 'browser_session_import' which handles the reverse operation.

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 for saving login state by exporting cookies, but does not explicitly state when not to use it or mention alternatives. The sibling browser_session_import provides context, but the description itself offers no guidance on when to prefer this over other tools.

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

browser_session_importB

Import cookies into the current domain (JSON string).

ParametersJSON Schema
NameRequiredDescriptionDefault
cookiesYesJSON string of cookies array

TDQS

B3/5.0
Behavior2/5

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

No annotations provided. Description does not disclose side effects (e.g., overwriting existing cookies), authentication needs, or error states. Minimal behavioral information.

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

Conciseness3/5

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

Very concise but at the expense of completeness. The single sentence lacks necessary details, so it does not fully earn 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?

With no output schema and no annotations, the description should cover return values and side effects. It fails to do so, leaving the agent underinformed.

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% and parameter 'cookies' already has description 'JSON string of cookies array'. Description adds no further meaning beyond 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?

Clearly states the action (import), object (cookies), and scope (into current domain). Distinguished from sibling browser_session_export.

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, prerequisites, or alternatives. Single sentence lacks context for decision-making.

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

browser_set_valueA

Directly set the value of an input or textarea element by CSS selector, bypassing the need to click and type. Triggers input and change events. Use this for fast, reliable form filling.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYes
selectorYes

TDQS

A4.1/5.0
Behavior3/5

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

Mentions triggering input and change events, which is behavioral info. With no annotations, this is helpful but does not disclose potential side effects or return 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?

Two sentences, no fluff, front-loaded with action and benefit. Every sentence adds value.

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?

Adequate for a simple set tool but lacks mention of return values, error cases, or waiting behavior. No output schema to compensate.

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?

Description adds meaning to 'selector' (by CSS selector) and 'value' (directly set), and explains event triggering. Schema coverage is 0%, so description compensates well for simple parameters.

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?

Clearly states the action (set value), target elements (input/textarea), method (CSS selector), and benefit (fast, reliable form filling). Distinguishes from sibling tools like browser_type and browser_clear_value.

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?

Explicitly recommends use for form filling and implies it's an alternative to clicking and typing. However, does not explicitly state when not to use or compare to sibling tools like browser_type.

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

browser_tab_closeA

Close the current active browser tab.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Fails to disclose what happens when closing the last tab (e.g., browser closes, new tab opens), any confirmation prompts, or impact on other tabs. Agent cannot anticipate 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?

Single sentence with no wasted words. Action and target are immediately clear.

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?

Describes basic operation but omits important context: behavior when it is the only tab, error conditions, or return value. For a destructive action, more completeness is expected.

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?

No parameters exist, schema coverage is 100%. Baseline for 0 parameters is 4. Description adds no parameter info, which is acceptable.

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 clearly states the action (close), resource (browser tab), and scope (current active). Distinguishes from sibling tools like browser_tab_new, browser_tab_switch, and browser_tab_list.

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 other tab operations (e.g., switching, listing). The description simply states the action without context for appropriate use.

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

browser_tab_listA

List all open browser tabs with their IDs, titles, and URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations provided. The description discloses the basic behavior (listing all open tabs) but does not mention limitations or whether it applies to the current window only.

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?

Single sentence, no fluff, front-loaded with the action and output details.

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 no output schema, the description adequately implies the return format. It is complete for a simple list tool with no parameters.

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?

No parameters exist, so schema coverage is 100%. The description adds no extra parameter info, which is acceptable per the guidelines.

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 'list' and resource 'open browser tabs', and clearly states the fields returned (IDs, titles, URLs). It distinguishes itself from sibling tools like browser_tab_new, browser_tab_close, etc.

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 for viewing open tabs but does not explicitly state when to use this tool versus alternatives like browser_tab_switch or when not to use it.

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

browser_tab_newA

Open a new browser tab, optionally navigating to a URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo

TDQS

A3.5/5.0
Behavior2/5

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

Despite no annotations, the description only states the basic action but omits important behavioral details such as whether the new tab becomes active, whether it waits for the page to load, or any side effects like focus changes.

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 with no wasted words. It is appropriately sized for the tool's simplicity.

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 the tool's simplicity (one optional parameter, no output schema), the description is adequate but lacks context about whether the new tab gains focus or any return value. This is a minor gap for a basic tool.

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 schema provides no description for the 'url' parameter (0% coverage). The description clarifies that it is optional and used for navigation, adding meaning beyond the schema's bare type. However, details like format or behavior for invalid URLs are missing.

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: opening a new browser tab with optional navigation. It is specific and distinguishes from sibling tools like browser_navigate (which navigates the current tab) and browser_tab_switch (which switches to an existing tab).

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. For example, it does not contrast with browser_navigate for URL changes or explain when to choose a new tab over navigating the current tab.

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

browser_tab_switchA

Switch to a specific browser tab by its tab ID (obtained from browser_tab_list).

ParametersJSON Schema
NameRequiredDescriptionDefault
tabIdYes

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description must fully cover behavioral traits. It describes the action as a switch but does not disclose side effects (e.g., focusing the tab, potential page load). For a simple action, this is adequate but lacks depth.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no unnecessary words. Every element serves a purpose.

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 tool with one required parameter and no output schema, the description covers the essential information: what it does and how to get the parameter. It does not mention error handling or invalid IDs, but the simplicity makes this acceptable.

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?

Schema description coverage is 0%, but the description compensates by explaining the parameter's origin: 'by its tab ID (obtained from browser_tab_list)'. This adds meaningful context beyond the raw 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 'Switch' and resource 'browser tab', and clearly states how to obtain the tab ID from browser_tab_list, distinguishing it from sibling tools like browser_tab_close, browser_tab_new, and browser_tab_list.

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 that the tab ID should come from browser_tab_list, providing clear context for usage. However, it does not explicitly state when not to use this tool or mention alternatives.

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

browser_triple_clickA

Triple-click at physical coordinates to select all text in the target element (e.g., select entire text in an input field).

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes

TDQS

A3.5/5.0
Behavior3/5

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

No annotations exist, so the description carries full burden. It reveals the behavior (triple-click selects all text) but lacks disclosure of edge cases (e.g., if coordinates miss the element, or the element is not a text input), or potential side effects. The description is adequate but not comprehensive.

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

Conciseness4/5

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

The description is a single succinct sentence with no wasted words. However, it lacks structural elements like front-loading the most critical information or separating details into bullet points.

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?

No output schema exists, and the tool is conceptually simple. The description covers the primary effect but omits details about coordinate origin, error handling, and behavior on non-element areas. It is minimally complete but leaves room for ambiguity.

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 input schema has two parameters (x, y) with 0% schema description coverage. The description only states 'at physical coordinates' without adding details on coordinate system (viewport vs document), units, or constraints. It barely adds value 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 ('triple-click'), target ('physical coordinates'), and outcome ('select all text in the target element'). It includes an example ('select entire text in an input field') which reinforces understanding. It effectively distinguishes from sibling tools like browser_click and browser_double_click.

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 for selecting all text via triple-click but does not explicitly state when to use this tool versus alternatives like browser_select_all or other selection methods. No exclusions or context for appropriate use are provided.

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

browser_typeC

Inject physical keystrokes into the active element (Requires clicking the element first).

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It reveals that clicking is required but fails to mention side effects like triggering key events, speed, or whether it clears existing content. Does not address potential issues with non-interactive elements.

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

Conciseness3/5

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

The description is concise and front-loaded, but it sacrifices critical information. It is a single sentence that could be expanded without losing 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?

Given the lack of output schema, 0% parameter coverage, and numerous sibling tools, the description is insufficient. It does not explain return values, error conditions (e.g., element not focusable), or how it differs from other typing-related 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?

Schema description coverage is 0%, and the description only says 'inject physical keystrokes' without explaining the single parameter 'text' beyond its obvious meaning. No detail on supported characters, special keys, or handling of empty strings.

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 injects keystrokes into the active element, which is a specific verb and resource. It distinguishes from sibling tools like browser_keyboard_shortcut or browser_press_key. However, 'active element' could be more precise (e.g., focused input field).

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?

Only mentions the prerequisite of clicking the element first. Does not provide when to use this tool versus alternatives like browser_set_value, browser_clipboard_set, or browser_press_key. No when-not guidance.

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

browser_upload_fileC

Upload a local file to a file input element by CSS selector.

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYes
selectorYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided. Description does not disclose behavioral traits like file dialog triggering, browser security implications, or return values beyond the upload action.

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?

One sentence of 13 words is concise and front-loaded. Could include more information without becoming wordy.

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 no output schema, no annotations, and 2 params, the description is thin. Does not explain return behavior, error conditions, or prerequisites (e.g., file existence, input element readiness).

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%. Description adds minimal meaning: 'filePath' is 'local file' but no format details (absolute/relative path?), 'selector' is 'CSS selector' but no syntax. Schema already has types but no descriptions.

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 clearly states the action (upload), target (file input element), and identification method (CSS selector). It distinguishes from siblings like browser_set_value or browser_type.

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, no prerequisites or context (e.g., file must exist, input type must be 'file'). With 38 siblings, differentiation is lacking.

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

browser_waitA

Wait/pause for a specified number of milliseconds before the next action. Useful for waiting for animations, AJAX requests, or page transitions. Default: 1000ms, Max: 30000ms.

ParametersJSON Schema
NameRequiredDescriptionDefault
msNo

TDQS

A4.6/5.0
Behavior4/5

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

Discloses default (1000ms) and max (30000ms) limits, which is useful behavioral context beyond the bare schema. No annotations provided, so description carries the burden well.

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?

Two sentences, no wasted words. Action and constraints are front-loaded. Every sentence adds value.

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

Completeness5/5

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

For a simple parameterless-action tool with no output schema, the description covers purpose, usage context, and parameter details. Complete and sufficient.

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

Parameters5/5

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

Single parameter 'ms' has no schema description (0% coverage), but the description provides meaning: unit (milliseconds), default, and max. Fully compensates for schema gap.

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?

Clearly states the tool waits/pauses for a specified milliseconds before the next action. The verb 'wait' and resource 'time' are explicit, and it distinguishes from sibling tools like 'browser_wait_for_download'.

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?

Provides context for when to use (animations, AJAX, page transitions) but does not explicitly exclude cases or mention alternatives. Still clear enough for appropriate use.

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

browser_wait_for_downloadA

Wait for a download to complete and get its path. Default timeout 30s.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeoutNoTimeout in ms

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided. Description discloses default timeout and that it returns path, but does not explain blocking behavior, failure handling, or return format. Adds some value but omits important behavioral 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?

Two short sentences conveying essential information with no redundancy. Purpose and default timeout are front-loaded.

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?

Adequately covers the tool's simple functionality: waits, uses timeout, returns path. Could mention that it assumes a download is already in progress, but not strictly necessary.

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?

Schema coverage is 100% for the single parameter 'timeout' with description 'Timeout in ms'. Tool description adds the default value '30s', which provides meaningful extra context 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?

Description clearly states the action (wait for download to complete) and result (get path), with specific resource (download). Distinguishes from sibling browser_wait by specifying download context.

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?

Implicitly states when to use (when expecting a download), but lacks explicit exclusions or alternatives. However, the specific download context differentiates it from general wait tools.

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

get_extension_infoA

Get the absolute local path to the unpacked browser extension folder. Use this to help the user load the extension if it is not connected.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

The description explains the basic behavior (retrieving a path) but lacks details about return format, potential errors (e.g., extension not found), or any side effects. Since no annotations are provided, the description carries the full burden for behavioral transparency.

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

Conciseness5/5

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

The description is two sentences, both directly relevant and devoid of fluff. It efficiently conveys purpose and usage.

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 description adequately covers the tool's purpose and usage context but does not specify output format or error conditions. Given the simple nature (no parameters, no output schema), it is minimally complete, but additional detail on return value would improve completeness.

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?

There are no parameters (0 params), and the schema coverage is 100% (empty schema). Per guidelines, a baseline of 4 is appropriate when no parameters are present, and the description does not need to add 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 clearly states the action ('Get the absolute local path') and the resource ('unpacked browser extension folder'). It also provides context for usage, distinguishing it from sibling browser automation tools that perform actions rather than retrieve information.

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 explicitly mentions when to use this tool ('to help the user load the extension if it is not connected'), providing clear context. However, it does not discuss alternatives or when not to use it, though given its unique purpose, this is a minor omission.

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

TDQS

B3.4/5.0
Disambiguation5/5

Each browser automation tool has a clearly distinct purpose, with different click types, input methods, and navigation actions that are well-described and non-overlapping. Even similar actions like browser_type and browser_set_value are differentiated by how they interact with elements.

Naming Consistency4/5

Almost all tools follow the consistent pattern of 'browser_' prefix with snake_case verb_noun names (e.g., browser_click, browser_navigate). The only exception is 'get_extension_info' which lacks the prefix, breaking the pattern slightly.

Tool Count3/5

With 41 tools, the server covers a very broad scope of browser interactions. While each tool is justified, the count is on the high end and could potentially be reduced by combining some related actions into more parameterized tools.

Completeness4/5

The tool set covers nearly all common browser automation scenarios including navigation, clicking, typing, scrolling, tab management, clipboard, sessions, and file operations. A minor gap is the lack of a tool for extracting structured page data beyond raw text/HTML.

Maintenance

ActivitySlowing
ResponsivenessSyncing

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
    Not graded
    quality
    A
    maintenance
    single-binary MCP server that gives AI agents a browser. 66 tools for navigation, form filling, data extraction, screenshots, and DOM diffing — built on pure Chrome DevTools Protocol.
    9
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    An MCP server that lets LLM agents control all Chrome browser tabs via accessibility snapshots, element references, and a virtual cursor, supporting operations like click, type, navigate, screenshot, and video recording.
    MIT

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/SilenceEchoLab/PhantomHand'

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