mcp-browser-parallel
Manages multiple isolated browser instances in a single Google Chrome process, providing tools for connecting to Chrome DevTools Protocol, creating instances, navigating pages, clicking elements, filling forms, and more, with automatic auth cloning from an already logged-in Chrome session.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-browser-parallelCreate instance 'batch1' on example.com and instance 'batch2' on test.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-browser-parallel
多实例并行浏览器 MCP Server — 在单个 Chrome 进程中管理多个隔离的浏览器实例,支持 Cookie 自动克隆。
核心特性
多实例隔离:每个实例拥有独立的 BrowserContext(cookies、storage、缓存完全隔离)
零登录克隆:从用户已登录的 Chrome 自动提取 auth,新实例自动继承登录状态
并行友好:所有操作通过
instanceId路由,无共享全局状态,多 AI 会话可同时操作不同实例CDP 窗口管理:支持通过 CDP 协议真正最大化窗口
Related MCP server: playwright-parallel-mcp
工作原理
用户的 Chrome(已登录,端口 9222)
│
│ connectOverCDP
↓
┌─────────────────────────────────┐
│ mcp-browser-parallel Server │
│ │
│ browser_connect │
│ → 连接 Chrome │
│ → 提取 storageState │
│ │
│ instance_create("batch-1") │
│ → 新建 BrowserContext │
│ → 注入 cookies → 已登录! │
│ → 导航到目标 URL │
│ │
│ instance_create("batch-2") │
│ → 又一个独立 Context │
│ → 同样已登录! │
│ │
│ page_snapshot("batch-1") │ ← 操作 batch-1
│ page_click("batch-1", "e5") │ ← 不影响 batch-2
│ │
│ page_snapshot("batch-2") │ ← 操作 batch-2
│ page_click("batch-2", "e3") │ ← 不影响 batch-1
└─────────────────────────────────┘安装
方式一:直接使用(推荐)
无需克隆代码,直接通过 npx 使用:
{
"mcpServers": {
"browser-parallel": {
"command": "npx",
"args": ["mcp-browser-parallel@latest"]
}
}
}方式二:指定 Chrome CDP 端点
{
"mcpServers": {
"browser-parallel": {
"command": "npx",
"args": [
"mcp-browser-parallel@latest",
"--cdp-endpoint", "http://localhost:9222"
]
}
}
}方式三:从源码构建
git clone <repo-url>
cd mcp-browser-parallel
npm install
npm run build使用
1. 启动 Chrome(开启远程调试)
# Windows
chrome.exe --remote-debugging-port=9222
# macOS
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222
# Linux
google-chrome --remote-debugging-port=92222. 在 Chrome 中登录目标系统
手动在 Chrome 中打开目标系统并完成登录。
3. 使用工具
Step 1: 连接 Chrome 并提取 auth
→ browser_connect(cdpUrl="http://localhost:9222")
Step 2: 创建隔离实例(自动带登录状态)
→ instance_create(instanceId="batch-1", url="https://your-system.com/module1")
→ instance_create(instanceId="batch-2", url="https://your-system.com/module2")
Step 3: 对每个实例独立操作
→ page_snapshot(instanceId="batch-1")
→ page_click(instanceId="batch-1", ref="e5")
→ page_snapshot(instanceId="batch-2")
→ page_click(instanceId="batch-2", ref="e3")
Step 4: 完成后关闭
→ instance_close_all()工具清单
实例管理
工具 | 说明 |
| 连接 Chrome CDP + 提取 auth |
| 创建隔离实例(自动克隆 auth) |
| 列出所有活跃实例 |
| 关闭指定实例 |
| 关闭所有实例 |
页面操作(所有操作通过 instanceId 路由)
工具 | 说明 |
| 导航到 URL |
| 获取可访问性快照(含 ref) |
| 点击元素(by ref) |
| 填入文本(by ref) |
| 逐字输入(触发 input 事件) |
| 下拉选择 |
| 悬停 |
| 按键 |
| 截图 |
| 等待文本/时间 |
| 执行 JS |
| CDP 窗口最大化 |
与现有 MCP 对比
特性 | Chrome DevTools MCP | Playwright MCP | 本 MCP |
多实例隔离 | ❌ 共享 select_page 状态 | ❌ 单实例 | ✅ 独立 Context |
Auth 克隆 | ❌ | ❌ | ✅ storageState |
并行安全 | ❌ 会话间冲突 | ❌ 会话间冲突 | ✅ instanceId 路由 |
窗口最大化 | ❌ | ✅ browser_run_code | ✅ 内置 CDP |
快照 + Ref | ✅ uid | ✅ ref | ✅ ref |
Available Tools
36 toolsbrowser_connectA
Connect to an existing Chrome browser via CDP and extract auth cookies. Chrome must be running with --remote-debugging-port. This also extracts cookies/storage so new instances can be created without re-login.
| Name | Required | Description | Default |
|---|---|---|---|
| cdpUrl | No | Chrome CDP URL. Default: http://localhost:9222 | http://localhost:9222 |
| pageIndex | No | Index of the page to extract auth from (0-based). Default: 0 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the connection action, extraction of cookies/storage, and the prerequisite. However, it does not mention error handling or side effects if connection fails.
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, front-loading the main action, then adding prerequisite and benefit. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main action, prerequisite, and purpose. It lacks detail on return values (no output schema) but is sufficient for a simple tool with 2 parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described. The description does not add additional meaning beyond the schema, so a 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 connects to an existing Chrome browser via CDP and extracts auth cookies. This distinguishes it from sibling tools like instance_create which create new browser instances.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions the prerequisite (Chrome must be running with --remote-debugging-port) and the benefit of extracting cookies for re-login. It does not explicitly state when not to use or compare to siblings, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instance_closeB
Close a specific browser instance and release its resources.
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | Instance to close |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description carries full burden. States 'release its resources' but doesn't detail what that entails (e.g., memory cleanup, forced discard). No mention of side effects or prerequisites. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no unnecessary words. Action verb and object front-loaded. Efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simple tool with one param, no output schema, and no annotations, description is minimal. Lacks prerequisites, error conditions, or return info. Could be more complete for safe 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 has 100% coverage and description does not add extra meaning beyond 'Instance to close'. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'close' and resource 'browser instance', and explicitly states effect 'release its resources'. Clearly distinguishes from sibling 'instance_close_all' which closes all instances.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternatives given. The name and description imply it's for closing a specific instance, but no guidance on avoiding it or switching to 'instance_close_all'. Adequate but missing explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instance_close_allA
Close all browser instances.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as whether the action is immediate, reversible, or if there are side effects (e.g., closing associated pages). This is a significant gap for a destructive 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 front-loads the essential information with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, parameterless tool, the description is adequate but lacks context about return values, success/failure behavior, or irreversibility. Given the complexity and lack of annotations or output schema, it could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the description does not need to add parameter information. The schema covers 100% of parameters (none), so baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Close all browser instances.' clearly states the action (close) and the specific resource (all browser instances), distinguishing it from siblings like instance_close (specific instance) and instance_list (list instances).
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 instance_close. The description implicitly suggests it's for bulk closing but lacks explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instance_createA
Create a new isolated browser instance. Auth (cookies/localStorage) is automatically cloned from the connected Chrome, so no re-login is needed. Each instance has fully isolated state.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | URL to navigate to after creation | |
| cloneAuth | No | Whether to clone auth from the connected Chrome. Default: true | |
| instanceId | Yes | Unique identifier for this instance (e.g. "batch-1", "batch-2") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses automatic auth cloning and isolation. However, the phrase 'automatically cloned' could be misinterpreted as always happening, though the cloneAuth parameter allows disabling it, creating slight ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences efficiently convey purpose, key behavior, and state isolation. No wasted words, front-loaded with the most important action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers core purpose and behavior, but lacks explicit information about the return value or confirmation of success. Given no output schema, the agent might benefit from knowing what happens after creation (e.g., the instance ID or status).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already documented. The description adds context about auth cloning behavior but does not substantially enrich understanding of individual parameters (instanceId, url) beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Create') and resource ('new isolated browser instance'), and explains key differentiating features (auth cloning, isolation). It distinguishes itself from sibling tools like browser_connect and instance_close.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a new isolated instance with cloned auth is needed, but does not explicitly state when not to use it (e.g., if no isolation required) or mention alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instance_listA
List all active browser instances with their current URLs and titles.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It correctly implies a read-only operation but does not disclose potential side effects (e.g., instance state changes) or requirements like authentication. The addition of return field details helps but is not a full disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence. It is front-loaded with the verb and resource, and every word is meaningful. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no parameters and no output schema, the description covers the essential: what is listed and what data is returned. It could be improved by mentioning the format of the output (e.g., list of objects), but it is sufficient for an agent to understand the tool's purpose and basic 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?
There are zero parameters, and the input schema is empty. The description adds no parameter information, but none is needed. According to guidelines, 0 parameters baseline is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list', the resource 'active browser instances', and the specific information returned (current URLs and titles). It distinctly differentiates from sibling tools focused on creation, closure, or page interactions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. However, the description implies it is for getting an overview of active instances, which is a natural use case distinct from the listed sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_clickB
Click an element identified by ref from the latest page_snapshot.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | Element ref from page_snapshot (e.g. "e5") | |
| button | No | Mouse button. Default: left | |
| modifiers | No | Modifier keys to press | |
| instanceId | Yes | Target instance | |
| doubleClick | No | Double click. Default: false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not disclose behavioral details such as whether the click triggers navigation, requires waiting, or returns output. For a potentially destructive action, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no fluff. It is front-loaded with the core action and context, making it very concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 5 parameters and no output schema, the description only covers the basic action. It omits mention of double-click, button choices, and modifier keys, which are important for an agent to understand the tool's full capability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already described. The tool description adds minimal value beyond the schema, only clarifying that ref comes from the latest snapshot. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (click), the target (element identified by ref), and the context (from latest page_snapshot). It distinguishes from sibling tools like page_mouse_click_xy (click at coordinates) and page_hover.
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 implicitly indicates that a page_snapshot must be taken first to obtain a ref, but does not explicitly compare to alternative click methods (e.g., page_mouse_click_xy) or state when to use this tool over others. No when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_console_messagesC
Return all console messages captured from the page.
| Name | Required | Description | Default |
|---|---|---|---|
| level | No | Filter by level. Each level includes more severe. Default: info | |
| instanceId | Yes | Target instance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavioral traits. It fails to mention if messages are cleared after retrieval, if it captures ongoing or past messages, or any 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?
Single sentence is concise but lacks essential details. It doesn't front-load key behavioral information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description should explain return format and behavior. It does not, leaving ambiguity about what is returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so description adds no extra meaning beyond what's in the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool returns console messages from the page, which is specific. However, it doesn't differentiate from sibling tools like page_network_requests or page_snapshot.
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. No context about prerequisites or conditions for capturing console messages.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_dragB
Drag an element and drop it onto another element.
| Name | Required | Description | Default |
|---|---|---|---|
| endRef | Yes | Ref of the element to drop onto | |
| startRef | Yes | Ref of the element to drag | |
| instanceId | Yes | Target instance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states the basic action, omitting details like synchronization, event simulation, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. Could benefit from slightly more structure but is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of drag-and-drop and no output schema, the description is insufficient. Missing behavior details, return information, and edge case handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond what the schema already provides for parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (drag and drop) and the resource (elements on a page). It uses references, distinguishing it from coordinate-based drag operations like page_mouse_drag_xy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives (e.g., page_mouse_drag_xy). No prerequisites or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_evaluateB
Evaluate a JavaScript expression in the page context. Returns JSON-serializable result.
| Name | Required | Description | Default |
|---|---|---|---|
| expression | Yes | JavaScript expression to evaluate | |
| instanceId | Yes | Target instance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only mentions that the result is JSON-serializable, but does not disclose side effects, asynchronous handling, security implications, or execution context. Significant gaps remain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the core purpose. Every word contributes and there is no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description does mention the return format, which is helpful. However, it omits important context such as error handling, timeouts, expression scope, and whether the expression must be synchronous. Borderline 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?
Schema description coverage is 100%, so baseline is 3. The tool description adds no additional meaning beyond the schema; it does not provide examples, constraints, or clear semantics for the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Evaluate' and the resource 'JavaScript expression in the page context', which uniquely distinguishes it from sibling tools like page_click or page_fill. No confusion about what the tool does.
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 page_run_code or other page interaction tools. The description does not mention scenarios where evaluation is appropriate or inappropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_file_uploadB
Upload one or multiple files via a file input element.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | Ref of the file input element | |
| paths | Yes | Absolute paths of files to upload | |
| instanceId | Yes | Target instance |
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 only says 'Upload one or multiple files' without specifying behavioral details like whether the upload waits for completion, handles dialogs, or behaves in non-standard ways. The description is too minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at one sentence, directly stating the tool's purpose without 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?
For a tool with 3 required parameters, no output schema, and no annotations, the description lacks essential context. It does not explain the upload process, error handling, return behavior, or any side effects. The agent cannot fully understand how to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds minimal value by connecting the 'ref' parameter to 'file input element', but it does not provide additional syntactic or formatting details 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 (upload), the resource (files), and the mechanism (via a file input element). It distinguishes this tool from sibling tools like page_click or page_fill, which serve different purposes.
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. There is no mention of prerequisites, such as requiring a file input element to be present or visible, nor any conditions under which the upload might fail.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_fillB
Clear and fill text into an input element identified by ref.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | Element ref from page_snapshot | |
| value | Yes | Text to fill | |
| instanceId | Yes | Target instance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden. It mentions 'clear and fill' but does not disclose important behaviors: whether it triggers events, how it handles non-input elements, error conditions, or required permissions. The minimal disclosure limits predictability.
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, well-structured sentence that gets straight to the point with no extraneous information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with three well-documented parameters and no output schema, the description provides a minimal but acceptable purpose statement. However, it lacks behavioral detail (e.g., what 'clear' means, validation) that would make it fully complete in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions. The description adds no additional semantics beyond confirming that ref identifies the element. Per guidelines, baseline 3 is appropriate as the schema already documents the parameters adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('clear and fill text') and the target resource ('input element identified by ref'). It is specific and uses a strong verb, but does not explicitly differentiate from sibling tools like page_type or page_fill_form, which might have overlapping behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., page_type for typing without clearing, page_fill_form for multiple fields). The description does not include context or exclusions, leaving the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_fill_formC
Fill multiple form fields at once.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | Yes | Fields to fill | |
| instanceId | Yes | Target instance |
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 does not disclose side effects like overwriting existing values, what happens on failure, or whether fields are filled sequentially. Very limited behavioral info.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, very concise. However, it lacks structure (e.g., bullet points or sections) and may be too brief. Still, no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is too minimal. It doesn't explain return behavior, validation, error handling, or limits. Incomplete for a tool with 2 required parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters (fields array with ref, type, value; instanceId). The description adds 'multiple' but that is already clear from the array type. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'fill' and resource 'multiple form fields at once', which distinguishes it from siblings like 'page_fill' that likely handle single fields. However, it could explicitly differentiate from 'page_fill'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs 'page_fill' or other alternatives. The phrase 'at once' implies batch operation but doesn't provide explicit usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_generate_locatorB
Generate a Playwright locator string for the given element, useful for test code generation.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | Element ref from page_snapshot | |
| instanceId | Yes | Target instance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states it generates a locator string. Lacks information on whether it reads or writes, side effects, requirements (e.g., snapshot must be taken first), or any constraints. Minimal behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words, and to the point. However, could include more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 2 parameters, no output schema, and no annotations, the description is minimally adequate but lacks context on when to use it and what it returns. Could be more complete given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both parameters (ref and instanceId). The tool description adds no additional meaning beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates a Playwright locator string for a given element, with a specific verb 'generate' and resource 'locator string'. This distinguishes it from sibling tools that use locators for actions like clicking or filling, making purpose 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?
Implied usage from 'useful for test code generation', but no explicit guidance on when to use this tool vs alternatives like page_click. No when-not or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_handle_dialogA
Handle a browser dialog (alert, confirm, prompt). Must be called when a dialog is open.
| Name | Required | Description | Default |
|---|---|---|---|
| accept | Yes | Whether to accept (true) or dismiss (false) the dialog | |
| instanceId | Yes | Target instance | |
| promptText | No | Text to enter for prompt dialogs |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. It only states precondition and type of dialog, but omits consequences of calling without dialog, error behavior, or whether promptText is needed for prompts.
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 with zero waste. Purpose and precondition are front-loaded. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite 3 parameters and no output schema, description lacks details on promptText usage, return value, and error handling. Insufficient for complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with descriptions for all 3 parameters. Description adds no additional meaning beyond what the schema provides, meeting baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool handles browser dialogs (alert, confirm, prompt). It specifies the verb 'handle' and resource 'browser dialog', distinguishing it from all sibling tools which cover other page interactions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit precondition 'Must be called when a dialog is open' provides clear when-to-use context. No alternatives exist among siblings, so guidance is sufficient, though could mention when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_hoverC
Hover over an element.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | Element ref to hover over | |
| instanceId | Yes | Target instance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states the action without explaining side effects, error handling, or whether the hover triggers any events. This is insufficient for safe usage.
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 with no unnecessary words. It is appropriately concise for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and annotations, the description is incomplete. It does not explain what happens after hovering (e.g., return value, errors, visual feedback) or any dependencies on page state.
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 covers both parameters (ref and instanceId) with descriptions. The description adds no additional meaning beyond the schema, which already has 100% 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 'Hover over an element' clearly states the action (hover) and the target (element), but it lacks specificity to distinguish from sibling tools like 'page_mouse_move_xy' which also moves the mouse. The description is too generic and does not indicate that it targets a specific element by its ref.
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 'page_click' or 'page_mouse_move_xy'. There is no mention of prerequisites, context, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_maximizeB
Maximize the browser window for an instance via CDP protocol.
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | Target instance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral details, but it only mentions the protocol and the basic action, omitting aspects like whether the operation is synchronous, requires a connected instance, or has side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence front-loading the key action, with no unnecessary words 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?
For a simple tool with one parameter, the description is adequate but incomplete: it does not clarify prerequisites, return behavior, or how the window state changes, though the output schema is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds no additional meaning beyond the schema's 'Target instance' for the 'instanceId' parameter, meeting the baseline expectation.
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 ('Maximize') and the target ('browser window for an instance'), and distinguishes from sibling tools like 'page_resize' by specifying 'maximize' and mentioning the CDP protocol.
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 'page_resize' or other page functions, nor any prerequisites or conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_mouse_click_xyB
Click at specific coordinates on the page.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | X coordinate | |
| y | Yes | Y coordinate | |
| button | No | Mouse button. Default: left | |
| instanceId | Yes | Target instance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description carries full burden. It states only the basic action without disclosing behavior like coordinate system, out-of-bounds handling, or that an optional button parameter is supported.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, concise and front-loaded. Lacks some detail but is not verbose. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters (3 required), the description omits key context: requirement of instanceId, optional button parameter, and coordinate reference frame. Incomplete for effective 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 coverage is 100%, so baseline is 3. Description adds no extra meaning beyond what the schema provides (x, y, button). Does not explain that instanceId is required or coordinate 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 'Click at specific coordinates on the page' clearly identifies the verb (click) and resource (coordinates on the page), distinguishing it from siblings like page_click (element-based) and page_mouse_drag_xy (drag 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?
No guidance provided on when to use this tool versus alternatives (e.g., page_click for elements) or context on prerequisites or restrictions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_mouse_drag_xyB
Drag from one point to another using coordinates.
| Name | Required | Description | Default |
|---|---|---|---|
| endX | Yes | End X coordinate | |
| endY | Yes | End Y coordinate | |
| startX | Yes | Start X coordinate | |
| startY | Yes | Start Y coordinate | |
| instanceId | Yes | Target instance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only says 'Drag from one point to another using coordinates,' lacking details about mouse event sequence, coordinate system, error handling, or side effects like scrolling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, very concise. However, it is too minimal, omitting essential context that would warrant a higher score.
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 5 required parameters, no output schema, and no annotations, the description is insufficient. It lacks context about coordinate system, drag behavior, and potential effects on the page.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no additional meaning beyond parameter names and brief schema descriptions. It doesn't explain coordinate system or that start/end are relative to viewport.
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 method (using coordinates). It distinguishes from sibling tools like page_click and page_mouse_move_xy by specifying a drag operation with start/end points.
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 page_drag (which might use element selectors) or page_mouse_click_xy. No conditions or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_mouse_move_xyC
Move the mouse to specific coordinates.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | X coordinate | |
| y | Yes | Y coordinate | |
| instanceId | Yes | Target instance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose important behavioral traits: for example, whether the move triggers hover effects, whether it is instantaneous, or whether the mouse must be over an element. With no annotations, this minimal description leaves the agent guessing about 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 extremely concise at one sentence, which is appropriate for a simple action. It is front-loaded and clear, but could be slightly more informative without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool and lack of output schema, the description is somewhat complete. However, it omits context such as coordinate system (CSS pixels relative to viewport) and whether the action is animated or instant, which would enhance usability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers the parameter descriptions (x, y, instanceId) with 100% coverage. The description adds no additional meaning beyond what the schema provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool moves the mouse to specific coordinates, distinguishing it from sibling tools like page_mouse_click_xy (click at coordinates) and page_hover (hover over an element). However, it could be more explicit about simulating a mouse move event in a browser context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as page_hover or page_mouse_click_xy. The description lacks any contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_network_requestsA
Return all network requests since the page was loaded.
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | Target instance | |
| includeStatic | No | Include static resources (images, fonts, etc). Default: false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It clarifies that results are cumulative since page load, but does not mention whether requests are live or static, or if it affects performance.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description does not detail what each network request entry contains (e.g., URL, method, status). For a data-returning tool, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no parameter context beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Return all network requests since the page was loaded' clearly states the action (return) and resource (network requests), distinguishing it from sibling tools like page_click or page_navigate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when or when not to use this tool. The purpose is implied but no alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_pdf_saveC
Save the page as a PDF file.
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Absolute path to save the PDF | |
| instanceId | Yes | Target instance |
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 does not specify whether the PDF generation includes backgrounds, pagination, or whether existing files are overwritten. For a file-saving tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words. The purpose is front-loaded and immediately clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should explain what the tool returns (e.g., success status, file path). It does not, leaving agents without information on expected outcomes or error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with basic descriptions for filePath and instanceId. The tool description adds no additional meaning beyond the schema, so it meets the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Save the page as a PDF file' clearly states the action and result, distinguishing it from sibling tools like page_screenshot (image) or page_snapshot (state). However, it lacks specificity about scope (e.g., entire page or current view).
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 over alternatives (e.g., page_screenshot for images, page_snapshot for DOM state). The description does not mention prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_press_keyC
Press a key or key combination (e.g. "Enter", "Control+a", "Escape").
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Key or combination (e.g. "Enter", "Control+a") | |
| instanceId | Yes | Target instance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description does not disclose side effects (e.g., navigation triggers), event handling (keydown/keyup), error behavior, or wait behavior. Completely opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the verb and resource. No redundancy or fluff. Slightly over-concise but still effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the potential complexity of key presses (dialog handling, navigation, waiting), the description is severely incomplete. No output schema to compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds no extra meaning beyond the schema (repeats the key example). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Press') and the resource ('a key or key combination'), with concrete examples. It distinguishes from sibling tools like page_click and page_type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., page_type for typing text, page_click for clicks). No prerequisites or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_resizeB
Resize the browser viewport for an instance.
| Name | Required | Description | Default |
|---|---|---|---|
| width | Yes | Viewport width in pixels | |
| height | Yes | Viewport height in pixels | |
| instanceId | Yes | Target instance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description lacks any behavioral traits beyond the basic action. It does not disclose effect on layout, whether it triggers responsive changes, or any safety or destructiveness hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is concise and front-loaded with no redundant words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, the description is too minimal. It does not explain how the resize affects the browser instance, whether it persists, or any side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes parameters adequately. The description adds no additional meaning beyond what's in the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'resize' and the resource 'browser viewport for an instance', which distinguishes it from sibling tools like page_click or page_navigate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives, such as instance_create or page_maximize, and no prerequisites or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_run_codeB
Run a Playwright code snippet against the instance page. For advanced use cases.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Async function body receiving (page) parameter. E.g. "async (page) => { return await page.title(); }" | |
| instanceId | Yes | Target instance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden. It only states the action without disclosing side effects, permissions, rate limits, or what happens to the page state. Minimal behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with verb and object, no redundant information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, and description does not explain return value or potential side effects of running arbitrary code. Lacks completeness for a tool that can have significant impact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions already clear, but the tool description adds value by specifying the code parameter format as 'async function body receiving (page) parameter' and providing an example, which aids correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states action 'Run a Playwright code snippet' and target 'instance page', distinguishing it from siblings like page_evaluate by mentioning Playwright code snippet with page parameter. 'For advanced use cases' gives additional context.
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 page_evaluate or other page interaction tools. 'For advanced use cases' is a vague hint that does not provide clear decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_screenshotC
Take a screenshot of the page or a specific element.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Element ref to screenshot (omit for full page) | |
| filePath | Yes | Absolute path to save screenshot | |
| fullPage | No | Capture full scrollable page. Default: false | |
| instanceId | Yes | Target instance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden of behavioral disclosure. It does not mention file I/O consequences, format, or that 'fullPage' defaults to false. The description merely restates the action without revealing side effects or requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. However, its brevity sacrifices completeness; a slightly expanded structure could improve clarity 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 (4 parameters, no output schema), the description is insufficient. It omits return value, prerequisites (e.g., page must be loaded), and how the file is saved. Sibling tools are not distinguished, leaving the agent without enough context for confident selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with descriptions for all four parameters. The tool description adds no extra meaning beyond what the schema already provides; it does not clarify the usage of 'ref' or the absolute path requirement for 'filePath'.
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 core action ('Take a screenshot') and scope ('page or a specific element'). It is not a tautology and provides a specific verb-resource pairing. However, it does not differentiate from sibling tools like page_snapshot or page_pdf_save, which also capture page output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as page_snapshot (for DOM snapshot) or page_pdf_save (for PDF output). No context about prerequisites or exclusions is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_select_optionB
Select option(s) in a element.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | Element ref of the select element | |
| values | Yes | Values or labels to select | |
| instanceId | Yes | Target instance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It does not disclose whether selection triggers events, handles multi-select, or waits for page updates. The agent is left to infer these details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no waste. It is front-loaded but may be too brief to be 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 moderate complexity (3 required params, no output schema), the description is too minimal. It omits error handling, return behavior, and integration with page context, making it incomplete for reliable agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds minimal value beyond the schema. It does not clarify how 'values' should match (label vs. value) or behavior for single-select with multiple values.
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 ('Select option(s)') and the target resource ('<select> element'). It is specific and distinguishes the tool from sibling tools like page_click or page_fill.
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. It does not mention prerequisites, limitations, or cases where other tools might be more appropriate, such as for non-select elements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_snapshotA
Take an accessibility snapshot of the page. Returns a structured text representation with refs for interactive elements. Always use this before performing actions to understand the current page state.
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | Target instance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It indicates a read-only operation returning state information but lacks details on preconditions (e.g., page must be loaded), potential delays, or side effects. Adequate but could be more transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences front-load the action and outcome without any filler. Every sentence adds essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and lack of output schema, the description adequately covers purpose, when to use, and return type. However, it could elaborate on what 'refs' are and the exact format of the structured text to fully prepare the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter described as 'Target instance'. The description does not add semantic detail about this parameter, so baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool takes an accessibility snapshot of the page and returns a structured text representation with refs for interactive elements. This distinctively separates it from sibling tools like visual screenshots or console message retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to use the tool before performing actions to understand current page state, providing clear usage context. However, it does not mention when not to use it or compare with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_start_tracingC
Start a Playwright trace recording for debugging.
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | Target instance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as performance impact, file creation, or whether the tool modifies state. Starting a trace might have side effects that are not mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the action and purpose. No unnecessary words or information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool is simple with one parameter, the description lacks information about return values, how to stop the trace, and any side effects. This incompleteness could hinder an agent from using 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 coverage is 100% for the single parameter 'instanceId', which is described as 'Target instance'. The description adds no additional meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Start' and identifies the resource 'Playwright trace recording' with a clear purpose 'for debugging'. It distinguishes from sibling tools like page_stop_tracing, but could be improved by mentioning the typical use case scenario.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives, such as when debugging is needed or what to do after starting a trace. The description does not mention prerequisites or follow-up actions like stopping the trace.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_stop_tracingB
Stop the trace recording and save to file.
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to save the trace file (.zip) | |
| instanceId | Yes | Target instance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description is minimal. It does not disclose behavior like error handling if no tracing is active, or whether it waits for file save completion.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise and front-loaded. No waste, but could add more context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Missing output schema and behavioral details. For a simple stop action, it would benefit from stating return values or success confirmation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described. The description adds no extra meaning beyond the schema, meeting the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific verb 'Stop' and the resource 'trace recording', clearly distinguishing it from sibling tools like page_start_tracing.
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, such as prerequisites (e.g., trace must be started) or when not to use it, given many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_typeA
Type text into editable element. By default fills at once; set slowly=true to type character by character.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | Element ref to type into | |
| text | Yes | Text to type | |
| slowly | No | Whether to type one character at a time. Useful for triggering key handlers. Default: false | |
| submit | No | Whether to press Enter after typing. Default: false | |
| instanceId | Yes | Target instance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. It explains two behaviors (fill at once vs. character-by-character) but does not mention whether existing text is cleared, events triggered, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words. Purpose stated first, then additional detail. Optimal length for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema or annotations. Description lacks information on return values, error conditions, prerequisites (e.g., element visibility, editable state), and behavior on non-editable elements.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline is 3. The description adds meaningful context for the 'slowly' parameter (triggers key handlers) and explains default behavior, improving beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool types text into an editable element, and distinguishes two modes (fill at once vs. slowly) which differentiates it from sibling tools like page_fill or page_fill_form.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use slowly=true (for triggering key handlers) but does not explicitly state when to use this tool versus alternatives like page_fill or page_fill_form.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_verify_element_visibleB
Verify that an element with a specific role and name is visible.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | ARIA role of the element | |
| instanceId | Yes | Target instance | |
| accessibleName | No | Accessible name of the element |
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 only states the verification action, but does not disclose what happens if the element is not visible (e.g., throws error or returns false), or if the element is not found. No mention of authentication needs, rate limits, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, concise and front-loaded. However, it could be more comprehensive by including usage hints or behavioral details without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so the description should explain return values or error behavior. It lacks this information entirely. For a medium-complexity tool (3 params, 2 required), the description is incomplete for correct agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents each parameter. The description adds context by relating the parameters (role and accessibleName) to the verification action, but does not provide additional semantics beyond the schema (e.g., format constraints or examples).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'verify' and the resource 'element visibility', specifying that it targets elements by ARIA role and accessible name. This distinguishes it from sibling tools like page_verify_text_visible (text content) and page_verify_value (value).
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 ARIA role and accessible name verification, but does not explicitly state when to use this tool versus alternatives like page_verify_text_visible. No exclusions or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_verify_text_visibleB
Verify that text is visible on the page.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Text to verify | |
| instanceId | Yes | Target instance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It does not mention whether the tool waits for text to appear, what happens on failure (return false vs throw), or any side effects. This lack of transparency could lead to agent misuse.
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, front-loaded with the core purpose, and contains no unnecessary words or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema or annotations, the description is insufficient for a verification tool. It omits crucial details like return type (boolean? error?), waiting behavior, and whether text must be fully visible or partially scrolled into view.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and descriptions for both parameters (text, instanceId) are present. The tool description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Verify that text is visible on the page' clearly states the action (verify) and resource (text visibility). It distinguishes from sibling tools like page_verify_element_visible and page_verify_value by focusing on text content rather than element or input value.
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 page_verify_element_visible. The description implies usage for text visibility verification, but lacks context on prerequisites or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_verify_valueC
Verify the value of a form element.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | Element ref from page_snapshot | |
| value | Yes | Expected value | |
| instanceId | Yes | Target instance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description fails to disclose what happens on success or failure (e.g., whether an error is thrown or a boolean is returned). The agent cannot infer the behavioral outcome.
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, but it is under-specified rather than concise. It lacks necessary details, making it insufficient for effective tool selection.
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?
There is no output schema, and the description does not explain the return type or error handling. The tool has three required parameters with no usage context, making it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes each parameter. The description adds no extra meaning beyond the schema, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'verify' and the resource 'value of a form element', distinguishing it from sibling tools like page_verify_element_visible. However, it could be more specific about what constitutes a form element.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like page_fill or page_evaluate. The description does not mention any prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_waitC
Wait for text to appear, disappear, or a specified time.
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Text to wait for (appears) | |
| time | No | Fixed wait time in seconds | |
| timeout | No | Max wait time in ms. Default: 10000 | |
| textGone | No | Text to wait to disappear | |
| instanceId | Yes | Target instance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It does not disclose how waiting is implemented (e.g., polling, blocking), what happens on timeout, or whether parameters like 'text' and 'textGone' are mutually exclusive. The behavior beyond the literal condition is unspecified.
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, very concise with no redundancy. However, it may be too brief to convey necessary detail, making it less effective than a slightly longer but more informative description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multiple wait modes, several parameters) and lack of output schema or annotations, the description is insufficient. It omits important details about behavior on timeout, parameter precedence, and the waiting lifecycle, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add value beyond the schema; it does not clarify parameter interactions (e.g., can 'time' and 'text' be combined?) or provide additional meaning. It exactly mirrors the schema's information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: waiting for text to appear, disappear, or for a specified time. It uses a specific verb and identifies the resource, and it distinguishes from sibling action tools (e.g., click, navigate). However, it could be more explicit about operating on a page.
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 page_verify_text_visible or page_navigate's implicit waits. It lacks context for when waiting is preferred or how it integrates with other page operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
36 tool updates
v1.1.0- First observed
browser_connect - First observed
instance_close - First observed
instance_close_all - First observed
instance_create - First observed
instance_list - First observed
page_click - First observed
page_console_messages - First observed
page_drag - First observed
page_evaluate - First observed
page_file_upload - First observed
page_fill - First observed
page_fill_form - First observed
page_generate_locator - First observed
page_handle_dialog - First observed
page_hover - First observed
page_maximize - First observed
page_mouse_click_xy - First observed
page_mouse_drag_xy - First observed
page_mouse_move_xy - First observed
page_navigate - First observed
page_navigate_back - First observed
page_network_requests - First observed
page_pdf_save - First observed
page_press_key - First observed
page_resize - First observed
page_run_code - First observed
page_screenshot - First observed
page_select_option - First observed
page_snapshot - First observed
page_start_tracing - First observed
page_stop_tracing - First observed
page_type - First observed
page_verify_element_visible - First observed
page_verify_text_visible - First observed
page_verify_value - First observed
page_wait
TDQS
Each tool has a clear, distinct purpose. Even similar actions like click vs mouse_click_xy are differentiated by targeting element vs coordinates. Fill, fill_form, and type are distinct in scope and behavior.
All tools follow a consistent category_verb pattern in snake_case. Prefixes like browser_, instance_, page_ clearly indicate the scope. Multi-word verbs are used consistently.
With 36 tools, the set is larger than typical recommendations (25+). However, the browser automation domain inherently requires many distinct actions. The count is borderline but justified by the comprehensive coverage.
The tool set covers the full lifecycle of browser interactions: connection, instance management, navigation, all major user actions, state inspection (snapshot, console, network), debugging (tracing), and output (screenshot, PDF). No obvious gaps.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.
Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server to assist with JxBrowser development.
Related MCP Servers
- AlicenseBqualityDmaintenanceA concurrent browser MCP server that supports multiple parallel browser instances206511Apache 2.0
- AlicenseBqualityDmaintenanceEnables AI agents to control multiple independent browser instances in parallel with process-level isolation, supporting any backend MCP server for browser automation.271,44517MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server for QA and test automation that provides runtime switching between multiple browser profiles (Chromium, Firefox, WebKit) without restart, enabling cross-browser regression testing, multi-account testing, localization QA, and more.18MIT
- AlicenseNot gradedqualityBmaintenanceLocal MCP server for persistent Chrome automation with multi-profile support, enabling tab management, page inspection, element interaction, JavaScript evaluation, and screenshots while preserving login sessions across restarts.1652MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Mokecy/mcp-browser-parallel'
If you have feedback or need assistance with the MCP directory API, please join our Discord server