mcp-browser-agent
Supports automating Gmail tasks such as logging in, composing emails, and managing the inbox through browser control.
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-agentExtract the headlines from bbc.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 Agent
让 AI Agent(Claude/GPT)像人一样操作浏览器。 Let AI agents control the browser just like a human.
📋 工具清单(30 个)
🧭 导航类
工具 | 说明 |
| 打开网页并截图(支持全页截图) |
| 获取当前页面 URL |
| 获取页面标题 |
| 获取 HTML 源码 |
| 刷新页面 |
| 后退 |
| 前进 |
| 导出当前页面为 PDF |
🖱️ 交互类
工具 | 说明 |
| 点击元素(CSS 选择器、文本、右键) |
| 填写输入框(模拟真实输入) |
| 清空输入框 |
| 下拉列表选择(value/label/index) |
| 键盘按键(Enter/Escape/Tab/组合键) |
| 鼠标悬停 |
| 提交表单 |
| 滚动(上/下/到顶/到底/到元素) |
| 拖拽元素 |
📝 提取类
工具 | 说明 |
| 提取文字内容(支持选择器和属性) |
| 执行自定义 JavaScript |
| 截取指定元素的截图 |
| 获取 Cookie |
| 删除 Cookie |
📑 标签页管理
工具 | 说明 |
| 打开新标签页 |
| 切换到指定标签页 |
| 关闭标签页 |
⚡ 高级功能
工具 | 说明 |
| 等待(时间或元素出现/消失) |
| 切换 iframe 上下文 |
| 获取控制台日志 |
| 重置浏览器实例 |
| 关闭当前页面 |
Related MCP server: Cloudflare Playwright MCP
🚀 快速开始
前提
Node.js >= 18
(推荐)Claude Desktop / Cursor / 任何支持 MCP 的客户端
快速使用
# 全局安装(推荐)
npm install -g @yubao2000/mcp-browser-agent
# 启动服务
mcp-browse-agent在 Claude Desktop 中配置
找到配置文件 claude_desktop_config.json:
平台 | 路径 |
Windows |
|
macOS |
|
Linux |
|
💡 找不到文件? 打开 Claude Desktop → 点 Developer(开发者)→ Edit MCP Config(编辑 MCP 配置),会自动打开或创建这个文件。
将以下内容填入:
{
"mcpServers": {
"browser-agent": {
"command": "mcp-browse-agent",
"args": []
}
}
}配置完成后,直接对 Claude 说:
"帮我打开百度首页,截图给我看"
"搜索 'MCP 协议',把搜索结果提取出来"
"帮我登录 Gmail,填上用户名和密码,点击登录"
在 Cursor 中配置
打开 Cursor → 设置 → Features → MCP Servers → Add New MCP Server:
字段 | 填什么 |
Name |
|
Type |
|
Command |
|
Arguments | 留空 |
或者直接在项目下创建 .cursor/mcp.json 文件:
{
"mcpServers": {
"browser-agent": {
"command": "mcp-browse-agent",
"args": []
}
}
}配置后在 Cursor 中使用 ⌘ . 或 Ctrl . 打开 MCP 面板,选择 browser-agent 即可:
"帮我打开百度首页,截图给我看"
"提取当前页面的所有链接"
在 OpenAI Codex 中配置
编辑 ~/.codex/config.toml:
[mcp_servers.browser-agent]
command = "mcp-browse-agent"
args = []配置后在 Codex 会话中使用 /mcp 确认服务已加载:
"帮我打开百度首页,截图给我看"
"帮我提取当前页面的文字内容"
💡 提示: 在 Codex 中使用
/mcp列出所有配置的 MCP 服务,/mcp verbose查看详细状态。
🛠 配置文件
项目支持 .mcp-browser.json 配置文件(放在项目目录或用户目录 ~/.mcp-browser.json):
{
"dataDir": "./.browser-data",
"viewport": { "width": 1280, "height": 800 },
"headless": true,
"defaultTimeout": 30000,
"chromePath": null
}环境变量也可配置:
BROWSER_DATA_DIR— 数据目录(Cookie 等)MCP_BROWSER_CONFIG— 配置文件路径MCP_PRO_LICENSE— Pro 版 License Key
👁️ 显示浏览器窗口(调试/过验证码)
默认浏览器在后台运行(不可见)。如果需要看到浏览器窗口:
# 方式 1:环境变量
SHOW_BROWSER=true mcp-browse-agent
# 方式 2:配置文件 .mcp-browser.json
{
"showBrowser": true
}浏览器窗口会弹出,你可以看到 AI 的每一步操作。适用于:
调试(看 AI 点了哪里、填了什么)
遇到滑动验证码时手动操作
演示/录屏
🍪 Cookie 持久化
Cookie 自动保存在 .browser-data/cookies.json。重启服务后,之前登录的网站自动恢复登录态。对于需要频繁登录的网站(Gmail、知乎、小红书等),只需登录一次。
📦 本地开发
git clone https://github.com/yubao2000/mcp-browser-server.git
cd mcp-browser-server
npm install
npm run build
npm start💰 Pro 版
功能 | 免费版 | Pro 版 ($9.9/月) | 终身版 ($99) |
全部 34 个工具 | ✅ | ✅ | ✅ |
Cookie 持久化 | ✅ | ✅ | ✅ |
标签页管理 | ✅ | ✅ | ✅ |
批量自动化(CSV 驱动) | ❌ | ✅ 100条/次 | ✅ 100条/次 |
多标签页并发 | 1个 | 10个 | 10个 |
Cookie 加密备份 | ❌ | ✅ | ✅ |
JSON/CSV 数据导出 | ❌ | ✅ | ✅ |
企业级技术支持 | ❌ | ✅ | ✅ |
永久免费升级 | ❌ | ❌ | ✅ |
Pro 版即将推出。订阅通知获取早鸟优惠!
🤝 贡献
欢迎 Star、Issue、PR!
📄 License
MIT
Available Tools
36 toolsbrowser_backA
浏览器后退到上一页。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of transparency. It accurately describes the behavior (navigates back to the previous page) without hiding side effects or requiring additional context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of a single clear sentence. It omits unnecessary details and gets straight to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has no parameters and performs a simple, well-defined action, the description is complete. An agent can understand exactly what the tool does without needing additional information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and the description correctly reflects that no parameters are needed. The schema coverage is 100%, so nothing is left undocumented.
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: '浏览器后退到上一页' (browser goes back to the previous page). It specifies the verb (go back) and the resource (browser/page), and it is distinct from sibling tools like browser_forward.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool (when the user wants to navigate to the previous page). It does not explicitly mention alternatives, but the context is unambiguous and the action is self-explanatory.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_batchB
批量执行自动化操作序列。按顺序执行一系列操作:打开网页、点击、填表、提取、等待等。限时免费中。
| Name | Required | Description | Default |
|---|---|---|---|
| steps | Yes | 操作步骤列表,按顺序执行 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It mentions '按顺序执行' (execute in order), which is a key behavior, but it does not describe potential side effects, failure handling, or how the order affects the browser state. Additionally, the sentence '限时免费中' (limited time free) is irrelevant and distracts from behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but includes an irrelevant marketing phrase '限时免费中' (limited time free) that does not help the agent understand the tool. This extra content wastes space and violates the principle that every sentence should earn 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?
The description gives concrete examples of operations (open web pages, click, fill, extract, wait) which helps the agent understand the range of actions. However, it does not explain the structure of the 'steps' parameter beyond what the schema already provides, nor does it mention edge cases like invalid actions. Given the schema richness, this is adequate but not exceptional.
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 provides 100% coverage of the one parameter (steps) with a description of each property and the overall list. The tool description adds no extra meaning beyond what the schema already states, so the 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's purpose: batch execution of automation operation sequences. It mentions the specific verb '批量执行' (batch execute) and the resource '自动化操作序列' (automation operation sequence), and it specifies that operations are executed in order. This distinguishes it from the individual sibling tools like browser_click or browser_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 does not provide explicit guidance on when to use this tool versus the individual sibling tools. It implies batch usage but does not state conditions like 'use this when you need to perform multiple steps' or 'use individual tools for single actions.' No alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_clearA
清空输入框的内容。
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | 输入框的 CSS 选择器 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the basic action. It does not disclose side effects (e.g., triggering events), error behavior for missing elements, or whether it affects disabled fields.
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 directly conveys the tool's purpose without 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 action, the description is adequate, but it omits potential edge cases (e.g., clearing a non-input element, or the effect on related UI state). Still, it is sufficiently complete for the tool's simple nature.
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 describes the parameter 'selector' as a CSS selector, and the tool description adds no additional context or clarification about its usage or expected format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: clearing the content of an input field. It uses a specific verb and resource, making it distinct from sibling tools like fill or click.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly mention when to use this tool versus alternatives, such as when to use fill with an empty string. Usage must be inferred from the tool's name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_clickC
点击页面上的元素(支持 CSS 选择器或文本匹配)。
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | 按文本内容点击,如 '登录'。优先于 selector | |
| selector | No | CSS 选择器,如 '#btn', '.class' | |
| rightClick | No | 是否右键点击 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only states that it clicks an element, but does not disclose whether the click is awaited, whether the element must be visible, whether it triggers navigation, or any side effects. This is minimal for a browser interaction tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence in Chinese, easy to parse and free of redundancy. However, its brevity sacrifices useful context, though that is captured under other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with three parameters and full schema coverage, the description is minimal. It lacks usage guidance and behavioral details, which are important for a browser automation tool. The agent would need to infer when to use it and what happens on click, so completeness 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?
The input schema already provides 100% coverage, with each parameter (text, selector, rightClick) clearly described. The description adds no additional semantic meaning beyond what the schema offers, 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 states the action (click) on a resource (page elements) and mentions two matching modes (CSS selector or text). It is clear about what it does, but it does not distinguish itself from the sibling tool browser_clickAt, which likely has a similar purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of when to prefer browser_click over browser_clickAt or other click-related tools, leaving the agent to infer selection from parameter names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_clickAtA
在页面的指定坐标位置点击(如无法用 CSS 选择器定位的元素)。用于滑动验证码、弹窗、canvas 等场景。
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | X 坐标(相对于视口左上角) | |
| y | Yes | Y 坐标(相对于视口左上角) | |
| button | No | 鼠标按键 | left |
| clickCount | No | 点击次数 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions that clicking by coordinates is for elements not locatable by CSS, but does not disclose details such as whether the click is simulated, whether it scrolls the element into view, or whether it triggers events. This is moderate transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, stating the action, the condition for use, and example scenarios in a compact manner. 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?
The description adequately covers the tool's purpose and appropriate usage scenarios. It lacks details about edge cases (e.g., coordinates outside viewport) or return behavior, but given the simplicity of the operation, it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides descriptions for all parameters (coordinates relative to viewport, button options, click count). The tool description does not add extra semantic context 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 clearly states the tool clicks at specified coordinates on the page, and provides typical use cases such as sliding captchas, popups, and canvas elements. It also distinguishes itself from element-based clicking by noting it is for elements that cannot be located with CSS selectors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly explains when to use this tool: when elements cannot be located via CSS selectors, and for scenarios like sliding captchas, popups, and canvas. This gives clear guidance on choosing this tool over alternatives like browser_click.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_closeA
关闭当前页面(不清除浏览器实例,下次操作自动新建页面)。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and explicitly discloses key side effects: it does not clear the browser instance, and the next operation will automatically create a new page. This is sufficient transparency for the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that directly conveys the action and its key behavioral consequence without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool, the description provides enough context for an agent to know what happens when it is invoked. No output schema exists, and no return value explanation is necessary for this destructive action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and the schema coverage is trivially 100%. The description adds no parameter-specific meaning, but none is needed because there are no 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: close the current page. It distinguishes itself from other tab-related tools by specifying that the browser instance is preserved and a new page will be created automatically on the next operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool: when you want to close the active page but keep the browser session alive. It does not explicitly compare with browser_closeTab, but the behavioral note about auto-creating a new page on the next operation provides practical guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_closeTabA
关闭当前标签页,自动切换到上一个标签页。
| Name | Required | Description | Default |
|---|---|---|---|
| index | No | 要关闭的标签页索引(可选,默认关闭当前页) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the automatic switch to the previous tab, which is a key behavior. However, it does not mention side effects like closing the last tab, invalid index handling, or whether confirmation is required. No annotations provide additional transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, using only two clauses to convey the action and default behavior. No unnecessary words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is sufficient for a simple tab-close operation but lacks context about edge cases (e.g., single tab, invalid index) and does not mention how it interacts with other tab-management tools. It is clear but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter 'index' is fully described in the schema with its default behavior. The tool description does not add extra meaning beyond the schema, so it meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (closing a tab) and the resource (browser tab), and implies the default behavior of closing the current tab. It distinguishes from sibling tools like browser_newTab and browser_switchTab by focusing on the close operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives (e.g., when to close a tab vs. switching). The description does not mention scenarios where this is preferred or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_consoleB
获取页面控制台日志(console.log/error/warn 的输出)。
| Name | Required | Description | Default |
|---|---|---|---|
| clear | No | 获取后是否清空日志缓冲区 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not mention side effects of the 'clear' parameter (e.g., clearing the buffer) or describe the return format (e.g., an array of log entries). The description only states what it fetches, not what the tool does beyond that.
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 core action. There is no fluff or 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?
The tool is simple, but the description omits critical context: it does not specify the return type (e.g., an array of log strings) or behavior when there are no logs. It also does not explain the 'clear' parameter's effect in the description, leaving the agent to infer it solely from the schema. Given no output schema and no annotations, this is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides a full description of the 'clear' parameter (whether to clear the log buffer after retrieval), covering 100% of the parameter meaning. The tool description does not add any extra semantic value beyond what the schema already explains, so the 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 verb (获取/get) and resource (页面控制台日志/page console logs), and specifies the log types (console.log/error/warn). It distinguishes itself from siblings like browser_getTitle or browser_getHTML by focusing on console output, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. For example, it does not clarify when to prefer browser_console over browser_evaluate (which could also access console via JS) or mention any prerequisites. The intended usage context is only implied by the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_deleteCookiesC
删除 Cookie。不传参数则删除所有 Cookie。
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | 要删除的 Cookie 名称(可选,不传则清空所有) | |
| domain | No | Cookie 域名(可选) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
无注释,描述承担全部责任。仅说明删除Cookie,但未披露副作用(如影响会话)、是否可逆、是否需要特定权限,以及传递参数时的具体行为。对于破坏性操作,信息不足。
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
单句描述,简洁且关键行为(不传参删除所有)前置,无冗余内容。虽然简短,但有效传递了核心信息,结构合理。
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
对于简单删除工具,无输出schema,参数少且schema覆盖完整,描述基本足够。但缺少行为细节(如删除特定cookie的条件),且无注释,整体可接受但非完备。
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
schema覆盖100%,两个参数name和domain都有清晰描述,描述本身未添加额外格式或语义信息。基线为3,因为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?
描述明确说明工具用于删除Cookie,并具体说明不传参数时的行为(删除所有),动词和资源清晰。名称也直观,与兄弟工具如browser_getCookies区分明显,但未明确提及与browser_clear等其他清除工具的区别,略降一分。
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
描述仅说明不传参数的行为,未提供何时使用此工具或何时使用其他替代工具的指导。没有提及使用场景、前提条件或与其他浏览器工具的差异,代理无法据此判断何时应调用此工具而非其他。
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_dragB
拖拽元素到目标位置。
| Name | Required | Description | Default |
|---|---|---|---|
| xOffset | No | 水平偏移像素(与 targetSelector 二选一) | |
| yOffset | No | 垂直偏移像素(与 targetSelector 二选一) | |
| selector | Yes | 要拖拽的元素的 CSS 选择器 | |
| targetSelector | No | 目标放置位置的 CSS 选择器 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing side effects. It only states the action without mentioning post-drag events, state changes, or any potential consequences, leaving the agent with limited understanding of the tool's full behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that conveys the core function without any unnecessary words. It is well-structured and to the point.
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 four parameters and no output schema, the description is minimally adequate. It identifies the action and the target, but lacks additional context about how the drag is performed (e.g., duration, steps, or interaction with the page) that might be useful in complex automation scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all four parameters with descriptions, including the mutual exclusivity between offset and targetSelector. The description itself adds no extra meaning beyond the schema, but since coverage is 100%, the baseline score of 3 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 'drag element to target position' clearly states the action (drag) on a resource (element), and it is distinct from sibling tools like click or hover. It could be more specific about the drag mechanics, but it is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as mouseMove or click. The description does not mention conditions, prerequisites, or scenarios where dragging is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_evaluateB
在页面中执行自定义 JavaScript 代码,返回结果。
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | 要执行的 JS 代码 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of behavioral disclosure. It states that code is executed and a result is returned, but it does not disclose that executing arbitrary JavaScript can have side effects (e.g., navigation, DOM mutations, network requests) or that it may be irreversible. It also does not clarify whether the execution is synchronous or how complex results (objects, promises) are serialized. This is a significant gap for a code-execution tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that directly states the action and result. It is front-loaded with the primary purpose, and there is no unnecessary elaboration. While it is minimal, it is efficient for a tool with one parameter and no annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that this is a high-complexity tool (arbitrary code execution) with no output schema, the description is insufficiently complete. It does not explain the return value's format, potential failure modes, or safety considerations. For example, an agent would benefit from knowing whether the result is a JSON-serialized value, whether promises are awaited, or whether the code runs in the page's context. The description only offers the basic action and result without the details needed for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the parameter 'code' is described as '要执行的 JS 代码' (JS code to execute). The tool description adds no further meaning beyond what the schema already provides, so the baseline of 3 applies. No compensation is needed, but no extra value is added either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: executing custom JavaScript code in the page and returning the result. This specific verb-resource combination (execute JS) distinguishes it from sibling browser tools like browser_extract or browser_click, which perform different actions. No ambiguity remains 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?
The description provides no guidance on when to use this tool versus alternatives. With over 30 sibling tools, there is no indication that this is the appropriate choice for running arbitrary code, nor any mention of when it should be avoided (e.g., if a more specific browser action would suffice). The agent must infer usage entirely from the tool's purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_exportC
将页面数据导出为 CSV 或 JSON 文件。限时免费中。
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | 导出格式 | csv |
| filePath | No | 保存路径(可选,默认输出到结果) | |
| selector | Yes | 表格/列表的 CSS 选择器 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It does not mention side effects like file creation, overwriting, permissions, or whether data is returned when no filePath is given. The phrase '限时免费中' is promotional and irrelevant. There is no contradiction with annotations (none exist), but the description fails to disclose any behavioral details beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loads the purpose in the first sentence. However, the second sentence '限时免费中' (limited-time free) is promotional and not useful for an agent deciding when to call the tool. This is minor noise, but the overall structure is efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description needs to cover expected return values, edge cases, and usage context. It does not mention what happens when filePath is omitted (output to result), the default format, or that selector is required. It also lacks guidance on when this tool is preferred over siblings. The description is too sparse for an agent to call it correctly without inspecting the schema closely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter (selector, format, filePath) having a description. The tool description adds no additional meaning about parameters; it does not explain what the selector targets (tables/lists), the default format, or the behavior of filePath. Since the schema fully documents parameters, the baseline of 3 applies; the description provides no extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('export') and resource ('page data') with output formats (CSV/JSON). It is not a tautology and conveys the core action. However, it does not explicitly mention that it targets tables/lists (which is in the schema's selector description) nor does it differentiate from sibling tools like browser_extract, which might also extract data. The promotional phrase '限时免费中' adds no purpose clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not say 'use this when you need to save data to a file' or contrast with browser_extract or browser_evaluate. The description provides no context for selection among siblings, leaving the agent to infer usage from the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_extractB
提取页面文字内容。
| Name | Required | Description | Default |
|---|---|---|---|
| selector | No | CSS 选择器,留空则提取整页可见文本 | |
| attribute | No | 提取属性值(如 'href'),配合 selector 使用 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral transparency. It implies a read-only operation ('extract') but does not disclose potential side effects, failure modes, or authorization requirements, offering only minimal insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is front-loaded with the primary action and object. It contains no fluff 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?
Given the simplicity of the tool and the absence of an output schema, the description is somewhat incomplete. It does not specify the return format (e.g., string of text or attribute value) or behavior when no element matches, but the core purpose is clear enough for basic 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?
The input schema fully describes both parameters (selector and attribute) with clear explanations, achieving 100% coverage. The 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 clearly states the tool extracts page text content, a specific verb-object pair. It is distinguishable from siblings like getHTML and getTitle, though it does not explicitly mention attribute extraction which is defined in the schema.
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 compared to alternatives such as getHTML or evaluate. There is no mention of scenarios where this tool is preferred or dispreferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_fillA
填写输入框。模拟真实用户输入,带延迟。
| Name | Required | Description | Default |
|---|---|---|---|
| clear | No | 输入前是否清空,默认 true | |
| value | Yes | 要输入的内容 | |
| delayMs | No | 输入延迟毫秒数,默认 30 | |
| selector | Yes | 输入框的 CSS 选择器 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations. The description mentions simulating real user input with a delay, which provides some behavioral insight, but it does not disclose side effects such as the default clearing behavior (though that is in the schema) or whether the action is reversible. Since no annotations are present, the description carries full responsibility and falls short of full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and directly stated in two short sentences. It includes the essential action and a key behavioral characteristic (delay) without unnecessary detail, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (four parameters) and lack of an output schema, the description together with the schema provides enough context for an agent to call it correctly. It does not explain return values, but that is not strictly necessary since the tool likely returns nothing or a simple 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?
The schema provides complete descriptions for all four parameters (selector, value, clear, delayMs), offering 100% coverage. The description adds no extra semantic meaning beyond what the schema already defines, so it meets the baseline but does not improve it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to fill an input box with simulated real user input, including a delay. This distinguishes it from sibling tools like browser_click, browser_clear, and browser_pressKey, which have different actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for filling text inputs but does not explicitly explain when to use it over alternatives like browser_pressKey or browser_clear. No use-case guidance is provided, so the agent must infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_forwardB
浏览器前进到下一页。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the action but does not mention potential outcomes, such as what happens if there is no forward history, whether it affects the current tab, or any prerequisites. This is insufficient for a navigation tool in a context with many siblings.
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 core action. It is efficient and free of extraneous words. While it is minimal, it is appropriately sized for a tool with no parameters, though it could benefit from a brief mention of edge cases.
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 navigation tool, the description is incomplete. It lacks context about what happens when there is no forward history, whether it operates on the current tab or the whole browser, and how it relates to browser_back. Given the large set of sibling tools and the absence of annotations or output schema, this is insufficient for an agent to call it correctly in all scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline score is 4. The description doesn't need to elaborate on parameters, and the empty schema already covers everything. No additional parameter information is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action clearly: 'browser forward to next page' in Chinese. It identifies the resource (browser) and the specific operation (forward navigation), distinguishing it from the sibling browser_back. However, it doesn't elaborate on what 'next page' means (e.g., history forward) or provide any additional context that would help differentiate it from other navigation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It doesn't mention when to use forward vs. back, or when it's appropriate to use this over browser_reload or other navigation tools. The description leaves all usage decisions to the agent's inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_getBoundsA
获取页面上元素的位置和大小信息。用于计算点击坐标、滑动距离等。
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | CSS 选择器 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool retrieves position and size information, implying a read-only operation, but it does not specify return format, potential errors, or coordinate system (viewport vs. document), leaving some behavioral details undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with the primary action stated first and a brief explanatory clause for context. It is not verbose and contains no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description provides sufficient context to understand what it does and when to use it. It lacks explicit details about the return structure, but this is not critical for basic 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?
The schema already defines the 'selector' parameter as a CSS selector, covering its basic meaning. The description adds minimal extra semantic value beyond that, such as tying it to element location, which is already inferred from the tool's purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves element position and size, and mentions its use case for calculating click coordinates and swipe distances. This distinguishes it from sibling tools that perform actions like clicking or dragging.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates when to use the tool (for computing coordinates before actions like clicks or swipes), providing clear context. However, it does not explicitly name alternative tools or state when not to use it, so it falls short of being fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_getCookiesA
获取当前页面的所有 Cookie。
| Name | Required | Description | Default |
|---|---|---|---|
| domain | No | 按域名筛选(可选) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read-only action but does not disclose potential sensitivity of cookie data or any side effects. Basic but not misleading.
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 directly conveys the tool's purpose without any unnecessary words or structures.
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 getter, the description is sufficient. It covers the action and the optional parameter. No output schema is present, but the return (cookies) is implied and not critical for this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The 'domain' parameter is described with its optionality and purpose ('按域名筛选'), adding meaningful clarity beyond the schema type. Schema coverage is 100%, and the description enriches it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states '获取当前页面的所有 Cookie' (get all cookies of current page), using a specific verb and resource. It distinguishes itself from sibling tools like browser_deleteCookies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description does not mention deleteCookies or other related tools, nor any conditions for retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_getHTMLA
获取当前页面的 HTML 源码(或指定元素的 HTML)。
| Name | Required | Description | Default |
|---|---|---|---|
| outer | No | 是否包含元素本身的标签,默认 true | |
| selector | No | CSS 选择器,留空则获取整个页面的 outerHTML |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. It indicates a read operation ('get') with no side effects mentioned, which is consistent with a getter. However, it does not specify behavior for invalid selectors or empty results, leaving minor ambiguities.
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 fully conveys the tool's function without superfluous details. It is well-structured and immediately understandable.
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 retrieval tool, the description adequately covers its core behavior. It lacks explicit error scenarios or return format, but these are not critical for a basic getter and the description leaves no major gaps in understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters. The descriptions add meaningful context: 'outer' clarifies inclusion of the element's own tag and its default, while 'selector' explains that an empty value retrieves the whole page. This goes beyond basic type 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 that the tool retrieves HTML source of the current page or a specified element, making its purpose unmistakable. It is distinct from sibling tools like browser_getTitle or browser_screenshot, which serve different retrieval 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?
The description implies usage for obtaining HTML but does not explicitly contrast it with alternatives such as browser_extract or browser_evaluate. There is no direct guidance on when to prefer this tool over others, though the purpose is self-evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_getTitleA
获取当前页面的标题。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It makes the read-only nature explicit by saying 'get,' but does not mention potential errors (e.g., if no page is loaded) or side effects. For a simple getter, this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, concise sentence that fully conveys the operation without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, zero-output-schema getter, the description is complete. No additional context is needed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so the baseline applies. The description adds no parameter-level details because there are none to clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action (get) and the resource (the current page's title). It distinguishes itself from sibling tools like browser_getUrl and browser_getHTML by specifying the exact data returned.
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 tool's purpose is self-evident, but the description does not explicitly mention when to prefer it over other getter tools or any conditions. However, given the distinct resource, no ambiguity arises.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_getUrlB
获取当前页面的完整 URL。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description accurately states the primary action (getting the URL) but does not disclose any potential side effects, permissions, or limitations. Since no annotations are provided, the description carries the full burden, and it only covers the surface behavior without deeper transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no extraneous information. It is direct and well-structured, containing only the essential statement of functionality.
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 (no parameters, no output schema), the description provides enough context to understand its purpose. It lacks additional details such as whether it works across iframes or how the URL is returned, but these are not critical for a basic getter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema coverage is effectively 100%. The description does not need to explain non-existent parameters. Per the baseline for 0 parameters, a score of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool retrieves the full URL of the current page, which is a specific and unambiguous action. It distinguishes itself from the sibling tools by naming a unique resource (URL) and a specific verb (get).
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 the many sibling tools. It does not mention any conditions or alternatives, leaving the agent to infer appropriate usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_getViewportA
获取当前页面的视口大小和滚动位置。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It implies a read-only operation by saying 'get', but does not explicitly state side-effect-free behavior or any prerequisites like a loaded page.
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 directly communicates the tool's purpose without 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 parameterless getter, the description is sufficient. It does not specify the return format, but the lack of parameters and clear purpose make the tool reasonably complete for typical usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. There are no parameter descriptions needed, and the description does not introduce any parameter-related ambiguity.
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 gets the current page's viewport size and scroll position, using a specific verb and resource. It is easily distinguishable from sibling getters like getUrl and getTitle.
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 about when to use this tool versus alternatives, such as screenshot or evaluate. The description only states what it does, not when it should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_hoverA
将鼠标悬停在元素上(触发 hover CSS 效果)。
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | 按文本内容悬停(优先于 selector) | |
| selector | No | CSS 选择器 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It does mention the CSS hover effect, which is a behavioral detail, but it omits other relevant aspects such as error handling, waiting behavior, or visibility 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, clear sentence with no superfluous words. It is well-structured and easy to understand.
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, the description covers the core purpose but lacks details about return values (though no output schema is defined) and potential side effects or requirements. It is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides descriptions for both parameters (text and selector) with the priority note. The tool description adds no additional semantic meaning beyond that, so it remains at the baseline for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (hover the mouse) and the effect (triggers hover CSS effect). It distinguishes itself from other browser actions like click or fill by specifying the hover behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not mention when to use this tool versus alternatives, nor does it provide guidance on choosing between the text and selector parameters beyond the parameter descriptions. No explicit comparison to sibling tools is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_iframeA
切换到 iframe 上下文(之后的操作在 iframe 内执行),或切回主页面。
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | iframe 的 CSS 选择器,传 'main' 切回主页面 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description bears the full burden of explaining behavior. It states that subsequent operations execute within the iframe and that passing 'main' switches back, providing key behavioral insight. It does not disclose all potential side effects, but the core behavior is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, using a single sentence with two clear clauses. It is well-structured and contains no unnecessary 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 (one parameter, no output schema), the description provides complete context: purpose, usage, parameter semantics, and behavioral effect. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'selector' is described as the iframe's CSS selector, with a special value 'main' to switch back. This adds significant meaning beyond the schema's type hint and fully clarifies parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: switching to an iframe context or back to the main page. It uses specific verbs and names the resource, effectively distinguishing it from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool (to execute subsequent operations within an iframe) and how to return to the main page using 'main'. It implies usage context but does not explicitly mention alternative tools or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_mouseMoveB
模拟鼠标移动到指定坐标。支持分段移动(模拟真人轨迹)。
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | 目标 X 坐标 | |
| y | Yes | 目标 Y 坐标 | |
| steps | No | 移动步数(越多越平滑,默认 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions the behavioral trait of simulating human trajectory through segmented movement, but it does not disclose potential side effects (e.g., triggering hover events, coordinate system, or viewport constraints). With no annotations provided, more transparency would be expected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, using only two sentences to convey the essential purpose and one additional feature. No redundant wording or unnecessary details are present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple action with no output schema, the description covers the core behavior and the optional parameter. However, it does not specify the coordinate system (e.g., viewport vs. page) or whether the tool auto-scrolls to coordinates, which could be a minor gap in full 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?
The schema already provides descriptions for all three parameters (100% coverage). The description adds no extra semantic information beyond what the schema states, so it meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (simulate mouse moving), the target (specified coordinates), and the scope (supporting segmented movement for human-like trajectory). It is specific and distinguishes the tool's function without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives like hover or clickAt. The description lacks any explicit or implied usage conditions, leaving the agent without information on when to prefer this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_newTabB
打开一个新的空白标签页。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | 在新标签页中打开的 URL(可选) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose any behavioral details such as whether the new tab becomes active or if it is a non-destructive operation. No annotations are present to supplement this.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundant words. It is well-structured and to the point.
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 a clear schema and no output, the description is mostly adequate. However, it omits mention of the URL parameter's effect, which could lead to a partial understanding of 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?
The schema fully documents the optional 'url' parameter. However, the description's phrase 'blank tab' could imply that no URL is ever opened, potentially conflicting with the parameter's purpose. The description adds no extra clarity beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: opening a new blank tab. It is specific and distinguishes this tool from siblings like switchTab or closeTab.
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 scenarios where a new tab is preferred over switching tabs or opening a URL in an existing tab.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_pdfA
将当前页面导出为 PDF(返回 Base64 编码的 PDF)。
| Name | Required | Description | Default |
|---|---|---|---|
| scale | No | 缩放比例,默认 1 | |
| format | No | 纸张大小,默认 'A4' | A4 |
| landscape | No | 横向打印,默认 false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the operation returns a Base64-encoded PDF, which is a key behavioral aspect. However, it does not explicitly state whether the operation is read-only or if any side effects occur, though export implies no page modification. Since no annotations are present, more detail would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that conveys the essential purpose. No superfluous words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main functionality and output format, and all parameters are described in the schema. It does not mention error handling or edge cases, but for a simple export tool it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters (scale, format, landscape) have descriptions in the schema, so coverage is 100%. The description does not add additional semantics beyond the schema, e.g., valid ranges or interactions between parameters, so it stays at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action (export), the resource (current page), and the output format (PDF with Base64 encoding). It differentiates from siblings like browser_screenshot by specifying PDF, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not specify when to use this tool versus browser_screenshot or browser_export. No conditions or alternative comparisons are provided, so an agent lacks guidance on selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_pressKeyA
在页面上按下键盘按键。支持 Enter, Escape, Tab, Backspace, ArrowUp/Down/Left/Right, Delete, 以及组合键如 Control+A, Control+C。
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | 按键名,如 'Enter', 'Escape', 'Tab', 'ArrowDown', 'Control+A', 'Delete' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the responsibility. It effectively discloses the supported keys and combinations, but does not mention potential side effects (e.g., requiring focus, event propagation) or what happens after pressing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the action, and uses two clear sentences. It includes examples without unnecessary verbosity.
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 keyboard action, the description provides sufficient context, including key examples and combination syntax. It does not mention return values or edge cases, but these are not critical for this tool's basic 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?
The schema already covers the parameter with a description and examples. The tool description repeats the same information, adding little new semantic value beyond reinforcing the acceptable 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 tool's action (press keyboard keys) and provides a list of supported keys and combinations, making its purpose unambiguous and distinct from sibling tools like click or 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 does not explicitly explain when to use this tool versus alternatives, but the action is self-explanatory and the examples imply common keyboard interactions. No direct comparison or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_reloadB
刷新当前页面。
| Name | Required | Description | Default |
|---|---|---|---|
| ignoreCache | No | 是否强制刷新(忽略缓存),默认 false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose potential side effects such as loss of form data or reliance on cache. While the parameter description mentions cache behavior, the tool description itself omits behavioral details that could affect the user.
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—a single sentence—and directly states the purpose without any unnecessary words. It is appropriately sized for the simple action and front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple browser action, the description is adequate: it clearly specifies the target ('current page') and the action. It could benefit from mentioning that it operates on the active tab, but given the simplicity and sibling context, it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides full coverage for the single parameter (ignoreCache) with a clear description. The tool description adds no extra meaning beyond the schema, aligning with the baseline of 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Refresh the current page.' It names the specific verb (refresh) and the object (current page), making it unambiguous and distinct from sibling tools like browser_reset or browser_newTab.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of appropriate contexts or scenarios where refreshing is necessary or preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_resetA
重置浏览器实例。关闭所有页面和浏览器进程,重新启动。用于浏览器卡死或状态异常时。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and clearly discloses the destructive behavior: '关闭所有页面和浏览器进程' (closes all pages and browser processes) followed by a restart. This is transparent 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 two concise sentences, front-loading the action and then giving the purpose. Every sentence contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description fully covers purpose, usage condition, and side effects. It is complete for an agent to decide when and how to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters and the schema is empty, so the baseline is 4. The description adds no parameter info, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific verb '重置' (reset) and resource '浏览器实例' (browser instance), and explains it closes all pages and processes and restarts. This clearly distinguishes it from sibling tools like 'reload' or '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?
It explicitly specifies the use case: '用于浏览器卡死或状态异常时' (for when the browser is frozen or in an abnormal state). It doesn't explicitly name alternatives, but the condition implies not using it for normal navigation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_screenshotA
打开一个网页并截图。如果已打开页面,直接截图当前页。返回 PNG 图片。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | 要访问的 URL(可选,留空则截图当前页) | |
| waitMs | No | 等待毫秒数,默认 1000 | |
| fullPage | No | 截取整个页面(含滚动部分) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals a conditional behavior: it may navigate to a new URL if provided, otherwise it uses the current page. It does not mention other side effects like cookie changes or history updates, and since no annotations are present, it carries the full burden of transparency, resulting in a moderate score.
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, directly to the point, with no unnecessary words. It efficiently communicates the core function and the conditional behavior, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
It covers the main use cases (opening a URL or screenshotting current page) and mentions the output format (PNG). It lacks details on error handling or specific behavior of waitMs/fullPage, but given the simple nature of the tool, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already includes descriptions for all three parameters (url, waitMs, fullPage). The tool description adds little beyond repeating the meaning of url; it does not add new information about waitMs or fullPage, so it stays at the baseline given the high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: take a screenshot, optionally after opening a URL. It also clarifies the behavior when a page is already open via the conditional phrase. However, it does not explicitly differentiate it from sibling tools like screenshotElement, but the mention of 'current page' and 'PNG' provides implicit distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides basic guidance: if a page is already open, it screenshots the current one; otherwise, it can open a URL first. It does not explicitly name alternatives or conditions for when to use this tool over others, but the conditional note gives a practical usage pattern.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_screenshotElementA
截取页面中某个元素的截图(如某个按钮、图片、区域)。
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | 元素的 CSS 选择器 | |
| scrollIntoView | No | 是否先滚动到元素位置 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for behavioral disclosure. The description only states the action without mentioning any side effects, prerequisites, or how the screenshot is returned. It does not mention that the element may need to be visible or that the optional 'scrollIntoView' parameter could affect the capture. This lack of behavioral detail 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, concise sentence that front-loads the primary action and provides illustrative examples. It is efficient and easy to scan, with no unnecessary words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool, the description provides enough context for basic usage, but it lacks any mention of the output format or what the agent should expect as a return value. Since there is no output schema and no annotations, the description should clarify that a screenshot image or file is returned, but it does not. This leaves a moderate gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already includes descriptions for both parameters with 100% coverage, so the baseline is 3. The tool description does not add any further meaning beyond what the schema provides. Since the schema is sufficient, no additional points are warranted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '截取页面中某个元素的截图' (take a screenshot of an element on the page), and gives examples such as button, image, and area. This unambiguously distinguishes it from the sibling tool 'browser_screenshot' which likely captures the full 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 implies usage when a screenshot of a specific element is needed, but it does not explicitly compare with alternatives like the full-page screenshot or PDF sibling tools. There are no clear conditions or exclusions stated, leaving the user to infer when to choose this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_scrollB
滚动页面。支持方向滚动或滚动到指定元素。
| Name | Required | Description | Default |
|---|---|---|---|
| amount | No | 滚动像素数(up/down),默认 500 | |
| selector | No | 滚动到元素位置(优先级高于 direction) | |
| direction | Yes | 滚动方向 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for disclosing behavioral details. It does not mention that scrolling operates on the current page, potential side effects, or how it interacts with iframes or viewport boundaries. The behavior is not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and to the point, with no unnecessary words or redundant information. It effectively communicates the core functionality in two short sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the schema covers all parameters and no output schema exists, the description is mostly complete. However, it lacks details about the scope of scrolling (e.g., main page vs. iframe) and any return behavior, leaving some contextual gaps for 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?
The schema already provides descriptions for all three parameters (direction, amount, selector), including the precedence of selector over direction. The tool description adds no extra semantic meaning beyond what is in 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 clearly states the tool scrolls the page and supports two modes: directional scrolling or scrolling to an element. It is unambiguous, though it does not explicitly name sibling tools to distinguish itself from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide guidance on when to use this tool compared to alternatives like browser_back, browser_reload, or browser_iframe. It only states what it does, leaving the agent to infer usage context from the tool name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_selectA
从下拉列表 () 中选择选项。
| Name | Required | Description | Default |
|---|---|---|---|
| index | No | 要选中的 option 的索引(从 0 开始) | |
| label | No | 要选中的 option 的显示文本 | |
| value | No | 要选中的 option 的 value(优先级高) | |
| selector | Yes | select 元素的 CSS 选择器 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It states the action but does not detail side effects such as whether change events are triggered, if prior selections are cleared, or behavior when no matching option is found. This is a moderate 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 concise sentence that effectively conveys the core purpose without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description and schema fully cover the parameters and action. It omits edge cases like multiple matches or error handling, but for a simple select operation, it is reasonably complete. No output schema exists, so no return value explanation is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters have descriptions (schema coverage 100%), and the descriptions clarify their roles. However, they do not explain the mutual exclusivity or priority (value over label over index), which is important for correct usage. This adds some meaning but not full clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (select an option) and the target resource (a dropdown `<select>` element). It is distinct from sibling tools like `browser_click` or `browser_fill` which handle other interactions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for dropdown selection, and there is no alternative select-specific tool among siblings, so it is the obvious choice. However, it does not explicitly mention when not to use it (e.g., for non-select elements), but this is implied by the resource mention.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_submitC
提交表单。
| Name | Required | Description | Default |
|---|---|---|---|
| selector | No | 表单的 CSS 选择器,默认 'form' | form |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals nothing about the tool's behavior beyond the name. It does not mention side effects, prerequisites, error conditions, or what happens upon success or failure, leaving the agent without critical expectations.
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 short and to the point, but it provides no structured information or additional context. It is not verbose, but it also does not add value beyond the tool name, making it minimally adequate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a one-phrase description, the tool lacks essential contextual information. An agent would not know when to prefer this over sibling tools, what inputs to provide beyond the default, or what to expect in return, making it incomplete for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully describes the only parameter 'selector' with its default value and meaning. The description adds no additional semantic detail, so the baseline score of 3 is appropriate given the high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '提交表单。' clearly states the action of submitting a form, which is a specific verb and resource. However, it does not distinguish this from other browser actions beyond the name itself, missing the differentiation that would warrant a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus other browser actions like click, fill, or evaluate. The description offers no context or examples to help an agent decide when submission is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_switchTabB
切换到指定索引的标签页(从 0 开始)。
| Name | Required | Description | Default |
|---|---|---|---|
| index | Yes | 标签页索引(从 0 开始) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no mention of side effects, error behavior, or whether the browser waits for the tab to be ready, the description only states the bare 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, focused sentence with no filler, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tab-switch tool, the description plus schema is largely complete, though it would benefit from noting out-of-range or invalid index 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?
The input schema already documents the 'index' parameter and its 0-based meaning, so the description adds no extra parameter semantics beyond what is already available.
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 'Switch to the tab at the specified index (0-based)' states a specific action and resource, clearly distinguishing this from sibling tools like newTab and closeTab.
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 given about when to use this tool versus alternatives, nor about how the index relates to the current tab list or what happens with an invalid index.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_waitA
等待一段时间,或等待某个元素出现。
| Name | Required | Description | Default |
|---|---|---|---|
| ms | No | 等待的毫秒数,默认 2000 | |
| timeout | No | 超时毫秒,默认 30000 | |
| selector | No | 等待元素出现(优先级高于 ms) | |
| disappear | No | 等待元素消失而不是出现 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of behavioral disclosure. It only says 'wait for a period or element appear' and does not mention the 'disappear' mode, the timeout behavior (e.g., throwing on timeout), or whether it blocks execution. This is a significant gap for a tool with four parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, concise sentence that clearly front-loads the core purpose. No wasted words; it is efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple wait tool, the description is mostly sufficient, but it omits critical context like what happens when a timeout occurs, how the disappear parameter affects behavior, and whether it returns any value. Given the absence of an output schema and annotations, these gaps make 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% with each parameter described, so the baseline is 3. The description adds minimal value beyond the schema, only hinting at the ms/selector split but not explaining timeout or disappear. It does not compensate for the missing behavioral details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: wait for a duration or for an element to appear. It uses a specific verb (wait) and resource (time/element), and it stands apart from all sibling tools since none other handles waiting. The mention of 'element appear' covers the primary mode, though it omits the disappear option, which is minor.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives, but there are no direct alternatives among siblings. It is implied that this is the tool for any waiting need. However, it does not mention prerequisites or typical scenarios like waiting for navigation or AJAX completion, so the guidance is basic.
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
v0.5.0- First observed
browser_back - First observed
browser_batch - First observed
browser_clear - First observed
browser_click - First observed
browser_clickAt - First observed
browser_close - First observed
browser_closeTab - First observed
browser_console - First observed
browser_deleteCookies - First observed
browser_drag - First observed
browser_evaluate - First observed
browser_export - First observed
browser_extract - First observed
browser_fill - First observed
browser_forward - First observed
browser_getBounds - First observed
browser_getCookies - First observed
browser_getHTML - First observed
browser_getTitle - First observed
browser_getUrl - First observed
browser_getViewport - First observed
browser_hover - First observed
browser_iframe - First observed
browser_mouseMove - First observed
browser_newTab - First observed
browser_pdf - First observed
browser_pressKey - First observed
browser_reload - First observed
browser_reset - First observed
browser_screenshot - First observed
browser_screenshotElement - First observed
browser_scroll - First observed
browser_select - First observed
browser_submit - First observed
browser_switchTab - First observed
browser_wait
TDQS
Scored across 36 tools
每个工具针对明确的浏览器操作,如导航、交互、提取、标签页管理,用途清晰无重叠。尽管有多个点击类工具(click, clickAt, mouseMove),但描述明确区分了元素点击、坐标点击和鼠标移动。
所有工具统一使用browser_前缀,且动词为小写snake_case风格,如browser_getUrl、browser_mouseMove、browser_clickAt,模式高度一致,便于预测。
36个工具对于完整的浏览器自动化场景是合理的,覆盖了导航、交互、提取、标签页、Cookie、调试等功能,但数量略多,部分工具(如browser_export、browser_batch)可能属于高级功能,整体仍可接受。
工具集覆盖了浏览器自动化的完整生命周期:页面导航、元素操作、表单处理、内容提取、标签页管理、Cookie、截图、PDF导出、控制台日志等,没有明显缺失的核心功能。
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
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
AI-powered web automation. Navigate websites using AI agents for one page or a thousand
AI-powered web automation. Navigate websites using AI agents for one page or a thousand
Web search, browser automation, scraping, crawling and CAPTCHA solving for AI agents.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to control a browser through a set of tools, allowing them to perform web automation tasks like navigation, typing, clicking, and taking screenshots.-
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to control a browser through a set of tools, allowing them to perform web automation tasks like navigation, typing, clicking, and taking screenshots.-
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to control a browser through a set of tools, allowing them to perform web automation tasks like navigation, typing, clicking, and taking screenshots.-
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to control a browser through a set of tools, allowing them to perform web automation tasks like navigation, typing, clicking, and taking screenshots.-
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/yubao2000/mcp-browser-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server