llm-wiki-chrome
LLM Wiki for Chrome
公开、无内容执行基底,用于针对性的 llm-wiki 适配器。它提供一个 Chrome 扩展、一个允许列表中的原生消息主机、一个私有 Unix 域套接字中继,以及一个带版本的类型化作业契约。
扩展和本地连接器源代码是公开的。浏览器权限、页面数据、凭据、私有结果槽和运行时套接字保留在本地,从未成为仓库内容。公开源代码可用性不代表 Chrome 网上应用商店发布或允许发布用户数据。
这不是一个自主的自然语言浏览器代理。它暴露一个小的结构化代理工具表面——共享标签页、无障碍快照、视口截图、语义点击、私有文本插入、按键组合和滚动——并将每个调用编译为相同的精确目标类型化协议。它不接受任意 JavaScript、原始 CDP 方法、下载的代码、环境浏览器访问或页面编写的操作。特定于提供商的适配器仍然拥有更强的路由、认证、日志、恢复、幂等性以及关键工作流的最终回读验证。

点击协作流程
扩展不需要持久的站点访问或每页 Chrome 主机注册。用户打开一个 HTTPS 页面并点击扩展操作。它在 Chrome 中的名称是 LLM Wiki for Chrome;浏览器执行器术语仅用于内部协议和实现。 该 Chrome 用户手势创建一个新的临时协作授权,绑定到确切的标签页、URL 和来源。点击其他标签页构建一个最多 16 个授权的显式工作区;执行器从不枚举不相关的标签页。同源导航会轮换确切的授权 ID 和 URL,因此过时的程序会安全失败。当标签页离开其来源、关闭,或用户在侧面板中停止该标签页或整个工作区时,授权被撤销。
一个活跃的授权在页面上显示为固定的绿色轮廓和“LLM WIKI • CONTROLLED”标签,以及一个“ON”操作徽章。该标记是打包的、非交互式的、对内容无感知,仅在扩展点击后注入;当授权被撤销时被移除,并且从不接收页面或作业内容。
操作监听器接收 Chrome 的 activeTab 授权,并同步打开该确切标签页的侧面板。面板加载确认操作创建的授权;中继的面板消息从不尝试打开面板或制造用户手势。其连接按钮是一个状态/重试控件,不能替代创建 activeTab 权限的工具栏手势。已连接状态意味着授权已通过实时本地连接器发布,因此代理可以使用 browser_status 检测就绪状态,而无需用户检查扩展内部。
本地代理和针对性适配器通过原生套接字检索私有工作区。直接代理必须首先列出确切点击的授权,并在每个工具调用中命名一个协作 ID。然后服务器编译一个固定的类型化程序,如果授权或页面已更改则安全失败。点击授权对该确切标签页进行有界读取和结构化交互;它从不授予环境浏览器访问权限。关键性提供商工作流仍然使用针对性适配器以获得更强的先决条件和独立验证。
适配器代码仍然需要安装并信任一次。协作授权仅替换每个资源的注册和提供商 OAuth,仅限于那些可以通过浏览器 UI 检查和验证的工作流。针对性适配器可能会保留第一方 API 作为可选更强的验证路径。
变异程序可以绑定提供商拥有的修订指纹与 assert_ax_private_sha256。执行器在受控变异边界之前,立即在确切暴露的标签页上重新计算有界无障碍投影,并在漂移时安全失败。预期的哈希仍然是私有值;它和投影的页面内容都不会显示在侧面板中。
提供商适配器直接使用捆绑的客户端:
from browser_executor.client import BrowserExecutorClient
executor = BrowserExecutorClient()
collaboration = executor.collaboration_for_url(expected_url)
if collaboration is None:
raise RuntimeError("click the extension on the target page")
# Bind collaboration_id, url, and origin into the signed typed program.
result = executor.run(program, private_values=private_values)Codex 和其他 MCP 客户端使用提供商中立的直接协作表面,而不是自行构建程序:
.venv/bin/python adapter.py mcp-serverMCP 服务器发布一个固定的结构化工具清单,涵盖显式标签页生命周期、确切同源导航、等待、无障碍快照、视口/区域/全页截图、元素几何、点击/悬停/输入/选择/拖拽/按键/滚动、有界诊断、注册根文件传输、密码管理器 UI 激活以及内存中工作流起草。它没有任意程序、CSS 选择器、脚本、自然语言执行工具或不相关标签页查询。页面内容仅返回给调用中的本地代理,不会由此仓库持久化或显示在侧面板中。
Related MCP server: Chrome MCP Control Center
开发状态
当前开发分支扩展了 0.0.1 基础,包含第一个有界执行切片:
严格的程序哈希和验证;
Python 客户端和 MV3 验证器的跨语言策略决策测试;
确切的 HTTPS 目标和有界动作声明;
点击创建的 active-tab 授权,无持久主机权限;
有界多标签页协作工作区,带私有确切 URL 查找;
每个 Chrome 实例的原生套接字由本地客户端聚合,因此多个 Chrome 配置文件或进程不会覆盖彼此的共享标签页;
固定的页面轮廓/标签和工具栏徽章,显示哪些标签页被控制;
绿色
LLM Wiki标签组,仅包含显式授权;同源打开/导航/历史/重新加载、确切标签页聚焦/关闭、语义等待、悬停、选项选择、拖放和滚动到元素原语;
扁平化、有界无障碍集合,跨越附加的子帧目标,包含会话绑定的几何和交互;语义 AX 发现也覆盖开放的影子树,而不启用任意 DOM 遍历;
区域和尺寸限制的全页截图、语义元素几何和有界性能指标;
机器本地上传/下载根目录,带真实路径检查、完成下载验证、危险状态强制执行、流式哈希,且无隐式文件系统权限;
手动、批准计划和自动有界授权模式,受保护操作始终回退到本地确认和无内容会话决策计数器;
无内容完成/注意力通知;
可取消的内存中只读快照计划,其私有结果被检索一次,权限随 MCP 进程或标签页授权过期;
内存中记录已输入的代理操作,形成哈希绑定、需要审查、故意不可重放的提供商驱动草稿;
密码管理器 UI 激活,从不接收凭据值;以及
提供商驱动 SDK,将针对性适配器绑定到确切授权、批准计划哈希、一个变异回调和适配器拥有的后置条件验证;
操作监听器标签页授权、侧面板状态/重试控制和无内容代理就绪工具;
无内容侧面板工作区、进度条、每个标签页的撤销和取消;
分离的读取和变异能力;
Python 客户端中的一个受控变异回调;
稳定的扩展身份和确切原生主机来源;
私有本地状态、短套接字路径、消息限制和一个活跃作业;
确切标签页激活和审查的同源导航;
直接本地 MCP 代理表面,使扩展点击立即可发现并可由代理控制,无需提供商 OAuth 授权;
允许列表中的 DOM 和无障碍树读取、等待和私有提取;
字节限制的私有视口 JPEG 捕获,执行器端不持久化;
有界视口滚动、去重长列表收集和私有 AX 链接/描述提取;
通过私有结果槽的有界确切标签页浏览器日志捕获;
有界确切标签页请求元数据捕获,去除查询字符串并忽略头部、主体、cookie、发起者和安全细节;
有界确切标签页控制台 API 捕获,仅保留标量参数,从不评估或解引用远程对象;
类型化点击、聚焦、按键组合和私有文本插入动作;
取消、目标焦点漂移检测、结果大小限制和尽力调试器清理(取消在下一个有界动作处停止,不能回滚已开始的变异);
提供商效果前的一次性预变异授权;以及
无路由的 llm-wiki 自测试清单;以及
无内容扩展状态面板,包含已连接、运行中、授权和失败状态。
此分支不是发布版或已安装的提供商替代品。针对性适配器影子运行、提供商拥有的验证、升级/回滚测试以及显式发布批准在合并的 0.1.0 之前仍然是必需的。
仓库边界
允许跟踪的材料:
可执行代码和扩展资产;
协议模式和安全文档;以及
合成夹具和确定性测试。
绝不提交真实资源 URL 或标识符、页面文本、截图、捕获、计划、收据、提取结果、cookie、凭据、浏览器存储或提供商语料库。运行时输入和输出保留在针对性适配器的独立受控数据平面中,并应尽可能保留在内存中。
架构
local agent through fixed MCP tools OR a targeted provider adapter
-> select one exact user-created click grant from the private collaboration workspace
-> deterministic typed program + exact approved plan hash
-> BrowserExecutorClient over a private Unix socket
-> allowlisted Native Messaging host
-> shared MV3 extension on the exact user-exposed tab
-> one-shot before-mutation challenge when required
-> private result slots returned only to the targeted adapterllm-wiki 可能会看到此仓库的无路由 self-test 适配器清单,但它从不直接将外部编辑或研究请求路由到执行器。
打包和安装
可安装产品在 Chrome 的安全边界处拆分:
llm-wiki-chrome原生伴侣: Python 客户端、固定 MCP 服务器、原生消息主机、安装程序、诊断工具和打包的扩展资产;LLM Wiki for Chrome: 公开源代码的 MV3 扩展 ZIP。Chrome 网上应用商店发布仍然是需要显式批准的单独发布步骤;加载未打包路径仍然是开发工作流。
仅用于开发的 Homebrew 配方可从 nvk/tap 获得,作为 HEAD 构建。它故意不是稳定发布版:
brew install --HEAD nvk/tap/llm-wiki-chrome
llm-wiki-chrome install
llm-wiki-chrome doctorinstall 写入确切来源的原生消息注册。它不安装守护进程:Chrome 按需启动主机,并通过标准输入/输出与之通信。每个 Chrome 主机在确定性路径 /tmp/llm-wiki-chrome-<uid>/ 下创建一个私有的每进程套接字。CLI、MCP 服务器和针对性适配器自动发现这些套接字。没有正常的套接字参数、端口、配对码或环境变量。现有的环境覆盖仅用于特殊的沙盒或开发设置。
对于未打包的开发安装,向包询问确切路径:
llm-wiki-chrome extension-path从 chrome://extensions 加载该目录,并运行 llm-wiki-chrome doctor。healthy: true 确认包和原生消息注册;connected: true 在 Chrome 打开扩展的原生端口时出现。仅卸载原生伴侣注册:
llm-wiki-chrome uninstall文件传输默认禁用。仅在 ~/.config/llm-wiki/browser-executor.json 中启用明确的机器本地根目录:
{
"upload_roots": ["/absolute/private/staging/uploads"],
"download_roots": ["/absolute/private/staging/downloads"]
}每个路径拒绝最终符号链接,解析其父目录链,并且必须保持在注册根目录内。上传值仅在私有槽中传输。下载必须完整、被 Chrome 接受为安全、位于注册根目录内,并且在返回给调用方之前由本地伴侣进行哈希处理。
侧面板提供 Manual、Approved plan 和 Automatic bounded jobs。
默认选项为 Approved plan。文件上传、对话处理以及凭据代理激活仍然是受保护的操作,始终需要本地手动确认。授权历史记录是一个无内容的会话计数器,而非页面内容日志。
工作流录制仅捕获已通过固定 MCP 界面请求的键入操作。browser_record_stop 返回一个内存中、哈希绑定、需审查的草稿。通用执行器不会重放该草稿;必须由目标适配器审查、编译、授权、记录并独立验证版本化的提供者工作流。直接界面只允许在精确授权和 MCP 进程仍然活跃时,对只读快照进行内存中的有界调度。持久化或周期性调度、变更、恢复和日志记录保留在目标适配器或外部调度器中,绝不在扩展的意图层中。
目标适配器可以通过 browser_executor.driver.ProviderDriverSession 集中执行边界,该会话拒绝计划哈希或精确授权漂移,并要求适配器拥有 status: verified 后置条件。
构建一个确定性、无内容的 Chrome Web Store ZIP 包,无需发布:
python3 scripts/package_extension.py这些构建命令不会执行任何发布、标签、商店上传或已安装升级。
开发
python3 -m venv .venv
.venv/bin/python -m unittest discover -s tests -v
.venv/bin/python -m compileall -q adapter.py browser_executor tests
node --check extension/service-worker.js
node --check extension/protocol.mjs
node --check extension/executor.mjs
node --check extension/sidepanel.js确定性套件由一个独立的真实浏览器冒烟测试补充。它需要匹配的 Chrome for Testing 和 ChromeDriver 对,以及运行时提供的精确批准的读取目标;它不会触及正常的 Chrome 配置文件,也不会打印、持久化或返回捕获的视口:
LLM_WIKI_BROWSER_E2E_TARGET_URL='<exact approved HTTPS target>' \
.venv/bin/python tests/chrome/run_extension_e2e.py \
--chrome '/path/to/Google Chrome for Testing' \
--chromedriver '/path/to/chromedriver'测试框架将解压后的扩展复制到临时目录,添加一个仅测试的扩展页面,在无头 Chrome 中运行已签名的读取程序,并仅返回无内容计数器。Chrome 二进制文件不会由仓库下载或安装。
自测是无内容的:
.venv/bin/python adapter.py describe
.venv/bin/python adapter.py execute --request /private/request.json \
--response /private/response.json安装源码签出的本地主机一次,并注册其 MCP 命令:
.venv/bin/python adapter.py install
codex mcp add llm-wiki-browser \
-- .venv/bin/python adapter.py mcp-server注册后重启代理会话,即可使用固定的工具清单。Chrome 在用户于特定 HTTPS 标签页上点击扩展之前仍然不暴露任何内容,停止协作将撤销授权。如果运行时无法访问私有的默认 /tmp 目录,则可以对两个命令一致地设置 LLM_WIKI_BROWSER_EXECUTOR_NATIVE_SOCKET,但这不属于打包用户流程的一部分。
browser-install 写入一个精确来源的 Native Messaging 清单和启动器。仅在显式安装或迁移任务期间使用它。加载解压后的扩展、更改正常的 Chrome 配置文件以及升级已安装的副本不属于测试套件的一部分,需要明确的用户指示。
安全模型
执行器在 Python 和扩展中独立验证规范程序哈希、计划哈希、活跃协作 ID、固定驱动身份/版本、精确目标、能力、限制、动作词汇、私有槽位和结果允许列表。不存在持久化主机权限、<all_urls> 访问或内容脚本;Chrome 的 activeTab 授权仅通过用户的扩展点击创建。解释器具有固定的 CDP 方法允许列表,不接受 Runtime.evaluate、原始方法、脚本或页面生成的操作。
固定的 CDP 允许列表还包括配对的 Log.enable/Log.disable 和 Network.enable/Network.disable 窗口。后者仅保留有界的私有请求方法、来源/路径、资源类型、状态、MIME、缓存和失败标量;它会剥离查询字符串,从不保留标头、主体、Cookie、发起者、安全详情或请求 ID。这两种能力都不会暴露原始诊断方法或请求拦截。一个单独的配对 Runtime.enable/Runtime.disable 窗口仅保留有界的私有 Runtime.consoleAPICalled 类型、时间戳和标量参数。它忽略上下文、堆栈、描述、预览和对象 ID,绝不允许评估、编译、函数调用、脚本执行或属性访问。每个 Chrome 本地主机进程在配置的基础路径下绑定一个唯一的私有套接字。客户端仅发现这些严格命名的套接字,聚合它们的显式协作工作空间,并将作业路由到拥有其精确授权的单个主机。这可以防止多个 Chrome 配置文件相互替换中继,同时保持每个作业一个精确标签页。
执行器是受信任的本地代码,而不是操作系统沙箱。目标适配器仍需负责授权每个重要的提供者效果,并独立证明提供者的最终状态。直接变更工具会跨越一个内部一次性边界,但故意不声称提供者事务性保证。请参阅 SECURITY.md。
Available Tools
34 toolsbrowser_clickB
Click one uniquely identified accessibility-tree control in an explicitly shared tab.
| Name | Required | Description | Default |
|---|---|---|---|
| locator | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It fails to describe what happens on success or failure, whether the tool waits for an element, any side effects (e.g., navigation, state changes), or required permissions. The single sentence offers no transparency beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately states the verb and resource. It contains no filler or redundant text, and every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (nested locator object with many properties), lack of output schema, and no annotations, the description is too sparse. It omits critical context: how to uniquely identify a control, definition of 'explicitly shared tab', expected return values, and error scenarios. An agent would need additional knowledge to use this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter-level information. The schema covers 50% of parameters (locator has a schema description; collaboration_id has only a regex pattern). The description does not explain how to construct the locator, the meaning of 'unique', or the purpose of collaboration_id, leaving the agent to infer from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Click') and the resource ('accessibility-tree control'), with specific qualifiers ('uniquely identified', 'explicitly shared tab') that distinguish it from sibling tools like browser_hover or browser_select.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., browser_hover, browser_click vs. browser_select) and does not mention prerequisites, error conditions, or when not to use it. The only contextual hint is 'explicitly shared tab', which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_closeC
Close one exact explicitly shared tab through a governed mutation boundary.
| Name | Required | Description | Default |
|---|---|---|---|
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It mentions a mutation boundary but does not explain what that entails (e.g., permissions, side effects, reversibility). The agent cannot assess safety or impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence. However, it sacrifices clarity for brevity. Every word should earn its place, but jargon like 'governed mutation boundary' adds little.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (single required param, no output schema), the description should clarify return behavior, error conditions, and prerequisites. It fails to do so, leaving the agent guessing about success signals.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and there is only one parameter (collaboration_id) with a regex pattern. The description adds no meaning to this parameter—it does not explain what a collaboration_id is, how to obtain it, or why it is needed for closure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Close one exact explicitly shared tab through a governed mutation boundary.' The verb 'Close' and resource 'tab' are clear. It distinguishes from siblings like browser_open, but the meaning of 'governed mutation boundary' is somewhat vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like browser_navigate, browser_focus, or closing via dialogs. The 'exactly explicitly shared' phrasing is confusing and doesn't help an agent decide contextually.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_credential_fillA
Focus a field and invoke a local password-manager UI without receiving the secret.
| Name | Required | Description | Default |
|---|---|---|---|
| broker | Yes | ||
| locator | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the disclosure burden. It reveals a critical behavioral trait: the tool never receives the secret. This goes beyond typical expectations and is valuable safety information, though it does not detail what happens after the UI is invoked (e.g., blocking behavior, user interaction required).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence of 14 words conveys the core action and safety constraint. Every word earns its place with no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has nested objects and an enum, with no output schema. The description covers purpose and the key safety aspect, but omits expected behavior after invoking the UI (immediate return vs. waiting for user action) and potential failure modes. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the description provides no additional parameter explanations. The locator's schema description is helpful, but the description overall does not compensate for the low coverage—broker choices and collaboration_id semantics are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: "Focus a field and invoke a local password-manager UI" — a specific verb and resource. It also distinguishes itself from siblings by adding the key constraint "without receiving the secret," which sets it apart from browser_type or browser_focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for credential filling without exposing secrets, providing clear context. However, it does not explicitly name alternatives (e.g., browser_type, browser_focus) or state when not to use the tool, so guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_diagnosticsC
Capture bounded logs, scalar console events, request metadata, and performance metrics.
| Name | Required | Description | Default |
|---|---|---|---|
| duration_ms | No | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description partially discloses behavior by listing the captured data types. However, it does not state whether the operation is read-only, whether it has side effects, or what the output format is. 'Bounded logs' is ambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence (10 words) with a clear verb at the start. However, its brevity sacrifices necessary detail, making it efficient but incomplete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has two parameters, no output schema, and no annotations, the description fails to cover return values, parameter roles, or how the diagnostic data is provided. It is materially incomplete for reliable agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no information about the two parameters (collaboration_id, duration_ms). The agent is left to infer their meaning from names and schema constraints alone, which is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Capture' and lists distinct resources (logs, console events, request metadata, performance metrics). It clearly distinguishes from sibling browser tools that focus on interaction (click, navigate, type) rather than diagnostics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., browser_record_start, browser_snapshot). There is no mention of prerequisites, context, or exclusions, leaving the agent without decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_dialogB
Accept or dismiss a browser modal dialog; prompt text stays in a private slot.
| Name | Required | Description | Default |
|---|---|---|---|
| accept | Yes | ||
| prompt_text | No | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It states the tool accepts or dismisses dialogs and notes prompt text is stored privately, which hints at immutability, but doesn't disclose side effects (e.g., what happens to the page after dismissal, or if the operation is destructive). Some behavioral context is added beyond what the schema provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at one sentence with two clear actions. It is front-loaded with purpose, and every part adds information, though the 'private slot' phrase could be more straightforward.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides a basic understanding for a modal dialog tool, but lacks completeness for a 3-parameter tool with no output schema. It doesn't explain what 'accept' boolean does (true=accept, false=dismiss), when 'prompt_text' is needed, or the return behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the 3 parameters. It mentions 'accept' and 'prompt text' implicitly through context, but doesn't explain the role of 'collaboration_id' or when to provide 'prompt_text'. The description adds minimal value beyond what the schema shows (e.g., boolean accept, string prompt_text).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('accept or dismiss') and resource ('browser modal dialog'). It distinguishes from siblings by focusing on dialog handling, which is unique among the listed tools. The mention of 'prompt text stays in a private slot' adds specificity but could be clearer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for browser modal dialogs, but provides no explicit guidance on when to use it versus alternatives (e.g., no mention of checking for a dialog first or handling timeouts). No when-not-to-use or sibling differentiation is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_downloadC
Click a semantic download control and verify completed files against registered roots.
| Name | Required | Description | Default |
|---|---|---|---|
| locator | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| timeout_ms | No | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It mentions clicking and verifying downloads but does not disclose side effects, timeout behavior, return values, or what happens on failure. This is insufficient for a mutation-like tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant words. It efficiently conveys the core action and verification step.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool's apparent complexity (nested locator, download verification, no output schema), the description omits essential context such as expected return format, error handling, and the meaning of 'registered roots'. It is far from complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the tool description adds no parameter-specific meaning. The locator schema is described as semantic, but the description does not explain how parameters like 'locator' or 'timeout_ms' are used in the download context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool clicks a semantic download control and verifies completed files, with a specific verb and resource. It distinguishes itself from generic browser_click by adding download verification, though 'registered roots' is ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like browser_click or browser_upload. The description does not mention prerequisites, exclusions, or specific scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_dragC
Drag one semantic element to another using bounded pointer steps.
| Name | Required | Description | Default |
|---|---|---|---|
| steps | No | ||
| locator | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| destination | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It mentions 'using bounded pointer steps' but does not explain what steps are, whether DOM events are triggered, visual effects, error conditions, or performance implications. The phrase is insufficient for an agent to 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no redundancy. Every word earns its place, though it could benefit from a second sentence covering usage constraints without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 4 parameters including two complex nested objects, no output schema, and no annotations, a one-sentence description is far from complete. It omits failure modes, behavior when elements are not found, step granularity, and return value. Significant gaps remain for the agent to safely invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (locator/destination have inline descriptions). The description adds no new information about parameters. The 'steps' parameter lacks any semantic guidance beyond its numeric bounds. The description fails to compensate for the uncovered half.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('drag') and the operands ('one semantic element to another') using a specific verb and resource. No other sibling tool performs drag, so it is well-differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites (e.g., source/target must be visible), and no exclusion criteria. The agent must infer usage context entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_focusA
Focus one explicitly shared tab without reading or mutating its page.
| Name | Required | Description | Default |
|---|---|---|---|
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It clearly states the tool does not read or mutate the page, which is valuable. However, it does not disclose other behavioral traits such as whether focus fails silently if the tab is not shared, whether it toggles focus, or any error conditions. Additional context would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 11-word sentence that is front-loaded with the action and efficiently conveys the core purpose and key non-behaviors. Every word earns its place, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description covers the basic purpose and safety profile (no read/mutate). However, it omits explanation of the parameter, prerequisites (what qualifies as 'explicitly shared'), error handling, and return behavior, leaving gaps for an AI agent that needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention the sole parameter 'collaboration_id' at all. It only vaguely references 'one explicitly shared tab' without linking to the parameter. The agent must infer meaning solely from the parameter name and its pattern, which is insufficient for a tool that requires correct identification of a shared tab.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the verb 'Focus' and the resource 'one explicitly shared tab', and clarifies it does not read or mutate the page. This distinguishes it from sibling tools like browser_open (opens new tab), browser_tabs (list tabs), and browser_click (interacts), making its purpose highly specific and clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for bringing a shared tab into focus without side effects, but does not explicitly state when to use it versus alternatives (e.g., browser_open for creating a new focused tab, or browser_click to bring a tab into focus via interaction). No exclusions or prerequisites are provided, so usage guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_full_page_screenshotB
Capture a dimension- and byte-capped full-page JPEG from an explicitly shared tab.
| Name | Required | Description | Default |
|---|---|---|---|
| quality | No | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the output format (JPEG) and existence of caps, but omits critical behavioral details: whether scrolling occurs automatically, how dynamic content is handled, error states (e.g., tab not shared), or side effects. The phrase 'explicitly shared tab' is vague and does not clarify the sharing mechanism 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 13-word sentence with no redundancy. It is front-loaded with the action verb and uses minimal words to convey the core function and constraints. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 2 parameters and no output schema, the description is too sparse. It lacks information about prerequisites (how to share a tab), the meaning of dimension/byte caps, return format details, and potential failure modes. Sibling tool names hint at full-page capture, but integration context is insufficient for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description must compensate. It explains collaboration_id implicitly as the identifier for the 'explicitly shared tab', which adds meaning beyond the pattern. However, the quality parameter is completely unaddressed. The description partially covers one of two parameters, earning a middle score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses a specific verb ('Capture') and resource ('full-page JPEG from an explicitly shared tab'). It clearly distinguishes from siblings like browser_screenshot (viewport) and browser_region_screenshot (region) by specifying 'full-page'. The constraints 'dimension- and byte-capped' further clarify the tool's scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The mention of 'explicitly shared tab' hints at a prerequisite but does not explain it. There is no indication of when not to use it, what sibling tools are better suited for other scenarios, or any usage context beyond the core action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_geometryC
Return bounded private geometry for semantic elements in an explicitly shared tab.
| Name | Required | Description | Default |
|---|---|---|---|
| locator | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| max_items | No | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the return value but fails to disclose important traits such as authentication requirements (e.g., must the tab be part of a collaboration session?), error handling for non-shared tabs, rate limits, or the meaning of 'private' and 'bounded.' Minimal transparency for a tool with complex prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 12-word sentence, making it concise and efficient. It front-loads the key action and output. However, the brevity comes at the cost of completeness; a second sentence clarifying the geometry type or prerequisite would improve it without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (nested schema, 3 parameters, no output schema, no annotations, many sibling tools), the description is significantly incomplete. It does not explain what 'bounded private geometry' means operationally, how the collaboration_id is obtained, how the locator is constructed, or what the return format looks like. The agent lacks enough context to use this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only the locator field has a description). The tool description adds no explanation for any of the three parameters (collaboration_id, locator, max_items). It does not clarify how collaboration_id relates to sharing, how locator filters elements, or the purpose of max_items. The description fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Return') and resource ('bounded private geometry for semantic elements') with context ('explicitly shared tab'). This distinguishes it from visual capture tools like browser_screenshot or browser_snapshot. However, the term 'bounded private geometry' could be more explicit (e.g., bounding boxes or coordinates) to remove ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like browser_snapshot, browser_screenshot, or browser_diagnostics. It only mentions 'explicitly shared tab' as a prerequisite but does not state when the agent should prefer this tool or what conditions exclude its use. No explicit when-not or alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_historyC
Go back or forward only when the caller supplies the exact expected same-origin URL.
| Name | Required | Description | Default |
|---|---|---|---|
| direction | Yes | ||
| expected_url | Yes | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals a key constraint: the tool only performs the action if the supplied URL exactly matches and is same-origin. However, it does not disclose what happens when the condition fails (error, no-op), nor does it mention any side effects like changing the history stack. The single constraint is useful but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 12 words, front-loading the core action and constraint. It is concise and avoids redundancy. However, it could be restructured to also cover parameter roles or usage context without losing brevity. A slightly expanded version would improve completeness while maintaining conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 3 required parameters, no output schema, and no annotations. The description is extremely brief and does not explain return values, error handling, prerequisites (e.g., a page must be loaded), or the effect of the tool on browser state. Given the tool's simplicity, a short description is acceptable, but it lacks essential details for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for undocumented parameters. It only mentions 'expected_url' implicitly but does not explain the meaning or allowed values of 'direction' (back/forward), the role of 'collaboration_id', or the format constraints for 'expected_url'. The description adds minimal value beyond the schema's enum and patterns.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: navigating browser history back or forward. The condition 'only when the caller supplies the exact expected same-origin URL' adds specificity. It distinguishes from siblings like browser_navigate (which goes to a new URL) and browser_reload (reloads current page). The verb 'go back or forward' paired with 'browser history' is clear, though slightly terse.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention when not to use it, prerequisites, or compare with sibling tools such as browser_navigate, browser_reload, or browser_scroll. The implied usage (back/forward navigation) is clear but lacks any exclusionary context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_hoverB
Hover one uniquely identified semantic element in an explicitly shared tab.
| Name | Required | Description | Default |
|---|---|---|---|
| locator | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing behavioral traits. It only states 'hover' without explaining whether the action triggers side effects (tooltips, hover styles), is reversible, or requires specific element states (visible, enabled). No constraints or side effects are mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately conveys the core action and constraints. Every word is necessary; no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a complex locator schema and no output schema, the description is too sparse. It does not explain hover behavior, return values (if any), failure scenarios, or how the locator is used. The complex nested locator object would benefit from usage examples or parameter guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (locator has a helpful description about being a semantic accessibility-tree locator; collaboration_id has none). The tool-level description adds no parameter meaning beyond the schema. Baseline 3 is appropriate since coverage is not low, but the description does not compensate for the missing collaboration_id guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('hover') and the target ('one uniquely identified semantic element in an explicitly shared tab'). This specific verb+resource combination distinguishes browser_hover from sibling tools like browser_click, browser_focus, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use hover versus alternative interaction methods (click, focus) or what preconditions must be met (e.g., element visibility). The description does not mention when not to use this tool or suggest alternative tools for related tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_keyC
Dispatch one bounded key chord to an explicitly shared tab. Modifier and Enter/Tab chords can commit or submit a focused form; this crosses the governed mutation boundary.
| Name | Required | Description | Default |
|---|---|---|---|
| keys | Yes | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits, but it only offers vague hints about committing or submitting focused forms. Key traits like whether the key chord is sent synchronously, what happens if the tab is not shared, or whether this is destructive to any state are missing. The phrase 'governed mutation boundary' is jargon without explanation, leaving the agent unaware of side effects or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, which is concise, but the second sentence is dense and uses jargon ('governed mutation boundary') without payoff. The first sentence clearly states the core action. It is not bloated, but the structure does not front-load critical usage information for quick scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given two parameters, no output schema, no annotations, and a moderately complex action (key chord dispatch with boundary crossing), the description is incomplete. It fails to mention return values (e.g., success indicator), error conditions (e.g., invalid key, unshared tab), or behavior with modifier keys. The agent has to guess whether this tool supports backspace, arrow keys, or control sequences beyond Enter/Tab.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it provides no detail about each parameter. The keys parameter is not explained (e.g., accepted key names, chord formatting), and collaboration_id's meaning is left undefined. With two required parameters and zero schema documentation, the description adds no semantic value beyond 'keys exist'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool dispatches a bounded key chord to an explicitly shared tab. It uses specific verbs and resources (dispatch key chord, shared tab) and distinguishes from sibling tools that handle other actions like clicking, typing, or navigation. However, the phrase 'Modifier and Enter/Tab chords can commit or submit a focused form' is somewhat ambiguous and could be clearer about the primary action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives like browser_type or browser_click. The description mentions crossing a 'governed mutation boundary' but does not clarify prerequisites (e.g., tab must be explicitly shared via browser_open?) or exclusions. The context around form submission is hinted but not actionable for an AI agent deciding between sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_openB
Open and explicitly grant a new tab on the same origin as an existing shared tab.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for disclosing behavioral traits. It states the constraint of same origin but does not explain what happens if the URL is invalid, whether the new tab gains focus, or the meaning of 'explicitly grant'. Key behaviors like error handling and permissions are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 15 words, front-loading the key action and constraint. There is no redundancy or unnecessary detail; every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations, output schema, and schema descriptions, the description should compensate by explaining parameters, return values, and side effects. It only covers the core purpose and constraint, leaving significant gaps that an agent needs to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain the parameters. The 'url' parameter is partially inferred (the URL to open), but 'collaboration_id' is completely unexplained—its purpose (identifying the shared tab) is not mentioned. The description adds minimal value beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Open' and the resource 'new tab', with a specific constraint 'on the same origin as an existing shared tab'. This distinguishes it from siblings like browser_navigate (which works on the current tab) and browser_tabs (which lists tabs). The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that the tool should be used to open a new tab on the same origin as an existing shared tab, but it does not explicitly state when to use it versus alternatives like browser_navigate or browser_focus. No exclusions or prerequisites are provided, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_record_startC
Start an in-memory typed workflow draft.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It only says 'Start' and provides no information about side effects, prerequisites, persistence, return values, or what happens if a recording is already in progress. The phrase 'in-memory' hints at non-persistence but is insufficiently elaborated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise five-word sentence with no wasted words. It is front-loaded and structurally efficient, though the brevity harms other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters), a short description could suffice, but this one lacks essential context about the workflow draft lifecycle, how to stop/stall it, or what 'typed' means. With no output schema and ambiguous terms, an agent cannot confidently infer behavior. Sibling tools like 'browser_record_stop' exist but are not referenced, leaving the workflow incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty (100% coverage). The description does not need to document parameters, and the baseline for 0-parameter tools is 4. No additional parameter semantics are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a verb ('Start') and a resource ('in-memory typed workflow draft'), which is not a tautology. However, 'typed workflow draft' is ambiguous and provides little context for what the tool actually accomplishes in a browser automation context. It trivially differentiates from sibling 'record_stop' and 'record_status' by being the start action, but this is not explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It does not mention sibling tools like 'browser_record_stop' or 'browser_record_status', nor does it specify any prerequisites or scenarios. Usage context is entirely implied by the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_record_statusC
Return content-free recording state.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It states 'content-free recording state' but doesn't explain what 'recording state' means, whether it's read-only or mutating, or what happens if recording is not active. This is a significant gap for state retrieval.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise and front-loaded. It uses minimal words but could be more informative without losing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there are no parameters, no output schema, and no annotations, the description should provide more context about what the returned recording state looks like (e.g., is it a boolean, a status string?) and how it relates to other recording tools. The description is incomplete for a standalone tool among 34 siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and 100% schema description coverage (since there are no params to describe). The description adds clarity by indicating the tool returns 'recording state' but is 'content-free,' which helps set expectations. Since there are no parameters, no additional parameter details are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Return content-free recording state,' which gives a vague purpose. It mentions 'recording state' but doesn't specify what 'content-free' means or what the tool does with respect to recording, making it unclear how it differs from other browser tools like browser_record_status or browser_record_start.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like browser_record_start or browser_record_stop. The description does not mention any prerequisites or exclusions, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_record_stopA
Stop recording and return a review-required workflow draft.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for disclosing behavior. It mentions returning a 'review-required workflow draft' but omits side effects (e.g., whether the recording session ends permanently) or error conditions (e.g., no active recording). The behavioral impact is inadequately communicated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the action and result with no extraneous words. Every part is essential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description is minimally adequate. It states the main action and return value but lacks important context such as prerequisites (e.g., must have an active recording) and implications of 'review-required'. More details would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and the schema coverage is 100%. The baseline score for zero parameters is 4, and the description does not need to add parameter details. It correctly handles the absence of inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Stop recording') and the result ('return a review-required workflow draft'). It uses specific verbs and a distinct resource, effectively distinguishing it from siblings like browser_record_start and browser_record_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide guidance on when to use or not use this tool. It lacks explicit prerequisites (e.g., 'use after starting a recording') or exclusions (e.g., 'not for checking status'). The sibling context alone is insufficient for clear usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_region_screenshotC
Capture one bounded document region from an explicitly shared tab.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | ||
| y | Yes | ||
| width | Yes | ||
| height | Yes | ||
| quality | No | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. It mentions 'explicitly shared tab' but does not state whether the operation is read-only, what the output format is, or any side effects. The description is too sparse to provide adequate transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, making it concise. However, it is under-specified for the complexity of the tool (6 parameters, no schema descriptions). The brevity sacrifices necessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the high parameter count, lack of output schema, and many sibling tools, the description is far from complete. It does not explain the coordinate system, the meaning of 'explicitly shared tab', the quality parameter, or the return value. The agent would have insufficient context to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the schema provides no parameter descriptions. The tool description does not explain any parameters (x, y, width, height, quality, collaboration_id). The phrase 'bounded document region' weakly implies the meaning of coordinates and dimensions, but it is insufficient to guide proper parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Capture one bounded document region from an explicitly shared tab', using a specific verb and resource. It implicitly distinguishes from sibling tools like browser_screenshot or browser_full_page_screenshot by specifying 'bounded document region', but it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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_screenshot or browser_full_page_screenshot. It does not mention prerequisites (e.g., tab must be shared) or scenarios where this tool is not appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_reloadA
Reload one explicitly shared exact tab, optionally bypassing cache.
| Name | Required | Description | Default |
|---|---|---|---|
| ignore_cache | No | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavioral disclosure. It explains the effect (reloads a tab) and the optional bypass-cache behavior. However, it does not mention whether unsaved form data is lost, whether pending downloads are interrupted, or if any permissions are needed. It covers the core action but lacks depth on side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with 9 words, with no filler. Every word serves a purpose: 'reload' (action), 'one explicitly shared exact tab' (scope), 'optionally bypassing cache' (modifier). This is exemplary conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero schema coverage, no annotations, and a simple 2-parameter tool, the description provides a minimal viable specification. It explains what the tool does and the optional behavior, but lacks parameter-level detail for the required collaboration_id and does not explain the return value (since no output schema). It is sufficient for a simple tool but not rich.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It mentions 'bypassing cache' implicitly for ignore_cache, but does not explain how the bypass works or the implications. The required parameter collaboration_id is not explained at all – the agent must infer its meaning (identifying the tab to reload) from context. This is a moderate gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('reload'), the target ('one explicitly shared exact tab'), and the optional modifier ('bypass cache'). This unequivocally distinguishes the tool from siblings like browser_navigate (which changes URL) and browser_open (which opens new tabs).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use it ('reload an explicitly shared exact tab'). However, it does not provide explicit exclusions or direct comparison to alternatives, such as when to use browser_navigate with the same URL versus reload, or when to use ignore_cache. This leaves some ambiguity for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_schedule_cancelC
Cancel one pending in-memory read-only schedule.
| Name | Required | Description | Default |
|---|---|---|---|
| schedule_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must fully disclose behavioral traits. It states the schedule is 'pending in-memory read-only,' implying non-persistent and safe to cancel, but does not address what happens after cancellation (e.g., is the schedule removed entirely? can it be recreated?). It lacks details on side effects, such as whether associated resources are affected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that conveys the essential action and scope with no extraneous words. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a cancellation tool with no annotations, output schema, or sibling differentiation, the description is incomplete. It lacks explanation of return values, error states, or interaction with other browser scheduling tools. The agent would not know if cancellation is idempotent or what success looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter (schedule_id) with no description and 0% schema description coverage. The tool description does not explain what a 'pending in-memory read-only schedule' is or how to obtain the schedule_id. However, the parameter name is self-explanatory and the regex pattern provides implicit guidance. The baseline is 1 due to no schema coverage, but the description partially compensates by clarifying the schedule type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a specific verb (Cancel) and resource (pending in-memory read-only schedule), making its function distinct. It differentiates this tool from siblings like browser_schedule_snapshot or browser_schedule_status by focusing on cancellation. However, it could be slightly more specific about what type of schedule is being cancelled (e.g., a snapshot schedule).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like browser_schedule_status or browser_schedule_result. It does not mention prerequisites (e.g., the schedule must exist), when to avoid use, or how it relates to other scheduling tools. This is a critical gap for a cancellation action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_schedule_resultC
Retrieve and remove one completed private read-only scheduled result.
| Name | Required | Description | Default |
|---|---|---|---|
| schedule_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. The phrase 'Retrieve and remove' implies a destructive action, but it does not specify what happens upon removal, error handling, idempotency, or authentication requirements. The description is insufficient for an agent to understand side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, making it technically concise. However, the brevity comes at the cost of missing critical information. It is not appropriately sized for the tool's complexity and lack of supporting annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations, output schema, and any parameter descriptions, the description is the sole source of context. It fails to explain the return value, side effects, error conditions, or prerequisites. The tool's behavior is inadequately specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage for the single parameter schedule_id. The description does not mention the parameter at all, leaving the agent to infer meaning solely from the name and pattern. The description adds no value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Retrieve and remove') and the resource ('completed private read-only scheduled result'), which gives a specific verb+resource pairing. However, it does not differentiate this tool from siblings like browser_schedule_status or browser_schedule_cancel, which could also involve 'scheduled result' in different ways.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No context, prerequisites, or conditions are mentioned. The description is a single sentence without any usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_schedule_snapshotC
Schedule one in-memory read-only snapshot while the exact grant and MCP process remain live.
| Name | Required | Description | Default |
|---|---|---|---|
| max_items | No | ||
| delay_seconds | Yes | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It mentions 'in-memory read-only' but does not explain what happens if the process ends, how to retrieve the snapshot, whether a previous scheduled snapshot is replaced, or any rate limits. The vague phrase about 'exact grant and MCP process' is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it leaves out essential details. Conciseness is not a virtue when it sacrifices completeness; the sentence does not earn its place because it is too vague to be useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (scheduling, 3 parameters, no output schema, no annotations), the description is severely incomplete. It does not explain the snapshot lifecycle, parameter semantics, or how to use the result. The tool is part of a family (snapshot, schedule, status, cancel, result), but the description isolates it without context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description adds no information about the three parameters (collaboration_id, delay_seconds, max_items). It does not clarify their purpose, format, or constraints beyond what parameter names imply. This is a critical gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as scheduling a snapshot ('schedule one... snapshot'), distinguishing it from the immediate 'browser_snapshot' sibling. However, the phrase 'while the exact grant and MCP process remain live' is unclear and reduces precision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use scheduling versus immediate snapshot, or how this tool relates to sibling tools like browser_schedule_status, browser_schedule_cancel, or browser_schedule_result. The description does not mention prerequisites, alternatives, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_schedule_statusA
Return content-free state for in-memory read-only schedules.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool is 'read-only' and returns a 'content-free state', which indicates no side effects. However, it does not disclose potential error conditions, rate limits, or what the 'state' values look like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence of eight words. Every word is necessary and there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless tool with no output schema, the description is mostly adequate but could be improved by listing possible state values (e.g., 'active', 'completed') to fully inform the agent of what the 'content-free state' entails.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so baseline is 4. The description adds value by clarifying that the tool returns a 'content-free state', giving the agent expectation beyond the empty schema. This is more than a mere restatement of the name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Return' and resource 'content-free state for in-memory read-only schedules'. It is specific enough to distinguish this tool from siblings like browser_schedule_result and browser_schedule_snapshot, which return full result data or take snapshots respectively.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use cases (checking schedule state without full content) but does not explicitly state when to use this tool versus alternatives like browser_schedule_result, nor does it 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_screenshotC
Capture the current viewport of one explicitly shared tab as a private JPEG result.
| Name | Required | Description | Default |
|---|---|---|---|
| quality | No | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It reveals basic behavior ('capture current viewport', 'private JPEG result') but omits important traits: whether it works on background/inactive tabs, permission requirements, error behavior if no tab is shared, impact on page state, or the actual dimensions captured.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no redundancy. It front-loads the action and key constraints. However, the brevity sacrifices necessary detail, making it efficient but not fully informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 2 unannotated parameters, no output schema, and 33 siblings including multiple screenshot tools, the description is incomplete. It fails to clarify the return format (beyond 'private JPEG'), error handling, or differences from tools like browser_snapshot and browser_full_page_screenshot.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not mention either parameter ('quality' or 'collaboration_id'). The agent receives no explanation that collaboration_id identifies the shared tab or that quality controls JPEG compression, forcing reliance on parameter names alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Capture'), the resource ('current viewport of one explicitly shared tab'), and the output format ('private JPEG result'). It distinguishes this tool from siblings like browser_full_page_screenshot and browser_region_screenshot by specifying 'viewport' and 'one explicitly shared tab'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., full_page_screenshot, region_screenshot, snapshot). It mentions 'explicitly shared tab' but does not explain prerequisites, limitations, 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_scrollC
Scroll the viewport of one explicitly shared tab by a bounded distance.
| Name | Required | Description | Default |
|---|---|---|---|
| direction | Yes | ||
| distance_px | No | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It mentions 'bounded distance' but does not disclose whether the scroll is smooth or instant, what happens if the page is shorter than the distance, or how collaboration_id validity is handled. No return value or side effects are described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 10-word sentence, which is concise. However, conciseness comes at the cost of missing critical information. It earns its place by stating the purpose but does not provide enough content for a tool with 3 parameters and no annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no output schema, no annotations, and 31 sibling tools, the description is severely incomplete. It does not address the collaboration_id requirement, contrast with browser_scroll_to, or explain return behavior. The agent would lack sufficient context to use this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only hints at distance_px via 'bounded distance' but fails to explain direction (up/down) or collaboration_id. The schema provides enums and constraints but no descriptions, and the tool description adds no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'scroll' and the resource 'viewport of one explicitly shared tab', with 'bounded distance' hinting at the distance_px parameter. This distinguishes it from sibling tools like browser_scroll_to, which likely scrolls to a specific element. However, the phrase 'explicitly shared tab' is vague and could be clarified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like browser_scroll_to, or on prerequisites such as ensuring the tab is 'explicitly shared'. The description does not mention when not to use it or any context-specific recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_scroll_toC
Scroll one semantic element into view in an explicitly shared tab.
| Name | Required | Description | Default |
|---|---|---|---|
| locator | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions scrolling a semantic element into view but does not describe what happens if the element is not found, how scrolling behaves (smooth vs instant), whether it modifies the browser state, or any error conditions. The phrase 'explicitly shared tab' is vague and lacks operational detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 10 words, which is concise. However, it is so brief that it omits important details. It could be expanded to include key behavioral and usage notes without becoming verbose. The structure is front-loaded but not sufficiently informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the locator parameter (nested object with many properties) and the absence of an output schema or annotations, the description is too sparse. It fails to explain what constitutes a 'semantic element', how the locator should be constructed, or how the tool interacts with the browser's accessibility tree. The sibling 'browser_scroll' exists but no differentiation is provided. The description is not complete enough for an agent to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%; the locator object already has a good schema description ('A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted.'). The tool description adds the context 'explicitly shared tab' which hints at the role of collaboration_id. However, it does not further explain the locator's properties or how to use them effectively. Overall, the description provides marginal added value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Scroll one semantic element into view in an explicitly shared tab.' It specifies the verb (scroll), the object (one semantic element), and the context (explicitly shared tab). This is specific enough to distinguish from generic scrolling, though it does not explicitly differentiate from the sibling tool 'browser_scroll'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'browser_scroll' or 'browser_focus'. There is no mention of prerequisites, conditions for use, or when not to use it. The agent is left to infer usage context from the name and schema alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_selectC
Open a semantic selector and choose one semantic option.
| Name | Required | Description | Default |
|---|---|---|---|
| locator | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| option_locator | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It only states the basic action but omits critical details: does it wait for the selector to appear? What happens if the option is not found? Is state mutated? No error behavior, timing, or side effects are mentioned, making the tool opaque for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence that communicates the core action efficiently. It is front-loaded and free of redundancy. However, it may be too terse for a tool with nested parameters and no annotations, sacrificing necessary detail for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema, three parameters (including two complex nested objects), and no annotations, the description is severely incomplete. It does not explain return values, error states, or the lifecycle of the selector (e.g., does it close after selection?). The agent lacks critical context to use the tool reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% (2 of 3 parameters have descriptions). The description adds value by explaining that locator and option_locator accept only semantic accessibility-tree locators and reject CSS/scripts, which is not apparent from the property names alone. However, collaboration_id lacks description and the added semantic constraint is minimal. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool opens a semantic selector and chooses a semantic option. It uses specific verbs ('open' and 'choose') and identifies the resource (semantic selector/option). However, it does not explicitly differentiate from sibling tools like browser_click, which could also interact with selectors, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as browser_click or browser_hover. The description lacks any mention of prerequisites, typical use cases, or when not to use this tool, leaving the agent without decision-making support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_snapshotB
Read a bounded accessibility-tree projection from one explicitly shared tab.
| Name | Required | Description | Default |
|---|---|---|---|
| max_items | No | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It states 'Read' (non-destructive), 'bounded' (with a max_items parameter), and 'accessibility-tree projection' (structured output, not screenshot). However, it doesn't describe what happens if the collaboration_id is invalid, whether the operation is expensive, if there are rate limits, or if the tool modifies any state. The description provides basic safety context but lacks depth for a tool with no other metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence that front-loads the key action and subject. Every word contributes meaning: 'Read' (non-destructive), 'bounded' (size-limited), 'accessibility-tree projection' (structured output), 'explicitly shared tab' (scope). There is no wasted text, but the sentence could be slightly more readable by breaking or adding context. It earns a 4 for being efficient yet clear enough.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 2 parameters, no output schema, and no annotations, the description is incomplete for safe and effective use. It doesn't describe the return format, error conditions, prerequisites (e.g., needing a valid collaboration_id from a prior tool), or how this projection differs from a full accessibility tree. The browser_tabs sibling likely provides tab IDs, but the link is missing. A tool reading shared tab state needs more context about lifecycle and dependencies.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the JSON schema has no textual descriptions for parameters. The description adds meaning: 'collaboration_id' is identified as identifying 'one explicitly shared tab', and 'max_items' is contextualized as a 'bounded' constraint on the projection. However, it doesn't explain what max_items unit is (items=nodes?), what a reasonable value range implies, or how collaboration_id is obtained. The baseline for 0% coverage is low, and the description partially compensates but leaves gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('Read') and nouns ('accessibility-tree projection', 'shared tab'), clearly indicating the tool reads a structured accessibility view from a specific context. However, it doesn't distinguish this tool from siblings like browser_diagnostics, browser_screenshot, or browser_schedule_snapshot, which could also relate to capturing information from a tab. The term 'bounded' and 'explicitly shared' adds clarity, but the exact scope (vs other read tools) is ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No context is provided about when to use this tool versus alternatives such as browser_screenshot (visual capture), browser_status (general status), or browser_schedule_snapshot (scheduled counterpart). There is no indication of prerequisites (e.g., must call browser_open first, or collaboration_id must be valid) or when not to use it. The agent making a choice among many sibling tools is left with minimal decision guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_statusA
Check whether the local connector is online and how many tabs are explicitly shared.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for transparency. It clearly indicates this is a read-only check (no side effects) and what specific information it provides (online status, explicit tab count). The description adds value beyond what annotations would typically provide by naming the exact outputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that front-loads the key action ('Check') and concisely states the two outputs (online status, explicit tab count). Every word earns its place with no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has zero parameters and no output schema, the description adequately covers its purpose and behavior. It tells the agent exactly what to expect. The only minor gap is not mentioning what 'online' means in terms of response status, but that's likely implicit in the return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters (0 required, 100% coverage by default), so the description does not need to explain param details. It correctly implies no user input is needed, which is exactly right for a status check. The score is elevated because the description makes it clear what the tool returns despite having no output schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: check the local connector's online status and count of explicitly shared tabs. It uses a specific verb 'check' and names the resource 'local connector' and feature 'explicitly shared tabs'. This differentiates it from sibling tools like browser_tabs (which likely lists all tabs) or browser_diagnostics (which may do more comprehensive checks).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for checking connectivity and tab-sharing state, but it does not explicitly state when to use it versus alternatives like browser_diagnostics or browser_tabs. No guidance is given on prerequisites (e.g., connector must be configured) or scenarios where this tool is ideal vs. others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_tabsA
List only HTTPS tabs the user explicitly shared by clicking the LLM Wiki Browser Executor extension. Call this first; never infer or fabricate a collaboration ID.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses key behavioral traits: the tool only returns HTTPS tabs that were explicitly shared, and warns against fabricating IDs. It does not mention side effects or return format, but the behavior is well-specified for a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no waste. The main action ('List only HTTPS tabs...') is front-loaded. Every phrase adds value, and the structure is minimal yet complete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description covers essential aspects: what is listed, constraints, and ordering. Lacking return format specification is a minor gap, but the tool's simplicity mitigates this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, and schema coverage is 100% (vacuously). The description adds context about the tool's purpose but cannot add parameter semantics. Baseline is 4, as there is no need for parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists only HTTPS tabs explicitly shared via a specific extension, with a strong focus on distinguishing from sibling tools by specifying constraints like 'HTTPS' and 'explicitly shared'. It also includes a clear directive about not inferring or fabricating a collaboration ID.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: 'Call this first' and 'never infer or fabricate a collaboration ID.' While it doesn't name alternative tools, the context of sibling tools makes it clear this is the tab-listing tool. The instruction is actionable and sets clear boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_typeC
Focus one semantic control and insert private text in an explicitly shared tab; this does not submit the form.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| locator | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| replace_all | No | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only states 'this does not submit the form', which is one behavioral trait. Missing are details about effects on focus, behavior on failure, what 'private text' means, and whether the action is atomic or reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one sentence) and front-loaded with the action. However, it is overly terse, sacrificing clarity and completeness. It earns a 3 for being concise but not well-structured for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 parameters, nested locator object, no output schema, many sibling tools), the description is severely incomplete. It does not explain the required collaboration_id, the meaning of 'private text', the effect of replace_all, or the locator's role. The description is insufficient for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (25%), and the tool description adds no parameter-level information. None of the four parameters are explained in the description. The locator's schema description is present but not repeated in the tool description. The description does not compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: focus a semantic control and insert text. It distinguishes from siblings like browser_click or browser_key by specifying the combination of focusing and typing. The phrase 'private text' is confusing but does not obscure the core purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lacks any guidance on when to use this tool versus alternatives. It mentions 'explicitly shared tab' as a context but does not explain prerequisites, when not to use it, or compare to sibling tools like browser_key or browser_focus.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_uploadC
Set one file input from paths inside machine-local registered upload roots.
| Name | Required | Description | Default |
|---|---|---|---|
| paths | Yes | ||
| locator | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. The description does not disclose behavioral traits such as whether the tool overwrites the current file input, whether it supports multiple files (though the schema allows up to 16 paths), whether it waits for upload completion, or what happens if a path is invalid. It also lacks any mention of authentication or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short at one sentence, which is efficient. However, it lacks front-loading of critical constraints and could be better organized with additional context at the expense of length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (3 parameters including a complex locator object, no annotations, no output schema), the description is severely incomplete. It does not explain how paths map to file inputs, what 'registered upload roots' are, or what the return value indicates. The agent would likely need to guess or fail, especially without documentation on collaboration_id usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 33% (only the 'locator' field has a description). The description does not add meaning for 'paths' or 'collaboration_id' beyond what the schema provides (e.g., format of paths, relationship to upload roots). Since coverage is low, the description should compensate but does so only minimally by mentioning 'machine-local registered upload roots'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('set one file input') and the resource ('paths inside machine-local registered upload roots'). It distinguishes from sibling tools like browser_download and browser_click, as uploading files via file input is a distinct operation. However, it could more explicitly contrast with other file-related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. It does not mention prerequisites like needing a pre-existing file input element on the page, or that the upload roots must be pre-registered. No 'when not to use' or alternative tool suggestions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_waitB
Wait for one bounded semantic condition in an explicitly shared tab.
| Name | Required | Description | Default |
|---|---|---|---|
| locator | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| timeout_ms | No | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It does not mention that the tool is non-destructive, if it modifies state, or what happens on timeout (e.g., error vs. return). The term 'bounded' is vague and could imply a limit, but the description does not clarify how the condition is enforced or what behavior occurs when it is not met.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately conveys the core purpose and context ('explicitly shared tab'). It avoids unnecessary details and front-loads the key action. The word 'bounded' could be replaced with a more common term like 'limited' for clarity, but overall it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no output schema, and complex nested locator object, the description is minimal but covers the essential purpose and use case. However, it lacks details on return behavior, timeout handling, and interaction with the browser state, which a tool with a nested schema and no annotations should ideally provide. Adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter locator has a description explaining it is a 'semantic accessibility-tree locator' and explicitly excludes CSS and scripts, adding meaning beyond the schema structure. timeout_ms and collaboration_id rely entirely on schema defaults and patterns. With schema coverage at 33% (only locator has description), the description partially compensates by clarifying the locator's nature.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses 'wait' as a specific verb and 'bounded semantic condition' as the resource, distinguishing it clearly from other browser tools like 'click' or 'navigate'. The phrase 'explicitly shared tab' adds context about the target environment. However, 'bounded' is somewhat technical and could be clarified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used for waiting on a condition in a shared tab, but does not explicitly state when to use this tool versus alternatives like browser_snapshot or browser_dialog for checking page states. No 'when not to use' guidance is provided, and there are no sibling references for differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
34 tool updates
v0.0.1- First observed
browser_click - First observed
browser_close - First observed
browser_credential_fill - First observed
browser_diagnostics - First observed
browser_dialog - First observed
browser_download - First observed
browser_drag - First observed
browser_focus - First observed
browser_full_page_screenshot - First observed
browser_geometry - First observed
browser_history - First observed
browser_hover - First observed
browser_key - First observed
browser_navigate - First observed
browser_open - First observed
browser_record_start - First observed
browser_record_status - First observed
browser_record_stop - First observed
browser_region_screenshot - First observed
browser_reload - First observed
browser_schedule_cancel - First observed
browser_schedule_result - First observed
browser_schedule_snapshot - First observed
browser_schedule_status - First observed
browser_screenshot - First observed
browser_scroll - First observed
browser_scroll_to - First observed
browser_select - First observed
browser_snapshot - First observed
browser_status - First observed
browser_tabs - First observed
browser_type - First observed
browser_upload - First observed
browser_wait
TDQS
Scored across 34 tools
Every tool targets a distinct browser action, from navigation and interaction to recording and scheduling. Detailed descriptions clearly differentiate similar operations like screenshots vs. snapshots, making confusion unlikely.
All tools follow the browser_verb or browser_verb_noun pattern in lowercase snake_case, with no mixing of conventions. The naming is predictable and uniform across all 34 tools.
34 tools cover a wide range of browser automation tasks, including diagnostics, recording, and scheduling. While on the higher side, each tool serves a distinct purpose and the count is reasonable for the domain's scope.
The tool set covers core browser workflows: navigation, interaction, screenshot, form handling, upload/download, and tab management. Minor omissions like direct JavaScript execution or page source retrieval are likely intentional for security, so the surface is well-scoped for its constrained environment.
Maintenance
Related MCP Connectors
Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.
Hyperbrowser MCP — wraps the Hyperbrowser AI-agent browsing API
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
MCP server for Firecrawl — web search, scraping, and biomedical/arXiv paper search.
Related MCP Servers
- AlicenseAqualityDmaintenanceAgent-native browser control MCP server that enables AI agents to browse and interact with web pages via accessibility tree snapshots and ref ID-based commands.152MIT
- FlicenseCqualityAmaintenanceEnables safe automation of Chrome browser through a local MCP server and Chrome extension, allowing LLMs to control browser tabs, pages, and computer-use actions with permission controls.50-
- FlicenseNot gradedqualityCmaintenanceMCP server that wraps agent-browser to let LLMs control a real browser, providing tools for navigation, interaction, reading page content, accessibility snapshots, screenshots, and session management.1-

browser-relayofficial
AlicenseNot gradedqualityCmaintenanceMCP server that drives a user's real Chrome browser via a WebSocket-connected MV3 extension, enabling tab management, navigation, page interaction, screenshots, and script evaluation through natural language.7 npmMIT