Skip to main content
Glama
ricardodeazambuja

browser-mcp-server

Browser MCP Server

A universal browser automation MCP server using Playwright. Control Chrome programmatically through the Model Context Protocol.

63 powerful browser automation tools including multi-tab management, media monitoring/control, low-level interaction, session recording, CDP-based performance profiling, network analysis, security testing, and on-demand documentation.

Features

  • Smart Chrome Detection: Automatically finds and uses system Chrome/Chromium

  • Three-Tier Strategy: Antigravity Chrome → System Chrome → Playwright Chromium

  • Universal: Works with Antigravity, Claude Desktop, and any MCP client

  • 63 Tools: Media control, multi-tab, pixel-based interaction, CDP power user tools, and more

  • On-Demand Docs: Built-in documentation tool with return schemas and examples

  • Auto-Install: Playwright installed automatically via npm (no manual setup)

  • Safe: Isolated browser profile (won't touch your personal Chrome)

  • Console Capture: Debug JavaScript errors in real-time

  • Session Recording: Playwright traces with screenshots, DOM, and network activity

  • Auto-Reconnect: Handles browser crashes gracefully

Related MCP server: Playwright Server MCP

Quick Reference

Installation Method

Best For

Setup Time

NPM Package

Production use, easy updates

30 seconds

Clone Repository

Development, contributing

2 minutes

Direct Download

Quick testing, minimal setup

1 minute

MCP Client

Config File Location

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS)%APPDATA%/Claude/claude_desktop_config.json (Windows)

Antigravity

~/.gemini/antigravity/mcp_config.json

Claude Code

Use claude mcp add command

Gemini CLI

Use gemini mcp add command

Key Points:

  • ✅ Requires Node.js >= 16.0.0

  • ✅ Playwright installs automatically (via npm) or manually (via git clone)

  • ✅ Automatically detects and uses system Chrome/Chromium

  • ✅ Uses absolute paths in config files

  • ✅ Isolated browser profile (won't touch personal Chrome)

  • ✅ Restart MCP client after config changes

Quick Start

Installation

# Install globally (Playwright installs automatically)
npm install -g @ricardodeazambuja/browser-mcp-server

# Or use directly with npx (no installation needed)
npx @ricardodeazambuja/browser-mcp-server

Note: Playwright is installed automatically as a dependency. The server will automatically detect and use your system Chrome/Chromium if available, or fall back to Playwright's Chromium.

Method 2: Clone Repository (For Development)

# Clone the repository
git clone https://github.com/ricardodeazambuja/browser-mcp-server.git
cd browser-mcp-server

# Install dependencies (includes Playwright)
npm install

# Optional: Install Chromium browser if not using system Chrome
npx playwright install chromium

Method 3: Direct Download (Single File)

# Download the main file directly (no git required)
curl -o src/index.js \
  https://raw.githubusercontent.com/ricardodeazambuja/browser-mcp-server/main/src/index.js

# Install Playwright
npm install playwright

# Optional: Install Chromium browser if not using system Chrome
npx playwright install chromium

Usage with Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

Using local installation:

{
  "mcpServers": {
    "browser-tools": {
      "command": "node",
      "args": ["/absolute/path/to/src/index.js"]
    }
  }
}

Using NPM:

{
  "mcpServers": {
    "browser-tools": {
      "command": "npx",
      "args": ["-y", "@ricardodeazambuja/browser-mcp-server"]
    }
  }
}

Note: Replace /absolute/path/to/ with the actual path where you installed the file.

Usage with Antigravity

Add to ~/.gemini/antigravity/mcp_config.json:

Using local installation:

{
  "mcpServers": {
    "browser-tools": {
      "command": "node",
      "args": ["/home/username/.gemini/antigravity/src/index.js"]
    }
  }
}

Using NPM:

{
  "mcpServers": {
    "browser-tools": {
      "command": "npx",
      "args": ["-y", "@ricardodeazambuja/browser-mcp-server"]
    }
  }
}

Then refresh MCP servers in Antigravity.

Usage with Claude Code

Add the browser-mcp-server using the Claude CLI:

Using local installation:

# Install the MCP server with default isolated profile
claude mcp add --transport stdio browser \
  -- node /absolute/path/to/src/index.js

# Or with custom browser profile for more control
claude mcp add --transport stdio browser \
  --env MCP_BROWSER_PROFILE=/path/to/custom/profile \
  -- node /absolute/path/to/src/index.js

Using NPM:

# Install using npx (no local installation needed)
claude mcp add --transport stdio browser \
  -- npx -y @ricardodeazambuja/browser-mcp-server

# With custom browser profile
claude mcp add --transport stdio browser \
  --env MCP_BROWSER_PROFILE=/path/to/custom/profile \
  -- npx -y @ricardodeazambuja/browser-mcp-server

Verify installation:

# List all MCP servers
claude mcp list

# Check server status
claude mcp get browser

Example usage in Claude Code:

# Natural language commands
> Navigate to https://example.com and take a screenshot
> Click the login button and fill in the username field
> What's the text in the .main-content selector?

# Direct tool invocation via slash commands
> /mcp__browser__browser_navigate https://example.com
> /mcp__browser__browser_screenshot

Note: The server uses an isolated browser profile at /tmp/chrome-mcp-profile by default, ensuring it won't access your personal Chrome cookies or data.

Usage with Gemini CLI

Add the browser-mcp-server using the Gemini CLI commands:

Using local installation:

# Install the MCP server with default isolated profile
gemini mcp add browser node /absolute/path/to/src/index.js

# Or with custom browser profile
gemini mcp add -e MCP_BROWSER_PROFILE=/path/to/custom/profile browser \
  node /absolute/path/to/src/index.js

Using NPM:

# Install using npx (no local installation needed)
gemini mcp add browser npx -y @ricardodeazambuja/browser-mcp-server

# With custom browser profile
gemini mcp add -e MCP_BROWSER_PROFILE=/path/to/custom/profile browser \
  npx -y @ricardodeazambuja/browser-mcp-server

Management commands:

# List all configured MCP servers
gemini mcp list

# Remove the server if needed
gemini mcp remove browser

Example usage in Gemini CLI:

# Natural language commands
> Navigate to https://github.com and take a screenshot
> Click the search button and type "MCP servers"
> Get the text from the .repository-content selector

# The CLI will use the browser automation tools automatically

Advanced options:

# Add with specific scope (user vs project)
gemini mcp add -s user browser node /path/to/src/index.js

# Add with timeout configuration
gemini mcp add --timeout 30000 browser node /path/to/src/index.js

# Skip tool confirmation prompts (use with caution)
gemini mcp add --trust browser node /path/to/src/index.js

Available Tools (63)

Documentation

  1. browser_docs(toolName?) - Get detailed docs, return schemas, examples, and caveats for any tool

Multi-Page Management

  1. browser_list_pages() - List all open tabs/pages

  2. browser_new_page(url?) - Open a new tab

  3. browser_switch_page(index) - Switch active tab

  4. browser_close_page(index?) - Close a tab

Media Awareness & Control

  1. browser_get_media_summary() - List all audio/video elements with state

  2. browser_get_audio_analysis(durationMs?, selector?) - Analyze audio output (volume, spectrum)

  3. browser_control_media(selector, action, value?) - Play, pause, mute, seek

Navigation & Interaction

  1. browser_navigate(url) - Navigate to a URL

  2. browser_click(selector) - Click an element (selector-based)

  3. browser_type(selector, text) - Type text into an input

  4. browser_scroll(x?, y?) - Scroll the page (generic)

  5. browser_reload() - Reload current page

  6. browser_go_back() - Navigate back

  7. browser_go_forward() - Navigate forward

  8. browser_wait(ms) - Pause execution

Low-Level Interaction

  1. browser_mouse_move(x, y) - Move mouse to pixel coordinates

  2. browser_mouse_click(x?, y?, button?, count?) - Click at pixel coordinates

  3. browser_mouse_drag(fromX, fromY, toX, toY) - Drag and drop

  4. browser_mouse_wheel(deltaX, deltaY) - Scroll mouse wheel

  5. browser_press_key(key) - Send keyboard event (e.g. "Enter")

Information Gathering

  1. browser_screenshot(fullPage?) - Capture screenshot

  2. browser_get_text(selector) - Get text from element

  3. browser_get_dom(selector?) - Get DOM structure

  4. browser_read_page() - Get page metadata (title, URL)

  5. browser_evaluate(code) - Execute JavaScript

Console Debugging

  1. browser_console_start(level?) - Start capturing logs

  2. browser_console_get(filter?) - Get captured logs

  3. browser_console_clear() - Clear logs and stop

Advanced Interaction

  1. browser_hover(selector) - Hover over element

  2. browser_focus(selector) - Focus element

  3. browser_select(selector, values) - Select dropdown options

  4. browser_wait_for_selector(selector, timeout?) - Wait for element

  5. browser_resize_window(width, height) - Resize window

  6. browser_start_video_recording(path?) - Start session recording

  7. browser_stop_video_recording() - Stop and save recording

  8. browser_health_check() - Verify browser connection

🔬 Power User Tools (CDP-Based)

Advanced diagnostic tools using Chrome DevTools Protocol for performance analysis, network debugging, security testing, and storage inspection. These 26 additional tools provide deep insights into browser internals.

Performance Profiling (8 tools)

  1. browser_perf_start_profile(sampleInterval?) - Start CPU profiling

  2. browser_perf_stop_profile() - Get CPU profile data with summary

  3. browser_perf_take_heap_snapshot(reportProgress?) - Capture memory snapshot

  4. browser_perf_get_heap_usage() - Current JavaScript heap statistics

  5. browser_perf_get_metrics() - Runtime metrics (DOM nodes, listeners, etc.)

  6. browser_perf_get_performance_metrics() - Web vitals (FCP, LCP, CLS, TTFB)

  7. browser_perf_start_coverage(resetOnNavigation?) - Track code coverage

  8. browser_perf_stop_coverage() - Get coverage results

Use Cases: Memory leak detection, CPU profiling, performance optimization, code coverage analysis, web vitals monitoring

Network Analysis (7 tools)

  1. browser_net_start_monitoring(patterns?) - Monitor network requests

  2. browser_net_get_requests(filter?) - Get captured requests with timing

  3. browser_net_stop_monitoring() - Stop monitoring and clear log

  4. browser_net_export_har(includeContent?) - Export HTTP Archive log

  5. browser_net_get_websocket_frames(requestId) - Inspect WebSocket frames

  6. browser_net_set_request_blocking(patterns) - Block URL patterns

  7. browser_net_emulate_conditions(offline, latency, download, upload) - Network throttling

Use Cases: API debugging, HAR export, WebSocket debugging, performance testing, request blocking, network throttling

Security Testing (6 tools)

  1. browser_sec_get_security_headers() - Inspect security HTTP headers

  2. browser_sec_get_certificate_info() - TLS/SSL certificate details

  3. browser_sec_detect_mixed_content() - Find HTTP resources on HTTPS pages

  4. browser_sec_start_csp_monitoring() - Monitor CSP violations

  5. browser_sec_get_csp_violations() - Get violation log

  6. browser_sec_stop_csp_monitoring() - Stop monitoring

Use Cases: Security audits, CSP debugging, HTTPS migration, certificate validation, mixed content detection

Storage & Service Workers (5 tools)

  1. browser_storage_get_indexeddb(databaseName?, objectStoreName?) - Inspect IndexedDB

  2. browser_storage_get_cache_storage(cacheName?) - List Cache Storage entries

  3. browser_storage_delete_cache(cacheName) - Delete cache

  4. browser_storage_get_service_workers() - Service worker state

  5. browser_storage_unregister_service_worker(scopeURL) - Unregister worker

Use Cases: IndexedDB inspection, Cache Storage management, Service Worker debugging, offline functionality testing

Getting Started with CDP Tools

// Start CPU profiling
browser_perf_start_profile({})
// ... perform actions to profile ...
browser_perf_stop_profile({})  // Get results

// Monitor network activity
browser_net_start_monitoring({})
// ... navigate and interact ...
browser_net_get_requests({ filter: 'api' })
browser_net_export_har({})

// Security audit
browser_sec_get_security_headers({})
browser_sec_start_csp_monitoring({})
// ... trigger violations ...
browser_sec_get_csp_violations({})

// Inspect storage
browser_storage_get_indexeddb({ databaseName: 'myDB' })
browser_storage_get_cache_storage({ cacheName: 'my-cache-v1' })

Note: All CDP tools have comprehensive documentation available via browser_docs({ toolName: 'browser_perf_start_profile' }).

On-Demand Documentation

The browser_docs tool provides comprehensive documentation for all browser tools without increasing token overhead in normal operations.

Why This Matters

  • Token Efficient: Tool descriptions stay concise (saving tokens on every request)

  • Comprehensive: Detailed docs available when needed (return schemas, examples, caveats)

  • Self-Documenting: AI agents can discover tool capabilities on-demand

What You Get

When calling browser_docs(toolName), you receive:

  • Parameter Details: Types, optionality, defaults, enums

  • Return Value Schemas: Exact structure of what the tool returns

  • Selector Syntax: How to write Playwright selectors (CSS, text, data attributes)

  • Important Caveats: Warnings about CORS, clearing behavior, state management

  • Practical Examples: Real-world usage patterns

Usage

// Get docs for a specific tool
browser_docs({ toolName: 'browser_get_audio_analysis' })

// List all available tools
browser_docs({})

// Invalid tool name suggests similar tools
browser_docs({ toolName: 'navigate' })
// → Did you mean: browser_navigate, browser_go_back, ...

Example Output

📖 browser_type(selector, text)

Type text into an input field.

Parameters:
  • selector (string, required) - Playwright selector for the input
  • text (string, required) - Text to type

Returns:
  { content: [{ type: 'text', text: 'Typed into <selector>' }] }

⚠️ Important:
  • Uses page.fill() which CLEARS the field first, then types
  • Does NOT append to existing text

Example:
  browser_type({ selector: '#username', text: 'john@example.com' })

Examples

Navigate and Screenshot

// Agent uses:
browser_navigate("https://example.com")
browser_screenshot(fullPage: true)

Debug JavaScript Errors

// Agent uses:
browser_console_start()
browser_navigate("https://myapp.com")
browser_click("#submit-button")
browser_console_get(filter: "error")
// Shows: ❌ [ERROR] Uncaught TypeError: ...

Media Monitoring & Control

// Agent uses:
browser_navigate("https://youtube.com/watch?v=...")
browser_get_media_summary() // See active video state
browser_control_media(selector: "video", action: "play")
browser_get_audio_analysis(durationMs: 2000) // "Hear" the volume

Multi-Tab Automation

// Agent uses:
browser_navigate("https://wikipedia.org")
browser_new_page("https://google.com")
browser_list_pages() // Shows 2 pages
browser_switch_page(0) // Back to Wikipedia

Pixel-Based Interaction

// Agent uses:
browser_mouse_move(500, 300)
browser_mouse_click(button: "right")
browser_press_key("Enter")

Get Tool Documentation

// Agent uses:
browser_docs(toolName: "browser_get_audio_analysis")
// Returns:
// 📖 browser_get_audio_analysis(durationMs?, selector?)
//
// Parameters:
//   • durationMs (number, optional) - Duration to analyze in ms (default: 2000)
//   • selector (string, optional) - Selector for specific media element
//
// Returns: { isSilent: boolean, averageVolume: number, ... }
// ⚠️ Important: Requires CORS headers for cross-origin media

// List all tools:
browser_docs()  // Shows all 63 tools

How It Works

Three-Tier Browser Strategy (Automatic)

The server automatically chooses the best browser option:

Tier 1 - Antigravity Mode:

  • Detects Chrome on port 9222

  • Connects to existing Antigravity browser

  • Uses Antigravity's browser profile

  • No new browser window

Tier 2 - System Chrome/Chromium:

  • Searches common locations: /usr/bin/google-chrome, /usr/bin/chromium, etc.

  • Uses system-installed Chrome if found

  • Saves ~275MB (no Chromium download needed)

  • Uses isolated profile (/tmp/chrome-mcp-profile)

Tier 3 - Playwright Chromium:

  • Falls back to Playwright's bundled Chromium

  • Requires: npx playwright install chromium

  • Uses isolated profile (/tmp/chrome-mcp-profile)

  • New browser window appears

Safety Features

  • Isolated Profile: Uses /tmp/chrome-mcp-profile (not your personal Chrome!)

  • No Setup Dialogs: Silent startup with --no-first-run flags

  • Clean Environment: No extensions, sync, or background updates

  • Reproducible: Same behavior across systems

Security

This MCP server provides powerful browser automation capabilities. Please review these security considerations:

Isolated Browser Profile

  • Uses /tmp/chrome-mcp-profile by default (configurable via MCP_BROWSER_PROFILE)

  • Does NOT access your personal Chrome data (cookies, passwords, history)

  • Each instance runs in a clean, isolated environment

Tool Safety

browser_evaluate: Executes arbitrary JavaScript in the browser context

  • Code runs in browser sandbox (no access to your host system)

  • Only executes when explicitly called by MCP client

  • Requires user approval in most MCP clients

  • Recommendation: Only use with trusted MCP clients and review code when possible

browser_navigate: Navigates to any URL

  • Can visit any website the browser can access

  • Uses isolated profile to prevent cookie/session theft

  • Recommendation: Be cautious with URLs from untrusted sources

Debug Logs

  • Server logs to /tmp/mcp-browser-server.log

  • Logs may contain visited URLs and error messages

  • Log file is cleared on system reboot (stored in /tmp)

  • Does NOT log page content or sensitive data

Best Practices

  • ✅ Only use with trusted MCP clients (Claude Desktop, Antigravity, etc.)

  • ✅ Review automation scripts before execution when possible

  • ✅ Use the default isolated profile (don't point to your personal Chrome)

  • ✅ Report security issues via GitHub Issues

Configuration

Environment Variables

# Custom browser profile location (optional)
export MCP_BROWSER_PROFILE="$HOME/.mcp-browser-profile"

# Then run the server
node src/index.js

MCP Config with Environment Variables

{
  "mcpServers": {
    "browser-tools": {
      "command": "node",
      "args": ["/path/to/src/index.js"],
      "env": {
        "MCP_BROWSER_PROFILE": "/tmp/my-custom-profile"
      }
    }
  }
}

Troubleshooting

"No Chrome/Chromium browser found"

The server provides helpful error messages with multiple solutions:

Option 1 - Install system Chrome/Chromium (Recommended):

# Ubuntu/Debian
sudo apt install google-chrome-stable
# or
sudo apt install chromium-browser

# Fedora
sudo dnf install google-chrome-stable

# macOS
brew install --cask google-chrome

Option 2 - Install Playwright's Chromium:

npm install playwright
npx playwright install chromium

Option 3 - Use with Antigravity:

  • Click the Chrome logo (top right) to launch browser

  • The MCP server will automatically connect

Check Server Status

Use the browser_health_check tool to verify:

  • Which mode is active (Antigravity / System Chrome / Playwright Chromium)

  • Playwright source

  • Browser profile location

  • Current page URL

Check Server Status

Use the browser_health_check tool to verify:

  • Connection mode (Antigravity vs Standalone)

  • Playwright source

  • Browser profile location

  • Current page URL

Development

Project Structure

browser-mcp-server/
├── src/index.js                      # Main server entry point
├── src/                              # Source code
│   ├── index.js                      # Main server class
│   ├── browser.js                    # Browser management
│   ├── tools/                        # Tool modules
│   └── utils.js                      # Utilities
├── tests/                            # Test suite
├── plugins/                          # Plugin directory
├── package.json                      # npm package config
├── README.md                         # This file
└── LICENSE                           # MIT license

Testing

# Test server initialization
npm test

# Manual test
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}' | node src/index.js

Debug Logging

Check /tmp/mcp-browser-server.log for detailed logs:

  • Playwright loading attempts

  • Browser connection/launch status

  • Console capture events

  • Tool execution

Technical Details

MCP Protocol

  • Implements MCP 2024-11-05 protocol

  • JSON-RPC 2.0 over stdio

  • Supports initialize, notifications/initialized, tools/list, tools/call

Browser Control

  • Uses Playwright for automation

  • Connects via Chrome DevTools Protocol (CDP)

  • Port 9222 for remote debugging

Chrome Launch Flags

--remote-debugging-port=9222          # Enable CDP
--user-data-dir=/tmp/chrome-mcp-profile  # Isolated profile
--no-first-run                        # Skip setup
--no-default-browser-check            # No popups
--disable-fre                         # No first-run experience
--disable-sync                        # No Google sync
--disable-component-update            # No auto-updates
# + more stability flags

Compatibility

Tested With

  • ✅ Antigravity

  • ✅ Claude Desktop (macOS, Windows, Linux)

  • ✅ Other MCP clients via stdio

Requirements

  • Node.js >= 16.0.0

  • Playwright ^1.57.0 (installed automatically via npm)

  • Chrome/Chromium browser (automatically detected, or uses Playwright's Chromium)

Platforms

  • ✅ Linux

  • ✅ macOS

  • ✅ Windows

Comparison with Other Tools

vs. Puppeteer MCP Servers

  • ✅ More tools (63 vs typical 8-10)

  • ✅ Console capture built-in

  • ✅ Better error messages

  • ✅ Hybrid mode (connect OR launch)

vs. Selenium Grid

  • ✅ Simpler setup (no grid needed)

  • ✅ MCP protocol integration

  • ✅ Built for AI agents

  • ✅ Lightweight (single process)

vs. Browser Extensions

  • ✅ Works headlessly if needed

  • ✅ No extension installation

  • ✅ Programmable via MCP

  • ✅ Works with any MCP client

Contributing

Contributions welcome! Please:

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Submit a pull request

License

MIT License - see LICENSE file

Credits

Support

Changelog

v1.4.0 (2026-01-01) ⭐ NEW

  • Full Power User Suite: Added 26 CDP-based tools for performance, network, security, and storage analysis (63 tools total)

  • Version Unification: Centralized version management to use package.json as the single source of truth

  • Performance Profiling: Added CPU profiling, heap snapshots, and web vitals monitoring

  • Network Analysis: Added request monitoring, HAR export, and WebSocket inspection

  • Security Testing: Added security header inspection, CSP monitoring, and certificate details

  • Storage Inspection: Added IndexedDB, Cache Storage, and Service Worker management

v1.3.0 (2025-12-27)

  • On-Demand Documentation: New browser_docs tool provides detailed specs, return schemas, examples, and caveats for all 37 tools

  • Modular Architecture: Complete refactor into src/ modules for better maintainability

  • Plugin System: New plugins/ directory for extending functionality

  • Improved Testing: Dedicated tests/ directory with fixtures

  • Core Stability: Separated browser logic, tools, and protocol handling

  • Token Efficient: Documentation loaded on-demand, keeping tool descriptions concise

v1.2.0 (2025-12-27)

  • Media Awareness: Added audio/video inspection, spectral analysis, and control tools (36 tools total)

  • Tool: browser_get_media_summary, browser_get_audio_analysis, browser_control_media

v1.1.0 (2025-12-27)

  • Tool Parity: Achieved parity with browser-subagent (33 tools total)

  • Multi-Page: Added support for multiple browser tabs/pages

  • Low-Level Control: Added keyboard/mouse event tools (pixel-based)

  • Utilities: Added reload, go_back, go_forward, wait, hover, focus, select

  • Testing: Updated test suites to include new tools

v1.0.3 (2025-12-26)

  • Documentation: Updated README with v1.0.2 features and clearer installation instructions

  • Code Comments: Updated header to reflect universal compatibility and all features

  • Package Files: Included test suites and changelog in npm package

v1.0.2 (2025-12-26)

  • Smart Chrome Detection: Automatically finds system Chrome/Chromium across Linux, macOS, Windows

  • Three-Tier Strategy: Antigravity Chrome → System Chrome → Playwright Chromium

  • Auto-Install: Playwright now installed automatically as dependency (via npm)

  • Better Errors: Helpful error messages with platform-specific installation instructions

  • Resource Efficient: Uses system Chrome when available (~275MB savings)

  • Test Suites: Includes comprehensive test scripts

  • Auto-Reconnect: Improved browser disconnection handling

  • Documentation: Added detailed CHANGELOG-v1.0.2.md

v1.0.1 (2025-12-26)

  • ✅ Fixed CLI bin path for npm installation

  • ✅ Improved package configuration

v1.0.0 (2025-12-26)

  • ✅ Initial release

  • ✅ 16 browser automation tools

  • ✅ Console capture (start/get/clear)

  • ✅ Hybrid mode (connect OR launch)

  • ✅ Safe Chrome launch with isolated profile

  • ✅ Multi-source Playwright loading

  • ✅ Universal compatibility (Antigravity + Claude Desktop + more)


Made with ❤️ for the MCP community

Available Tools

63 tools
browser_clickB

Click an element on the page using Playwright selector (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorYesPlaywright selector for the element

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It fails to disclose important behavioral details such as waiting behavior, error handling, whether the element is scrolled into view, or return value. The minimal description leaves significant gaps.

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

Conciseness4/5

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

The description is very concise (one sentence) and front-loaded with the action. However, the reliance on 'see browser_docs' suggests missing inline details, which slightly reduces efficiency. Still, it avoids unnecessary verbosity.

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

Completeness3/5

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

Given a simple click operation with one parameter, the description is adequate but not complete. It lacks details on return values, interaction with page state, and selector specificity handling. The absence of output schema increases the need for more context.

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

Parameters3/5

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

The input schema already describes the single parameter 'selector' as 'Playwright selector for the element' (100% coverage). The description adds no new semantic meaning beyond confirming the selector type. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Click'), the target ('an element on the page'), and the method ('using Playwright selector'). It references browser_docs for further details, which helps distinguish it from sibling tools like browser_hover or browser_mouse_click.

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

Usage Guidelines2/5

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

The description does not provide explicit guidance on when to use this tool versus alternatives (e.g., browser_mouse_click). It only points to external documentation ('see browser_docs') without specifying preferred contexts or exclusions.

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

browser_close_pageB

Close a browser page (tab) (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
indexNoThe index of the page to close. If not provided, closes current page.

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden. It only says 'Close a browser page' and defers to browser_docs, failing to disclose side effects (e.g., closing last tab's effect on browser) or confirmation behaviors.

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

Conciseness3/5

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

The description is one short sentence and a reference, which is concise. However, it could be more structured or front-loaded with key information rather than deferring to documentation.

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

Completeness2/5

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

Given no output schema and no annotations, the description is incomplete. It doesn't explain return behavior, error cases (e.g., invalid index), or whether the tab index refers to zero-based or one-based indexing.

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

Parameters3/5

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

Schema coverage is 100% with parameter description for 'index'. The tool description adds nothing beyond 'see browser_docs', so it does not improve understanding of the parameter beyond the schema.

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

Purpose5/5

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

The description clearly states 'Close a browser page (tab)', providing a specific verb and resource. It naturally distinguishes from sibling tools like browser_switch_page (switch) and browser_new_page (open).

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

Usage Guidelines3/5

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

The description does not provide explicit guidance on when to use this tool vs alternatives. It implies usage by stating the action, but lacks context like 'use this when you want to remove a tab' or alternatives.

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

browser_console_clearA

Clear all captured console logs and stop listening (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It correctly discloses that it clears logs and stops listening, which are the main behavioral traits. No side effects or additional behaviors are needed given the tool's simplicity.

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

Conciseness4/5

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

The description is a single sentence with a reference, which is appropriately concise. It front-loads the action. However, it could be slightly more structured, but it earns its place.

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

Completeness4/5

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

Given the tool's simplicity (no parameters, no output schema), the description covers the essential behavior. The reference to browser_docs provides additional context. It is sufficiently complete for an agent to understand the tool's role.

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

Parameters4/5

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

The tool has no parameters, with 100% schema coverage. Per guidelines, baseline is 4. No further semantic information is required.

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

Purpose5/5

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

The description clearly states the tool clears all captured console logs and stops listening, which is a specific verb-resource pair. It distinguishes from sibling tools like browser_console_start and browser_console_get by indicating it clears and stops rather than starting or getting.

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

Usage Guidelines3/5

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

The description implies usage after console monitoring is complete, but it does not explicitly state when to use it versus alternatives, nor does it provide prerequisites or exclusions. The reference to 'see browser_docs' suggests external documentation, but within the description itself, guidance is minimal.

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

browser_console_getA

Get all captured console logs since browser_console_start was called (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNoOptional filter by log level: "log", "error", "warn", "info", "debug", or "all"

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided. The description adds context about the temporal scope ('since browser_console_start'), but it does not disclose whether logs are cleared after retrieval or any other behavioral traits such as persistence or size limits.

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

Conciseness5/5

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

The description is concise, consisting of a single sentence that front-loads the main action and includes a cross-reference to browser_docs. There is no wasted text.

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

Completeness4/5

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

Given the low complexity (one optional parameter, no required), the description covers the essential purpose and usage. However, it lacks details about the return format (since no output schema exists) and does not mention any limitations, which would be beneficial for an agent.

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

Parameters3/5

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

The input schema provides full coverage (100%) for the single optional parameter 'filter', including a description and enum values. The tool description does not add any additional semantics beyond what the schema already provides, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'Get' and the resource 'all captured console logs since browser_console_start was called'. It distinguishes itself from sibling tools like browser_console_start and browser_console_clear by specifying the temporal scope.

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

Usage Guidelines4/5

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

The description explicitly mentions the prerequisite of calling browser_console_start and references browser_docs for further details. It implies when to use it (after starting console capture) but does not explicitly state when not to use it.

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

browser_console_startB

Start capturing browser console logs (console.log, console.error, console.warn, etc.) (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
levelNoOptional filter for log level: "log", "error", "warn", "info", "debug", or "all"

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must disclose side effects and behavior. It only says 'start capturing' but does not mention if previous logs are cleared, if capturing is persistent across page navigation, or if it needs to be stopped explicitly. The lack of detail leaves the agent unaware of important behavioral traits.

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

Conciseness4/5

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

The description is a single sentence that conveys the core purpose efficiently, with a reference to browser_docs. It is concise without padding, but could include more structured information in the same space.

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

Completeness2/5

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

The description lacks completeness for effective use. It does not explain the relationship to browser_console_get, when capturing ends, or any limits. An output schema is absent, and annotations are missing. Significant gaps remain.

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

Parameters3/5

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

The input schema has 100% coverage with a description and enum for the 'level' parameter. The tool description does not add any extra meaning beyond what the schema already provides, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action (start capturing) and the resource (browser console logs), listing specific log types. It effectively distinguishes from sibling tools like browser_console_get and browser_console_clear, which handle retrieval and clearing respectively.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. It doesn't state that this should be called before browser_console_get, or when capturing stops, or any prerequisites. The reference to browser_docs is vague and not a usage guideline.

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

browser_control_mediaC

Control a media element (play, pause, seek, mute) (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorYesSelector for the audio/video element
actionYes
valueNoValue for seek action (time in seconds)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior. It only lists actions and references external docs. It does not mention error handling, side effects, or what happens if the selector is invalid. The 'see browser_docs' note is insufficient within the description itself.

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

Conciseness4/5

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

The description is a single sentence of 9 words, very concise with no redundant information. It front-loads the purpose and actions. However, it could be more informative without losing conciseness.

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

Completeness2/5

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

The description lacks critical context: no output schema, no mention of page requirement, no error handling, and no explanation of what the tool returns. For a tool with 3 parameters and no annotations, this is insufficient for a complete understanding.

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

Parameters3/5

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

Schema coverage is 67%, with 'selector' and 'value' having descriptions. The description lists 'play, pause, seek, mute' but does not add meaning beyond the enum. It misses 'unmute' and provides no extra context for the parameters. Baseline is 3 given moderate coverage.

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

Purpose4/5

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

The description clearly states the tool controls a media element and lists the actions: play, pause, seek, mute. It identifies the specific resource and operations, making the purpose clear. However, it does not distinguish it from sibling media tools like browser_get_media_summary or browser_start_video_recording.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus others. There is no mention of prerequisites, limitations, or alternatives. The phrase 'see browser_docs' defers context but does not help the agent decide when to use this tool.

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

browser_docsA

Get detailed documentation, return values, examples, and caveats for any browser tool

ParametersJSON Schema
NameRequiredDescriptionDefault
toolNameYesName of the tool to get docs for (e.g., browser_navigate, browser_get_audio_analysis)

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It describes the output (docs, return values, examples, caveats) but does not disclose any behavioral traits such as read-only nature, rate limits, or auth needs. The description is straightforward but lacks explicit safety/behavioral cues.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no redundancy. Every word contributes to understanding the tool's purpose.

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

Completeness4/5

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

For a simple tool with one parameter and no output schema, the description covers the essential information. It could mention if documentation is available for all sibling tools, but the context signals and sibling list are provided separately.

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

Parameters4/5

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

Schema coverage is 100% and the description adds meaning beyond the schema by specifying what the returned documentation includes (details, return values, examples, caveats). The parameter's description in the schema is also clear.

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

Purpose5/5

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

The description clearly states the verb 'get' and the resource 'detailed documentation, return values, examples, and caveats for any browser tool'. It distinguishes from sibling action tools by being a meta-documentation tool.

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

Usage Guidelines4/5

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

The description implies usage when documentation for any browser tool is needed. It doesn't explicitly state when not to use it, but given it's the only documentation tool among siblings, the context is clear.

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

browser_evaluateB

Execute JavaScript in the browser context (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesJavaScript code to execute

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. However, it only states 'execute JavaScript' without disclosing whether it returns a value, if it is synchronous, error handling, or side effects. This is insufficient for a tool that runs arbitrary code.

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

Conciseness4/5

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

The description is a single sentence, efficient and to the point. However, it is somewhat terse and could benefit from slightly more structure (e.g., mentioning return value). Still, it avoids waste.

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

Completeness2/5

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

Given the lack of output schema and annotations, the description is incomplete. It does not explain what the tool returns, how to handle errors, or any behavioral details. Reference to browser_docs is not part of the description itself.

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

Parameters3/5

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

Schema coverage is 100%, and the schema already describes the 'code' parameter as 'JavaScript code to execute'. The description merely repeats this without adding meaning (e.g., code format, permissions). Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states 'Execute JavaScript in the browser context', specifying the exact verb and resource. It distinguishes from siblings by being the only tool that runs JavaScript code. Reference to browser_docs adds context.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives. It does not mention when not to use it, prerequisites, or how it compares to other browser tools like browser_read_page or browser_get_text.

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

browser_focusC

Focus an element (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorYesPlaywright selector for the element

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavior. It does not explain what 'focus' entails (scrolling to element, setting focus, triggering events), nor any side effects or prerequisites.

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

Conciseness3/5

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

The description is very short, but the 'see browser_docs' phrase reduces self-sufficiency. It is concise but at the expense of completeness.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is too brief. It fails to explain the tool's behavior, making it inadequate for safe and correct use.

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

Parameters3/5

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

The input schema already describes the selector parameter with 100% coverage. The description adds no additional meaning beyond that, achieving the baseline score for high schema coverage.

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

Purpose4/5

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

The description 'Focus an element' clearly states the action and target, but the reference to 'see browser_docs' makes it somewhat reliant on external information, and it does not differentiate from similar tools like browser_click or browser_hover.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as browser_click, browser_hover, or browser_select. No context for appropriate use cases or exclusions.

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

browser_get_audio_analysisB

Analyze audio output for a duration to detect sound vs silence and frequencies (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
durationMsNoDuration to analyze in ms
selectorNoOptional selector to specific media element

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It lacks disclosure of side effects (e.g., does it start audio playback?), requirements (e.g., does audio need to be playing?), or return values. Minimal behavioral context.

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

Conciseness4/5

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

The description is a single sentence that efficiently conveys the core purpose and references browser_docs for details. No wasted words, but could be slightly more structured.

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

Completeness2/5

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

Given no output schema, the description should explain what the tool returns (e.g., silence detection result, frequency data). It does not, and relies on browser_docs, making it incomplete for an AI agent to understand the full context.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both parameters, so baseline is 3. The description does not add additional meaning beyond the schema's parameter descriptions (durationMs and selector).

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

Purpose5/5

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

The description clearly states it analyzes audio output to detect sound vs silence and frequencies, distinguishing it from sibling tools like browser_get_media_summary. The verb 'analyze' and resource 'audio output' are specific and unambiguous.

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

Usage Guidelines3/5

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

The description does not explicitly state when to use this tool versus alternatives like browser_get_media_summary or browser_docs. Usage is implied by the purpose, but no direct guidance on when-not or prerequisites.

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

browser_get_domC

Get the full DOM structure or specific element data (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorNoOptional selector to get DOM of specific element

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility. It fails to disclose that the operation is safe/read-only, what format the DOM structure is returned in (e.g., HTML string, object), or any potential performance impact. The single sentence provides minimal behavioral insight.

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

Conciseness3/5

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

Extremely concise at one sentence, but clarity is sacrificed. Key information (return format, usage nuances) is omitted. It earns its place as a brief description but lacks structure and front-loading of essential details.

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

Completeness2/5

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

Given no output schema, the description should explain what is returned (e.g., HTML string, JSON structure). It does not, and the 'see browser_docs' reference is insufficient. For a simple tool with one param, the description is incomplete.

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

Parameters3/5

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

Schema coverage is 100% with one optional parameter 'selector'. The description adds 'or specific element data,' reinforcing that the selector narrows the result. This adds minimal meaning beyond the schema, justifying the baseline score of 3.

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

Purpose4/5

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

The description clearly states the verb 'Get' and the resource 'DOM structure or specific element data', distinguishing it from similar tools like browser_get_text and browser_read_page. The reference to browser_docs provides additional context, though the description could be more self-contained.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus siblings like browser_get_text or browser_read_page. The 'see browser_docs' mention implies further instructions elsewhere, but the description itself offers no criteria for selection or exclusions.

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

browser_get_media_summaryB

Get a summary of all audio and video elements on the page (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states 'Get a summary' without mentioning any side effects, prerequisites, or response format. This is insufficient for an agent to understand implications of use.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It directly states the purpose and efficiently references further documentation if needed.

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

Completeness2/5

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

Given the absence of an output schema and annotations, the description is too minimal. It does not explain what the 'summary' includes or its format, leaving the agent without sufficient context to interpret the tool's output correctly.

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

Parameters4/5

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

The tool has no parameters, so the description does not need to add parameter meaning. The schema coverage is 100% (trivially), and with 0 parameters the baseline is 4. The description does not add anything, but that's acceptable.

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

Purpose5/5

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

The description clearly states the tool's function: 'Get a summary of all audio and video elements on the page'. It uses a specific verb and resource, and distinguishes from siblings like browser_get_audio_analysis (detailed analysis) and browser_control_media (control) by focusing on a summary of both audio and video.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives such as browser_get_audio_analysis or browser_control_media. The reference to 'see browser_docs' is external and doesn't directly help the agent decide.

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

browser_get_textC

Get text content from an element (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorYesPlaywright selector for the element

TDQS

C2.9/5.0
Behavior2/5

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

The description only states 'Get text content' implying a read operation, but with no annotations, it fails to disclose behavioral details like whether the tool waits for the element, what happens if the element is missing, or if the text includes hidden elements.

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

Conciseness4/5

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

The description is very concise (one sentence plus a reference), which is efficient. However, it may be too minimal, bordering on under-specification. The front-loading is good.

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

Completeness2/5

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

Given the tool's simplicity (1 param, no output schema), the description lacks essential details like return format, error behavior, and handling of multiple elements. The reference to browser_docs partially compensates but does not make it complete.

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

Parameters3/5

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

The schema covers the single parameter 'selector' with a clear description 'Playwright selector for the element'. The tool description adds no extra meaning beyond this, so baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states it retrieves text from an element via selector. The verb 'Get' and resource 'text content' are specific, and the tool is distinguishable from siblings like browser_get_dom (DOM structure) and browser_read_page (full page).

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

Usage Guidelines2/5

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

No usage guidelines provided. The description does not indicate when to use this tool vs alternatives (e.g., browser_get_dom or browser_read_page), nor does it mention prerequisites or constraints.

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

browser_go_backB

Navigate back in history (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description must fully convey behavioral traits. It only states 'navigate back in history' without disclosing edge cases (e.g., no history, page state changes, or feedback), leaving significant behavioral gaps.

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

Conciseness5/5

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

The description is extremely concise (one sentence) and front-loaded. It contains no redundant information, earning its place.

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

Completeness2/5

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

For a simple tool with no parameters or output schema, the description is minimal but lacks completeness. It does not clarify return behavior, errors, or state changes, which is necessary given the lack of annotations.

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

Parameters4/5

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

The tool has no parameters and schema coverage is 100%, so 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.

Purpose5/5

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

The description clearly states the action ('navigate back') and resource ('history'). It implicitly distinguishes from siblings like browser_go_forward by its name and directionality, making the tool's purpose precise.

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

Usage Guidelines2/5

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

No usage guidelines are provided. The description defers to browser_docs without any explicit advice on when to use this tool versus alternatives like browser_go_forward or when not to use it.

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

browser_go_forwardB

Navigate forward in history (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as what happens if there is no forward history, side effects, or required conditions. This is insufficient for a tool that modifies browser state.

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

Conciseness4/5

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

The description is very short (one sentence + reference). It is concise and front-loaded, but it could include more relevant information without sacrificing brevity.

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

Completeness3/5

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

The description is adequate for a simple tool with no parameters and no output schema, but it lacks any mention of preconditions (e.g., forward history must exist) or error behavior, leaving gaps in completeness.

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

Parameters4/5

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

The tool has no parameters, and the schema coverage is effectively 100%. The description adds no additional parameter information, but with zero parameters, the baseline is 4.

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

Purpose5/5

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

The description 'Navigate forward in history' clearly states the action (navigate) and resource (forward in history). It is distinct from sibling tools like browser_go_back and browser_navigate.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The reference to 'see browser_docs' is vague and does not provide explicit when-to-use or when-not-to-use context.

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

browser_health_checkA

Check if the browser is running and accessible on port 9222 (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It only says 'check' without specifying side effects, permissions, or whether it connects or pings. The return value is not described, and the tool's read-only nature is only implied.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It concisely conveys the essential purpose and contains a reference for further details.

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

Completeness3/5

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

For a simple health-check tool with no parameters and no output schema, the description is complete enough to explain what it does. However, it does not describe the return value or expected output, which would be helpful for an agent invoking it.

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

Parameters4/5

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

The tool has zero parameters, so schema coverage is 100% by default. The description does not need to add parameter information. Baseline of 4 is appropriate as no additional parameter details are required.

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

Purpose5/5

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

The description clearly states the tool's purpose: checking if the browser is running and accessible on port 9222. It uses a specific verb ('Check') and resource (browser health/accessibility), and references browser_docs for more info, 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.

Usage Guidelines3/5

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

The description implies this tool is used to verify browser readiness before operations, but does not explicitly state when to use it or when to choose alternatives. It mentions port 9222 and references browser_docs, but lacks explicit usage context.

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

browser_hoverB

Hover over an element (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorYesPlaywright selector for the element

TDQS

B3.1/5.0
Behavior2/5

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

Without annotations, the description must disclose behavior. It only says 'Hover over an element' with no details on element visibility requirements, page interactions, or side effects.

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

Conciseness4/5

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

The description is concise with one sentence. It is front-loaded with the action. However, it could include more context without being verbose.

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

Completeness2/5

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

For a simple tool with one parameter, the description is minimal and relies on browser_docs for completeness. It lacks context about when hovering is appropriate or what the result is.

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

Parameters3/5

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

Schema coverage is 100% for the single parameter 'selector', which is already described in the schema. The tool description adds no additional meaning beyond the schema.

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

Purpose5/5

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

The description clearly states the action: 'Hover over an element'. It is distinct from siblings like browser_click and browser_mouse_move.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as browser_mouse_move or browser_click. The description only points to browser_docs for more information.

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

browser_list_pagesB

List all open browser pages (tabs) (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. It only restates the name's meaning without adding behavioral context (e.g., what the output contains).

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

Conciseness4/5

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

Single sentence, front-loaded, but the parenthetical reference to browser_docs slightly distracts from conciseness.

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

Completeness3/5

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

Simple tool with no parameters or output schema. Description explains purpose but omits details about the return format (e.g., list of page IDs, titles, URLs). Adequate but not fully complete.

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

Parameters4/5

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

No parameters exist, so schema coverage is 100%. Baseline score of 4 is appropriate as no additional parameter information is needed.

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

Purpose5/5

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

The description uses the specific verb 'List' and the resource 'browser pages (tabs)', clearly distinguishing it from sibling tools like browser_switch_page, browser_close_page, etc.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The reference to 'browser_docs' is not explicit enough to serve as usage direction.

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

browser_mouse_clickC

Click the mouse at specific coordinates or on current position (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
xNoOptional X coordinate
yNoOptional Y coordinate
buttonNoleft, right, or middleleft
clickCountNo1 for single click, 2 for double click

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It only states the action without disclosing side effects (e.g., triggering navigation, waiting for page load), error conditions (e.g., out-of-bounds coordinates), or whether clicks are asynchronous. It adds no behavioral context beyond the name.

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

Conciseness4/5

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

The description is a single sentence, concise and front-loaded with the core action. However, it relies on a reference to browser_docs instead of providing essential details, slightly reducing efficiency.

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

Completeness2/5

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

For a browser automation tool, the description is incomplete. It lacks information about return values, synchronous/asynchronous execution, waiting behavior, and whether coordinates must be within the viewport. Given no output schema or annotations, it leaves significant gaps.

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

Parameters3/5

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

Parameter descriptions are fully covered by the schema (100%), which adequately explains x, y, button, and clickCount. The tool description adds no additional meaning, 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.

Purpose4/5

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

The description clearly states that the tool clicks the mouse at specific coordinates or current position, using the verb 'Click'. It distinguishes from siblings like browser_hover and browser_mouse_drag, but does not differentiate from the similarly named browser_click, causing potential confusion.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like browser_hover or browser_click. There is no mention of prerequisites (e.g., page loaded, element present) or when to prefer coordinate-based vs current position clicks. The reference to browser_docs is vague.

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

browser_mouse_dragC

Drag from one position to another (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
fromXYesStarting X coordinate
fromYYesStarting Y coordinate
toXYesEnding X coordinate
toYYesEnding Y coordinate

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided, so the description must fully cover behavioral traits. It only mentions the drag action without disclosing side effects (e.g., mouse button state, timing). Lacks details needed for safe invocation.

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

Conciseness3/5

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

The description is very short, but at the expense of essential details. Conciseness is not beneficial when it omits necessary context.

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

Completeness2/5

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

With 4 parameters, no output schema, and no annotations, the description is incomplete. It lacks information on return values, error conditions, and mouse button behavior, which are critical for a drag operation.

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

Parameters3/5

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

Schema coverage is 100% with parameter descriptions for fromX, fromY, toX, toY. The description adds no additional semantics beyond what the schema already provides, so baseline 3 is appropriate.

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

Purpose4/5

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

The description states 'Drag from one position to another', which clearly identifies the tool's action. It distinguishes from siblings like browser_click and browser_mouse_move, but could be more specific (e.g., 'perform a mouse drag gesture').

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like browser_mouse_move or browser_click. The reference to browser_docs is not sufficient to clarify usage context.

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

browser_mouse_moveC

Move the mouse to specific coordinates (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
xYesX coordinate
yYesY coordinate

TDQS

C2.9/5.0
Behavior2/5

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

The description does not disclose behavioral traits such as whether the move triggers events, coordinate system (viewport vs document), or if it requires element focus. No annotations are provided, so the description carries the full burden but falls short.

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

Conciseness4/5

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

The description is very concise at one sentence, but the brevity sacrifices completeness. It is appropriately sized for a simple tool, though more detail would be beneficial.

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

Completeness2/5

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

Even for a simple tool, the description is incomplete: it omits coordinate system, whether the move is instant or animated, and any side effects. It relies on external docs, but within the description, context is lacking.

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

Parameters3/5

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

Schema coverage is 100% with descriptions 'X coordinate' and 'Y coordinate'. The description adds no additional meaning beyond what the schema already provides, so baseline 3 is appropriate.

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

Purpose4/5

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

The description states 'Move the mouse to specific coordinates', which clearly indicates the verb and resource. However, it does not differentiate from sibling tools like browser_mouse_click or browser_hover.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, no context on prerequisites, and no explicit exclusions.

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

browser_mouse_wheelC

Scroll the mouse wheel (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
deltaXYesHorizontal scroll amount
deltaYYesVertical scroll amount

TDQS

C2.1/5.0
Behavior1/5

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

The description does not disclose any behavioral traits, such as whether the scrolling is relative or absolute, whether it triggers events, or what effect the parameters have beyond the schema. With no annotations, the description is the sole source of behavioral information, and it fails to provide any.

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

Conciseness2/5

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

The description is extremely short (one sentence), but this brevity sacrifices informativeness. It is under-specified and does not earn its place as a standalone explanation, relying on an external reference ('see browser_docs').

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

Completeness1/5

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

Given the lack of annotations and output schema, the description should provide comprehensive context about behavior, return values, and error conditions. It fails to do so, leaving the agent with minimal actionable guidance.

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

Parameters3/5

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

Schema coverage is 100% with clear parameter descriptions ('Horizontal scroll amount', 'Vertical scroll amount'). The tool description adds no additional semantic context, so it meets the baseline for well-documented schema.

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

Purpose3/5

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

The description states 'Scroll the mouse wheel', which is a specific verb plus resource, clearly indicating the tool's purpose. However, it does not distinguish from the sibling 'browser_scroll' tool, leaving ambiguity about the difference between scrolling via mouse wheel and general scrolling.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'browser_scroll' or 'browser_mouse_move'. There is no mention of context, prerequisites, or when not to use it.

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

browser_navigateC

Navigate to a URL in the browser (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL to navigate to

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It does not disclose any behavioral traits such as page load behavior, potential side effects, or error handling. The agent is left unaware of what happens after navigation (e.g., waiting for load, security implications).

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

Conciseness4/5

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

The description is very concise: one sentence plus a reference to browser_docs. It is front-loaded with the main action ('Navigate to a URL'). It could be shorter but is efficient.

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

Completeness2/5

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

For a simple one-parameter tool with no output schema, the description is minimal. It lacks context about navigation behavior (e.g., loading, success/failure indication) and does not leverage the reference to browser_docs effectively within the description itself. More detail is needed for an agent to use it confidently.

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

Parameters3/5

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

Schema description coverage is 100% as the url parameter has a clear description. However, the tool description adds no extra meaning beyond what the schema already provides. Baseline is 3, and no additional value is contributed.

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

Purpose4/5

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

The description clearly states the verb 'Navigate' and the resource 'a URL in the browser'. While it is straightforward and distinguishes from many siblings (e.g., click, type), it relies on a reference to browser_docs for more detail. The purpose is clear but not exceptionally specific.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like browser_reload, browser_go_back, or browser_new_page. It only directs to browser_docs for more info, which is insufficient for an agent to understand appropriate usage context.

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

browser_net_emulate_conditionsC

Emulate network conditions (throttling) (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
offlineYesEmulate offline mode
latencyYesRound-trip latency in ms
downloadThroughputYesDownload speed in bytes/second (-1 for unlimited)
uploadThroughputYesUpload speed in bytes/second (-1 for unlimited)

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only says 'Emulate network conditions (throttling)' but does not explain the effect scope (all pages or current?), persistence, or side effects. The schema parameters hint at behavior (offline, latency, throughput) but the description adds no extra transparency.

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

Conciseness3/5

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

The description is extremely concise (8 words plus '(see browser_docs)'). While it avoids fluff, it is somewhat under-specified for a tool with four required parameters. It could benefit from a brief sentence on usage or effects.

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

Completeness2/5

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

No output schema, no annotations, and the description is minimal. It fails to explain the tool's return value (e.g., whether it returns success or applies settings). Given the complexity of network throttling (4 parameters, all required), the description is incomplete.

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

Parameters3/5

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

The input schema has 100% description coverage for all four parameters (offline, latency, downloadThroughput, uploadThroughput). The description adds no additional meaning beyond the schema; the baseline is 3.

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

Purpose4/5

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

The description clearly states it emulates network conditions (throttling), which is a specific verb+resource. It distinguishes itself from sibling tools like browser_net_get_requests or browser_net_set_request_blocking by focusing on throttling. However, it could be slightly more precise about the scope.

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

Usage Guidelines2/5

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

No usage guidance is provided. The description does not mention when to use this tool instead of other browser networking tools, nor does it give any context about prerequisites or alternatives.

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

browser_net_export_harB

Export full network activity log in HAR format (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
includeContentNoInclude response bodies (default: false)

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only says 'Export full network activity log' but does not disclose if monitoring must be active, whether the tool modifies state, or if it is read-only. The description lacks crucial behavioral details.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with a helpful reference to browser_docs. Every part earns its place.

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

Completeness2/5

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

Despite low complexity (single optional parameter, no output schema, no annotations), the description is incomplete. It does not explain what 'full network activity log' includes, how it relates to monitoring, or what the HAR format entails. Relies on external browser_docs.

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

Parameters3/5

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

Schema description coverage is 100% for the single parameter includeContent, so the baseline is 3. The tool description does not add any additional meaning beyond what the schema already provides.

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

Purpose5/5

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

The description clearly states the action (Export), the resource (full network activity log), and the format (HAR), distinguishing it from siblings like browser_net_get_requests which likely returns data differently.

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

Usage Guidelines3/5

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

The description mentions 'see browser_docs' for more details, implying the agent should consult docs for usage context, but it does not explicitly state when to use this tool versus alternatives like browser_net_get_requests or how it relates to monitoring tools.

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

browser_net_get_requestsC

Get captured network requests with timing breakdown (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNoFilter by URL substring

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description fails to disclose prerequisites (e.g., monitoring must be active), side effects (does it clear the buffer?), or any behavioral traits beyond a basic retrieval. The reference to browser_docs hints at more info but does not provide it directly.

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

Conciseness4/5

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

A single, front-loaded sentence efficiently communicates the core action. However, it could include key context without becoming verbose.

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

Completeness2/5

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

No output schema is provided, yet the description does not explain the return format or fields (e.g., timing breakdown structure). The tool's reliance on a prerequisite (monitoring) is unstated. The reference to browser_docs is too vague to compensate.

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

Parameters3/5

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

Schema coverage is 100% and the only parameter (filter) is well-described in the schema. The description adds no additional meaning beyond the schema definition.

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

Purpose4/5

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

The description clearly states the tool retrieves captured network requests with a timing breakdown, distinguishing it from siblings like browser_net_export_har or browser_net_get_websocket_frames. However, it references external docs ('see browser_docs'), slightly reducing self-contained clarity.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., browser_net_export_har for full export, browser_net_start_monitoring to initiate capture). No exclusions or context provided.

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

browser_net_get_websocket_framesC

Get WebSocket frames for inspecting real-time communication (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
requestIdYesRequest ID from network monitoring

TDQS

C2.8/5.0
Behavior1/5

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

No annotations are provided, and the description fails to disclose behavioral traits such as whether network monitoring must be active, how frames are retrieved, or any limitations. The burden is entirely on the description, which is inadequate.

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

Conciseness3/5

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

The description is a single sentence and front-loaded with the action, but it lacks important details. The reference to browser_docs adds minimal value. It is concise but not sufficiently informative.

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

Completeness2/5

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

Given no output schema and a simple parameter, the description should explain what the tool returns and any context needed. It does not, and the reference to browser_docs is not a substitute for a complete description.

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

Parameters3/5

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

The input schema has 100% description coverage for the single parameter 'requestId', so the description adds no extra meaning beyond the schema. Baseline of 3 applies.

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

Purpose5/5

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

The description clearly states the verb 'Get' and the resource 'WebSocket frames' with the purpose 'for inspecting real-time communication'. It distinguishes from sibling tools like browser_net_get_requests by targeting frames specifically.

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

Usage Guidelines2/5

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

The description does not provide explicit guidance on when to use this tool vs alternatives, nor does it mention prerequisites or exclusions. It only references browser_docs for more info, which is insufficient.

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

browser_net_set_request_blockingC

Block requests matching URL patterns (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
patternsYesURL patterns to block (e.g., ["*.jpg", "*analytics*"])

TDQS

C2.9/5.0
Behavior2/5

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

The description does not disclose behavioral traits like whether blocking persists across page navigations, whether it can be cleared, or if it affects all future requests. No annotations are provided, so the description carries full burden.

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

Conciseness4/5

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

Extremely concise with the main action stated up front. However, it is so brief that it may leave out necessary details; still efficient.

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

Completeness2/5

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

Given the complexity of network request blocking, the description is incomplete. It lacks information about persistence, scope, potential side effects, and how to revert blocking. No output schema exists, so more detail is needed.

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

Parameters3/5

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

Schema coverage is 100%, and the input schema already provides a detailed description of the patterns parameter with examples. The tool description adds no additional meaning beyond the schema.

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

Purpose4/5

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

The description clearly states it blocks requests matching URL patterns. It distinguishes from sibling tools like browser_net_get_requests and browser_net_start_monitoring by focusing on blocking, though it references browser_docs for further details.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, such as browser_net_emulate_conditions or other network control tools. There are no exclusions or prerequisite conditions mentioned.

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

browser_net_start_monitoringC

Start monitoring network requests with detailed timing (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
patternsNoURL patterns to monitor (default: all)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided. Description does not disclose behavioral traits such as whether it can be called multiple times, if it overwrites previous monitoring, or any side effects. Critical gaps for a state-changing tool.

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

Conciseness4/5

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

Single sentence with a reference to browser_docs. Front-loaded with main action. Very concise, but the reference is a minor drawback; still strongly earns its place.

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

Completeness3/5

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

Given the tool's simplicity (1 optional param, no output schema), the description is minimally adequate. However, it fails to explain what 'detailed timing' means, how to stop monitoring, or how to retrieve requests. 'See browser_docs' indicates incompleteness.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema's parameter description. The 'detailed timing' remark does not elaborate on parameter usage.

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

Purpose4/5

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

Clearly states the tool starts network request monitoring with detailed timing. However, it does not differentiate from siblings like browser_net_emulate_conditions or browser_net_set_request_blocking, lacking explicit distinction.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like browser_net_get_requests or browser_net_stop_monitoring. The 'see browser_docs' hint is weak and not self-contained.

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

browser_net_stop_monitoringA

Stop network monitoring and clear request log (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses clearing the request log, but lacks details on side effects (e.g., calling when not monitoring) or error states.

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

Conciseness5/5

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

Extremely concise single sentence that effectively communicates the tool's purpose. Front-loaded with key action.

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

Completeness3/5

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

Given no output schema and no annotations, the description is brief. It references 'see browser_docs' but does not explain return value or error handling. Adequate for a simple stop action but could be more complete.

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

Parameters4/5

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

No parameters (0 params), so baseline is 4. Description implicitly confirms no parameters needed.

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

Purpose5/5

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

Description clearly states the action: 'Stop network monitoring and clear request log'. It distinguishes from sibling tools like browser_net_start_monitoring and browser_net_get_requests.

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

Usage Guidelines3/5

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

Usage is implied by the sibling tool 'browser_net_start_monitoring'; however, there is no explicit guidance on when to use this tool vs. alternatives or what happens if called without prior start.

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

browser_new_pageC

Open a new browser page (tab) (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoOptional URL to navigate to

TDQS

C2.7/5.0
Behavior1/5

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

No annotations are provided, and the description only states 'open a new page' without disclosing behavioral traits such as focus changes, page state, or what happens when url is omitted. The description carries the full burden and fails to provide sufficient transparency.

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

Conciseness4/5

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

The description is very concise with one sentence and a reference, but it is not overly verbose. However, it could be slightly more informative without losing conciseness.

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

Completeness2/5

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

Given the simplicity of the tool (1 optional param, no output schema), the description still lacks important details like behavior without URL, return value, and how it fits with sibling tools. It is not complete enough for effective agent use.

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

Parameters3/5

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

Schema coverage is 100% with a description for the url parameter. The description adds no additional meaning beyond the schema, so baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool opens a new browser page/tab, which distinguishes it from navigation tools. However, it does not explicitly differentiate from siblings like browser_navigate or browser_switch_page.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The reference to browser_docs is vague and does not provide direct decision criteria.

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

browser_perf_get_heap_usageB

Get current JavaScript heap usage statistics (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It only states what the tool does, not whether it is safe, read-only, or has side effects. It lacks important context like performance impact or required conditions.

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

Conciseness4/5

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

The description is a single sentence, efficient and front-loaded. However, it relies on a reference to another tool (browser_docs) for details, which slightly reduces self-contained conciseness.

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

Completeness3/5

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

For a zero-param tool without output schema, the description is minimal but references browser_docs for further details. It is adequate for a simple heap usage retrieval but does not describe the return format or usage context.

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

Parameters4/5

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

There are zero parameters, and the schema coverage is 100% (empty). The description adds no parameter meaning, but none is needed. Baseline 4 applies as no additional info is required.

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

Purpose5/5

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

The description clearly states the verb 'Get' and the resource 'current JavaScript heap usage statistics', which is specific and distinguishes it from sibling tools like browser_perf_take_heap_snapshot or browser_perf_get_metrics. The name also implies the purpose.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs. alternatives. The only hint is 'see browser_docs', which defers explanation but does not provide explicit context or exclusions.

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

browser_perf_get_metricsB

Get runtime performance metrics (DOM nodes, event listeners, JS heap) (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

The description lacks any behavioral disclosure beyond its function. With no annotations, the agent has no information on side effects, prerequisites, or whether the tool is read-only. The brief text does not compensate for missing safety or behavioral context.

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

Conciseness4/5

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

The description is concise with one sentence that front-loads the key action and examples. The parenthetical reference to browser_docs adds minimal value but does not detract. It is efficient but somewhat terse.

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

Completeness4/5

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

Despite no output schema, the description provides specific metrics (DOM nodes, event listeners, JS heap) which gives a good sense of the return value. For a parameterless tool, it is fairly complete, though it could mention that these are aggregated runtime metrics.

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

Parameters4/5

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

There are no parameters, so the baseline score is 4 per guidelines. The description does not need to elaborate on parameter meanings, and the schema coverage is 100%.

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

Purpose4/5

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

The description clearly states the tool retrieves runtime performance metrics and lists concrete examples (DOM nodes, event listeners, JS heap), making it distinct from sibling tools like browser_perf_get_heap_usage which is more specific. However, it does not explicitly differentiate from browser_perf_get_performance_metrics, which has a similar name.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like browser_perf_get_heap_usage or browser_perf_get_performance_metrics. There are no exclusions or context hints for optimal usage.

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

browser_perf_get_performance_metricsA

Get web vitals and navigation timing (FCP, LCP, CLS, TTFB) (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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 states the tool gets metrics and lists them, but does not disclose whether it is read-only, requires a loaded page, or has side effects. Basic coverage, but more could be said.

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

Conciseness4/5

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

The description is a single sentence that is direct and informative. Including a reference to browser_docs adds a small overhead but provides helpful direction. Slightly over the minimal length, but still concise.

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

Completeness2/5

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

Given no output schema and no annotations, the description should explain the return format and behavior. It lists metrics but does not describe the structure of the output (e.g., object with fields, units). The reference to browser_docs is insufficient for immediate completeness.

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

Parameters4/5

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

There are no parameters (100% schema coverage), so the baseline score is 4. The description adds value by specifying which metrics are retrieved, compensating for the lack of parameters.

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

Purpose5/5

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

The description uses a specific verb 'Get' and resource 'web vitals and navigation timing', listing specific metrics (FCP, LCP, CLS, TTFB). This clearly distinguishes it from sibling tools like browser_perf_get_heap_usage, which focus on other aspects.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives like browser_perf_get_metrics. The description implies usage for web vitals, but lacks exclusionary or comparative context. The reference to browser_docs suggests further help is external.

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

browser_perf_start_coverageB

Start tracking CSS and JavaScript code coverage (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
resetOnNavigationNoReset coverage on navigation (default: true)

TDQS

B3/5.0
Behavior2/5

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

No annotations provided; description does not disclose side effects, whether coverage is cumulative, or if calling while already tracking resets or errors. Minimal behavioral insight.

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

Conciseness3/5

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

Single sentence plus doc reference is concise but lacks critical context; not every necessary detail is included.

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

Completeness2/5

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

No output schema; description does not explain how to stop coverage or what data is collected. Relies on external docs, making it incomplete for standalone use.

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

Parameters3/5

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

Schema has 100% coverage and describes the only parameter. Description adds no extra meaning beyond schema, so baseline 3 applies.

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

Purpose5/5

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

Clearly states the verb 'Start tracking' and the resource 'CSS and JavaScript code coverage', distinguishing it from sibling tools like browser_perf_stop_coverage.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives (e.g., browser_perf_start_profile). Only references external docs without explicit context.

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

browser_perf_start_profileC

Start CPU profiling to track JavaScript execution (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
sampleIntervalNoMicroseconds between samples (default: 100)

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It fails to mention that profiling starts a session affecting browser performance, that it consumes resources, or that the output is retrieved via other tools. The statement is too brief for a state-changing operation.

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

Conciseness3/5

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

The description is very short but lacks structure. It front-loads the purpose but substitutes missing details with a reference to docs, which is a missed opportunity for self-contained completeness.

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

Completeness2/5

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

For a tool with one optional parameter and no output schema or annotations, the description should explain the profiling lifecycle and what happens after starting. It omits critical context, making it incomplete for effective use.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds no additional meaning to the parameter 'sampleInterval' beyond what the schema provides.

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

Purpose4/5

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

The description clearly states the action: 'Start CPU profiling to track JavaScript execution'. It uses a specific verb and resource, distinguishing it from sibling tools like browser_perf_get_metrics or browser_perf_start_coverage, though it relies on the name for differentiation.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It does not mention that profiling must be stopped with browser_perf_stop_profile, nor any prerequisites or limitations. The reference to 'see browser_docs' is insufficient.

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

browser_perf_stop_coverageA

Stop coverage and get results showing used vs unused code (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided, so description carries the full burden. It discloses that the tool stops coverage and returns results, which is the core behavior. However, it doesn't detail side effects like whether coverage data is cleared or if results are cumulative, but for a straightforward operation, 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.

Conciseness5/5

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

Single sentence, no wasted words. References browser_docs for deeper detail, keeping the description compact and front-loaded. Every part serves a purpose.

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

Completeness4/5

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

No output schema, so description explains return value (used vs unused code) at a high level. This is sufficient for understanding the tool's purpose, and the reference to browser_docs fills in details. Slightly better explicit format description would make it fully complete.

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

Parameters4/5

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

No parameters exist (0 params), so baseline score of 4 applies. Description doesn't need to add meaning beyond the schema, which is already fully covered.

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

Purpose5/5

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

Description clearly states the action (stop coverage) and result (used vs unused code). It distinguishes itself from sibling tools like browser_perf_start_coverage and browser_perf_get_metrics by specifying it stops coverage and returns results. The reference to browser_docs provides additional context.

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

Usage Guidelines4/5

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

While it doesn't explicitly state prerequisites or when not to use, the purpose is inherently tied to starting coverage first. For a simple paired tool with browser_perf_start_coverage, the usage is clear, though explicit guidance on sequencing would improve it.

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

browser_perf_stop_profileB

Stop CPU profiling and get profile data (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It states it stops profiling and gets data, but does not explain side effects (e.g., whether data is returned in the response, if profiling state is reset, or if calling without a prior start causes an error). The reference to 'browser_docs' partially substitutes, but the description itself is insufficient. Score 2.

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

Conciseness4/5

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

The description is extremely concise at one sentence with a link to docs. It is front-loaded with the action. However, it could be slightly more informative without losing conciseness. Score 4 for appropriate brevity.

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

Completeness3/5

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

Given the tool's simplicity (no parameters, no output schema), the description provides the essential action but lacks context about pairing with browser_perf_start_profile and the nature of the returned profile data. It is minimally adequate but leaves gaps. Score 3.

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

Parameters4/5

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

The tool has zero parameters, and the schema coverage is 100% (empty schema). The description adds no parameter information because none is needed. Baseline for 0 parameters is 4, and the description meets that standard.

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

Purpose4/5

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

The description clearly states the action: stop CPU profiling and get profile data. It references 'browser_docs' for details, which helps. However, it doesn't explicitly distinguish from sibling tools like browser_perf_stop_coverage, though the resource 'CPU profile' is unique. Score 4 because it's clear but not fully specific about what 'profile data' entails.

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

Usage Guidelines3/5

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

The description implies this tool is used after starting a CPU profile, but it does not explicitly state that a profile must have been started first, nor does it mention when not to use it. No alternatives are discussed. Score 3 for implicit usage but lack of explicit guidance.

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

browser_perf_take_heap_snapshotB

Capture heap snapshot for memory analysis (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
reportProgressNoReport progress events (default: false)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided. The description says 'Capture heap snapshot', implying a potentially heavy operation, but does not disclose side effects (e.g., memory consumption, performance impact, or whether it modifies state). It relies on browser_docs for details, which is insufficient for standalone transparency.

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

Conciseness4/5

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

The description is extremely concise, one sentence with a cross-reference. It is well-structured and front-loaded, but could be slightly more informative without sacrificing brevity (e.g., mentioning output format).

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

Completeness2/5

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

The tool has no output schema and the description does not explain the return value (e.g., a snapshot file, object, or data structure). Given the potentially large resource impact, the description should mention duration, size expectations, or how to retrieve results. The cross-reference to browser_docs partially compensates, but is not complete.

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

Parameters3/5

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

The input schema has 100% description coverage for its single parameter 'reportProgress', which already explains its purpose. The description adds no additional 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.

Purpose5/5

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

The description clearly states the action ('Capture heap snapshot') and its purpose ('memory analysis'). It distinguishes from sibling tools like browser_perf_get_heap_usage and browser_perf_get_metrics by using the specific verb 'snapshot'.

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

Usage Guidelines3/5

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

The description implies usage for memory analysis but does not explicitly state when to use this tool versus alternatives like browser_perf_get_heap_usage or browser_docs. The reference to 'see browser_docs' suggests additional guidance, but the description itself lacks direct when/when-not instructions.

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

browser_press_keyB

Send a keyboard event (press a key) (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesThe key to press (e.g., "Enter", "Escape", "Control+A")

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. The description is too brief: it does not disclose prerequisites (e.g., requiring a focused element), side effects, or behavior 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.

Conciseness3/5

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

Very short (one sentence) but references browser_docs, which adds some utility. However, it could be more structured and informative without being verbose.

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

Completeness2/5

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

Given low complexity, the description is insufficient: it does not explain modifiers (e.g., 'Control+A'), target context, or if the key press is sent globally or to an element.

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

Parameters3/5

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

Schema coverage is 100% with one parameter having a clear description. The description adds no new meaning beyond the schema's 'The key to press'. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool sends a keyboard event (press a key) and distinguishes from similar tools like browser_click (mouse) and browser_type (typing text). The verb 'send a keyboard event' is specific and the resource is a key press.

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

Usage Guidelines3/5

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

The description implies usage for single key presses but does not explicitly compare with alternatives like browser_type for sequences. It references browser_docs for more details but lacks direct guidance on when to use or when not.

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

browser_read_pageB

Read the content and metadata of the current page (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only says 'Read the content and metadata', which implies a non-destructive read, but does not explain if the page needs to be loaded first, what exactly constitutes content and metadata, or if any side effects occur. This is insufficient for safe invocation.

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

Conciseness5/5

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

Single sentence, front-loaded and direct. No filler or redundancy. Every word is necessary.

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

Completeness2/5

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

Given zero parameters, no output schema, and many sibling tools, the description is too minimal. It does not clarify the output format (e.g., raw HTML, markdown, structured JSON) or behavior (e.g., does it wait for full page load?). The reference to browser_docs is insufficiently self-contained.

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

Parameters4/5

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

Input schema has zero parameters, so schema description coverage is 100% (trivially). The description adds no parameter info, but there is nothing to add. Baseline for 0 parameters is 4.

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

Purpose4/5

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

Description clearly states the tool reads content and metadata of the current page. The verb 'Read' and resource 'current page' are specific, and it distinguishes from many sibling tools that perform actions or retrieve other data. However, it does not explicitly differentiate from similar read tools like browser_get_text or browser_get_dom.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus siblings. The description is just a statement of function, with no context for selection or exclusions. The reference to 'see browser_docs' is vague and not helpful for immediate decision-making.

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

browser_reloadB

Reload the current page (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

The description provides minimal behavioral insight beyond the action itself. No annotations are present to compensate. Key behaviors like whether the reload bypasses cache or preserves page state are undisclosed.

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

Conciseness3/5

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

The description is very short and front-loaded, but it relies on an external reference ('see browser_docs') to provide necessary details. A self-contained description would be more efficient.

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

Completeness2/5

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

Given the existence of related navigation tools (browser_navigate, browser_go_back, browser_go_forward), the description fails to clarify how reload differs from those actions. It also omits any mention of side effects or page state.

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

Parameters4/5

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

There are no parameters, and the schema coverage is 100% (empty). The description adds no additional parameter info, but this is not needed as the tool requires no configuration.

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

Purpose5/5

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

The description clearly states the verb 'reload' and the resource 'current page'. It effectively distinguishes from sibling tools like browser_navigate or browser_go_back, which involve navigation to a different location.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It does not mention when a reload is appropriate (e.g., after dynamic content changes) nor when to use browser_navigate or browser_go_back instead.

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

browser_resize_windowB

Resize the browser window (useful for testing responsiveness) (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
widthYesWindow width in pixels
heightYesWindow height in pixels

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, so description must carry full disclosure burden. Only states the action without mentioning side effects (e.g., resize events), requirements (e.g., open window), or limitations (min/max size). Minimal behavioral info.

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

Conciseness4/5

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

Short single sentence with a parenthetical hint and reference. Front-loaded action verb. Concise, though could be slightly more detailed without losing conciseness.

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

Completeness3/5

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

For a simple two-parameter tool with no output schema, description minimally covers purpose and parameters but lacks context on behavior (e.g., window state requirements, error cases). Adequate but not thorough.

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

Parameters3/5

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

Schema covers both parameters with descriptions (100% coverage). Description adds no extra meaning beyond schema, so baseline 3 is appropriate.

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

Purpose4/5

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

Description clearly states 'Resize the browser window' with a specific verb and resource, and adds a use case for testing responsiveness. While it doesn't explicitly differentiate from siblings, the action is distinct among many browser tools.

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

Usage Guidelines3/5

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

Provides a contextual hint ('useful for testing responsiveness') and references browser_docs for more details, but lacks explicit alternatives, when-to-use, or prerequisites.

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

browser_screenshotC

Take a screenshot of the current page (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
fullPageNoCapture full page

TDQS

C2.6/5.0
Behavior1/5

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

With no annotations provided, the description must fully disclose behavioral traits. It states only the action, omitting any details about side effects, permissions, output format, or whether the screenshot is destructive. This is insufficient for an agent to understand the tool's impact.

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

Conciseness3/5

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

The description is a single sentence, which is concise, but it is overly brief and lacks critical structure. It fails to earn its place by omitting necessary details; a longer, more informative description would be more helpful.

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

Completeness2/5

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

For a simple tool with one parameter and no output schema, the description is incomplete. It does not explain the return value (e.g., base64 image), constraints (e.g., page must be loaded), or how to use the 'fullPage' parameter effectively. More contextual information is needed.

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

Parameters3/5

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

The input schema has 100% coverage for the single parameter 'fullPage', with a clear description. The tool description does not add additional meaning beyond the schema, meeting the baseline for high coverage. No extra semantic value is provided.

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

Purpose4/5

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

The description clearly states the action ('Take a screenshot') and resource ('current page'), making the tool's purpose obvious. It distinguishes well from siblings like browser_get_dom or browser_read_page, but does not elaborate on what the screenshot captures (viewport or full page) which is implied by the parameter.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as browser_get_dom or browser_read_page. The description lacks context for prerequisites, use cases, or when not to use it, leaving the agent to infer 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_scrollC

Scroll the page (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
xNoHorizontal scroll position
yNoVertical scroll position

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits, but it only says 'scroll the page'. It omits whether scrolling is instant/animated, if it requires a loaded page, or any side effects.

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

Conciseness3/5

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

The description is very short, but it leans on an external reference (browser_docs) rather than being self-contained. While concise, it sacrifices completeness for brevity.

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

Completeness2/5

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

Given no output schema and sparse annotations, the description should provide more context about behavior, return values, or prerequisites. It fails to complete the picture for a simple scroll action.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both x and y as scroll positions. The description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the verb 'scroll' and the resource 'the page', making the tool's purpose evident. However, it lacks specificity (e.g., whether scrolling is absolute or relative) and relies on a sibling tool for details, which slightly diminishes clarity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, such as browser_mouse_wheel for incremental scrolling or browser_navigate for page navigation. The directive 'see browser_docs' is not a usage guideline.

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

browser_sec_detect_mixed_contentB

Detect mixed content warnings (HTTPS page loading HTTP resources) (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided. The description does not disclose what the tool returns (e.g., a boolean, list of warnings), side effects, or prerequisites. 'see browser_docs' is insufficient.

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

Conciseness5/5

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

Single sentence plus cross-reference, no wasted words. Efficient and front-loaded.

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

Completeness2/5

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

Lacks information on output format, prerequisites (e.g., must have a page loaded), and how to act on results. Incomplete for an agent to use correctly.

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

Parameters4/5

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

The input schema has zero parameters, so no parameter description is needed. The description implicitly confirms no input is required.

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

Purpose5/5

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

The description clearly states the tool detects mixed content warnings and specifies the context (HTTPS page loading HTTP resources). It is distinct from sibling security tools like browser_sec_get_certificate_info.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool vs alternatives. The reference to browser_docs is vague and does not provide clear usage context.

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

browser_sec_get_certificate_infoB

Get TLS/SSL certificate details for HTTPS sites (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, and description does not disclose behavioral traits such as prerequisites (e.g., must be on a page), network activity, or return format. The minimal description leaves significant ambiguity.

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

Conciseness4/5

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

Single sentence, concise and front-loaded. However, it could include brief additional context without becoming verbose.

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

Completeness2/5

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

Given no parameters, no output schema, and no annotations, the description lacks information about output or preconditions. The agent would need to infer from sibling tool names or external docs.

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

Parameters4/5

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

No parameters exist, so baseline is 4. Description does not need to add parameter info, but it also doesn't provide context about implicit inputs like the current page URL.

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

Purpose5/5

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

Description uses specific verb 'Get' and resource 'TLS/SSL certificate details for HTTPS sites', clearly distinguishing it from other security tools like mixed content detection or security headers inspection.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. Only mentions 'see browser_docs' which is a sibling tool but does not provide explicit context or exclusions.

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

browser_sec_get_csp_violationsB

Get captured CSP violations (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states 'Get captured CSP violations' without explaining what that entails, whether it is read-only, what the return format is, or any side effects.

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

Conciseness5/5

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

The description is a single, focused sentence with no wasted words. It is appropriately sized for a tool with no parameters.

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

Completeness2/5

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

Given no output schema and a simple tool, the description still lacks context about what 'captured CSP violations' means, how they are collected, and what the output looks like. The reference to browser_docs does not compensate for inline completeness.

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

Parameters3/5

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

There are no parameters, so the input schema is fully covered. According to the guidelines, baseline is 3 when schema coverage is high. The description does not add parameter info, but it is not needed.

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

Purpose5/5

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

The description clearly states the action 'Get' and the resource 'captured CSP violations', which is specific and distinct from sibling tools like browser_sec_start_csp_monitoring and browser_sec_stop_csp_monitoring.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool or prerequisites. It does not mention that CSP monitoring must be started first, nor does it differentiate from alternatives. The reference to 'see browser_docs' is not an inline guideline.

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

browser_sec_get_security_headersB

Inspect security-related HTTP headers (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

The description only states 'Inspect' implying a read-only operation, but does not disclose whether it requires an active page, changes any state, or has side effects. No annotations are provided to compensate, so behavioral context is minimal.

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

Conciseness5/5

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

The description is extremely concise (6 words) and front-loaded with the core action and resource. Every word earns its place, and the reference to browser_docs provides an external fallback without bloating the text.

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

Completeness2/5

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

Despite having no parameters and no output schema, the description lacks essential context such as what headers are returned, how to interpret them, or prerequisites. The reference to browser_docs shifts information outside the description, making it incomplete for an agent to fully understand the tool's behavior.

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

Parameters4/5

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

With zero parameters and 100% schema coverage, the description adds no parameter details. Per calibration, a 0-parameter tool baseline is 4, and the description does not contradict or add unnecessary information.

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

Purpose4/5

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

The description specifies the verb 'Inspect' and the resource 'security-related HTTP headers', clearly distinguishing it from sibling tools like browser_sec_get_certificate_info. However, it does not elaborate on scope (e.g., current page headers) or which headers are considered security-related, leaving some ambiguity.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like browser_sec_get_csp_violations or browser_sec_detect_mixed_content. The phrase 'see browser_docs' is a placeholder rather than an explicit usage rule.

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

browser_sec_start_csp_monitoringB

Monitor Content Security Policy violations (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states 'Monitor', giving no details on side effects, resource usage, or whether the tool is read-only or destructive. It lacks behavioral context beyond 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.

Conciseness4/5

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

The description is very short (one sentence) and front-loaded with the key action. However, the reference to 'browser_docs' is a minor inefficiency, as the description should be self-contained.

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

Completeness2/5

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

The description omits important lifecycle context: that monitoring must be stopped and violations retrieved via sibling tools. The 'see browser_docs' is insufficient for a complete understanding, especially given no output schema or annotations.

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

Parameters4/5

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

The tool has zero parameters and 100% schema coverage, so the baseline is 4. The description does not add parameter information, but none is needed.

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

Purpose4/5

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

The description clearly states the verb 'Monitor' and the resource 'Content Security Policy violations', distinguishing it from sibling tools like browser_sec_get_csp_violations and browser_sec_stop_csp_monitoring. However, it relies on 'see browser_docs' for further details, which slightly reduces clarity.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool vs alternatives, no prerequisites, and no exclusions. It does not mention that it is part of a monitoring workflow or that it should be paired with browser_sec_stop_csp_monitoring.

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

browser_sec_stop_csp_monitoringA

Stop CSP monitoring and clear violations (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

The description discloses that it stops monitoring and clears violations, which is the key behavioral trait. However, with no annotations, it doesn't elaborate on whether the clearing is irreversible or if it affects other state. It's minimally adequate.

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

Conciseness5/5

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

The description is a single clear sentence with an optional reference. No wasted words; the action is front-loaded. It is as concise as possible for the complexity.

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

Completeness3/5

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

Given zero parameters and no output schema, the description is mostly complete, but it lacks context about what 'clear violations' means (e.g., are violations permanently lost?) and whether monitoring must be active. The reference to browser_docs partly compensates. 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.

Parameters4/5

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

There are no parameters, so the description does not need to add parameter meaning. The schema coverage is 100%, and the description does not mislead. A baseline of 4 is appropriate given the absence of parameters.

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

Purpose5/5

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

The description explicitly states 'Stop CSP monitoring and clear violations', which clearly identifies the action (stop) and the resource (CSP monitoring) and distinguishes from siblings like browser_sec_start_csp_monitoring and browser_sec_get_csp_violations.

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

Usage Guidelines2/5

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

No explicit guidance on when to use versus alternatives. It references 'see browser_docs', but does not state prerequisites (e.g., must have started monitoring first) or when not to use. This leaves the agent to infer usage context.

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

browser_selectB

Select options in a dropdown (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorYesPlaywright selector for the select element
valuesYesValues to select

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral traits. It does not disclose whether multiple selections are supported, how invalid values are handled, or state changes. The reference to browser_docs is insufficient without elaboration.

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

Conciseness4/5

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

The description is a single sentence, concise and to the point. However, it could be more informative without losing conciseness, e.g., by noting that it selects values via Playwright.

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

Completeness3/5

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

Given the tool's simplicity (2 params, no output schema, no annotations), the description is minimal but adequate. It relies on browser_docs for details, which is acceptable if that documentation exists, but not complete on its own.

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

Parameters3/5

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

Schema already documents both parameters (selector and values) with descriptions, achieving 100% coverage. The tool description adds no additional meaning beyond 'Select options in a dropdown', so baseline 3 is appropriate.

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

Purpose4/5

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

Description explicitly states selecting options in a dropdown, which is a specific verb and resource. It distinguishes from siblings like browser_click or browser_type, though it references browser_docs for further details, slightly reducing self-containment.

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

Usage Guidelines3/5

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

Usage is implied by the description 'Select options in a dropdown', but there is no explicit guidance on when to use this tool versus alternatives (e.g., browser_click, browser_type), nor any exclusions.

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

browser_start_video_recordingA

Start recording browser session as video (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoPath to save the video file

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It states that recording starts, but does not disclose side effects (e.g., if a recording is already in progress, file overwrite behavior). The description is basic but not contradictory.

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

Conciseness5/5

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

The description is extremely concise—one sentence plus a reference to docs. No wasted words, and the structure is front-loaded with the action.

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

Completeness4/5

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

Given low complexity (one parameter, no output schema), the description is fairly complete. It states the core function and directs to browser_docs for more info. It lacks return value details, but no output schema exists.

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

Parameters3/5

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

Schema coverage is 100% (path is described in schema). The description adds no additional meaning to the parameter beyond what the schema provides, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Start recording') and resource ('browser session as video'). It also references browser_docs for further details, and the name and sibling tool browser_stop_video_recording make it unambiguous.

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

Usage Guidelines3/5

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

The description does not provide explicit guidance on when to use this tool versus alternatives or what prerequisites exist. It only mentions 'see browser_docs', which implies more info but is not self-contained.

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

browser_stop_video_recordingA

Stop video recording and save the file (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

No annotations provided. Description adds behavioral info (saves file) but lacks details on file location, format, or behavior if no recording active. Relies on browser_docs.

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

Conciseness5/5

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

One concise sentence with a reference to docs. No wasted words, front-loaded.

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

Completeness3/5

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

Minimal but adequate for a simple stop action. No output schema or return value description. Reference to browser_docs helps but doesn't fully compensate for lack of behavioral details.

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

Parameters4/5

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

No parameters in schema, so description cannot add param info. Baseline for zero parameters is 4.

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

Purpose5/5

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

Description clearly states it stops video recording and saves the file, differentiating from sibling browser_start_video_recording. Uses a specific verb and resource.

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

Usage Guidelines4/5

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

Implied usage: after starting recording. No explicit when-not-to-use or alternatives, but context from sibling tools makes it clear. Could mention prerequisite.

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

browser_storage_delete_cacheB

Delete a specific cache from Cache Storage (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
cacheNameYesCache name to delete

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so description must convey behavioral traits. It states deletion but does not disclose permanence, reversibility, required permissions, or impact on other data. Minimal disclosure beyond action.

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

Conciseness4/5

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

Extremely concise: one sentence plus reference. Front-loaded and no wasted words. Could include a bit more detail without harming conciseness.

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

Completeness3/5

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

Given the simple tool (one parameter, no output schema, no annotations), the description is adequate but minimal. Refers to docs for completeness. Not thorough for a destructive action.

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

Parameters3/5

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

Schema coverage is 100% with description 'Cache name to delete'. The tool description adds no new meaning beyond 'specific cache'. Baseline 3, no added value.

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

Purpose5/5

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

Description clearly states 'Delete a specific cache from Cache Storage', providing specific verb and resource, and reference to browser_docs for details. It distinguishes from siblings like browser_storage_get_cache_storage.

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

Usage Guidelines3/5

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

No explicit guidance on when to use vs alternatives or when not to use. The description implies usage for deleting a specific cache, but lacks exclusions or context.

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

browser_storage_get_cache_storageB

List Cache Storage API caches and their entries (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
cacheNameNoSpecific cache to inspect (optional)

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It describes the operation as 'list', implying no side effects, but does not elaborate on return format, pagination, or permissions. It is adequate but not rich.

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

Conciseness4/5

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

The description is a single concise sentence. It is front-loaded and efficient, though it does not provide structural elements like bullet points.

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

Completeness3/5

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

For a simple read tool with one optional parameter, the description is minimally adequate. However, absence of output schema and reliance on 'see browser_docs' leave gaps in understanding the response format.

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

Parameters3/5

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

Schema description coverage is 100%, and the description adds no extra meaning beyond the schema. The optional parameter is already documented, so the tool description does not enhance parameter understanding.

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

Purpose5/5

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

The description clearly states it lists Cache Storage API caches and their entries. It distinguishes from sibling tools like browser_storage_delete_cache and browser_storage_get_indexeddb by specifying the storage type.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It only says to see browser_docs, but does not mention when-not to use it or compare with sibling tools.

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

browser_storage_get_indexeddbC

Inspect IndexedDB databases and their data (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNameNoSpecific database to inspect (optional)
objectStoreNameNoSpecific object store to query (optional, requires databaseName)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description should disclose behavioral traits. It only says 'inspect' without clarifying read-only nature, side effects, or required permissions. The reference to browser_docs offloads behavioral context.

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

Conciseness4/5

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

Very concise single sentence, no unnecessary words. However, the reference to another tool could be removed or integrated. Front-loads purpose effectively.

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

Completeness2/5

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

Given no annotations and no output schema, the description should cover return format, behavior when parameters are omitted, and error cases. It does not, relying on external docs. Incomplete for a tool with minimal structured metadata.

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

Parameters3/5

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

Schema coverage is 100% with clear parameter descriptions. The description adds minimal value beyond schema, merely stating the overall function. Baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool inspects IndexedDB databases and their data. It distinguishes from sibling storage tools like browser_storage_get_cache_storage. However, the reference to 'see browser_docs' is vague about what exactly 'inspect' entails.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like browser_storage_get_cache_storage. No context on prerequisites or when inspection is appropriate.

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

browser_storage_get_service_workersB

Get service worker registrations and their state (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description bears full burden for behavioral disclosure. It only states the action without mentioning side effects, required permissions, rate limits, or what 'state' entails. The minimal description leaves agents unaware of potential constraints or return behavior.

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

Conciseness3/5

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

The description is a single sentence, which is concise. However, it could provide more structure or detail without being lengthy. It sacrifices completeness for brevity, making it adequate but not exemplary.

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

Completeness2/5

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

With no output schema and no annotations, the description should explain what the tool returns or provides. It mentions 'state' but does not define it, and references browser_docs for more info. This reliance on external documentation makes the description incomplete for autonomous agent use.

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

Parameters4/5

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

The input schema has zero parameters, and schema description coverage is 100% (vacuously). The description adds no parameter information but also doesn't need to. The baseline for 0 params is 4, and the description meets that by clarifying the purpose without contradicting the schema.

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

Purpose5/5

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

The description clearly states the tool retrieves service worker registrations and their state. It uses specific verbs 'Get service worker registrations' and references a resource. It distinguishes from sibling 'browser_storage_unregister_service_worker' which is for removal, making the purpose unmistakable.

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

Usage Guidelines3/5

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

The description implies usage for reading service worker state, and the sibling list provides context (e.g., unregister tool for removal). However, it lacks explicit guidance on when to use this tool versus alternatives like browser_docs or other storage tools, and no exclusions are stated.

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

browser_storage_unregister_service_workerB

Unregister a service worker (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeURLYesScope URL of service worker to unregister

TDQS

B3/5.0
Behavior2/5

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

No annotations exist, so the description must disclose behavioral traits. It only says 'Unregister a service worker' without explaining what happens (e.g., immediate removal, need for page reload, security implications). This is insufficient.

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

Conciseness3/5

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

The description is very short and front-loaded, but it is too terse, omitting important usage context. While efficient, it does not earn its place as a complete guide for an AI agent.

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

Completeness2/5

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

Given no output schema and no annotations, the description should provide richer behavioral context. It lacks details about return values, side effects, and error conditions, making it incomplete for safe invocation.

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

Parameters3/5

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

The only parameter 'scopeURL' has a clear description in the schema ('Scope URL of service worker to unregister'). The tool description adds no additional meaning beyond the schema, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action 'Unregister a service worker' with a specific verb and resource. The sibling tool 'browser_storage_get_service_workers' is the complementary operation, and the distinction is obvious from the action alone.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., after listing service workers, or the effects of unregistration). The description does not mention prerequisites or consequences.

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

browser_switch_pageB

Switch to a different browser page (tab) (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
indexYesThe index of the page to switch to

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as whether the current page state is preserved, what happens if the index is invalid, or any side effects.

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

Conciseness4/5

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

The description is very concise at one sentence plus a reference, but it could be improved by including essential context like 0-based indexing or error handling.

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

Completeness2/5

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

For a simple switch tool, the description lacks completeness. It does not mention 0-based indexing, invalid index behavior, or whether the page object persists after switching.

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

Parameters3/5

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

The schema has 100% description coverage for the 'index' parameter, so the description adds no extra meaning beyond the schema. Baseline 3 applies.

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

Purpose5/5

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

The description clearly states the verb ('Switch to') and the resource ('browser page (tab)'), distinguishing it from sibling tools like browser_new_page, browser_close_page, and browser_list_pages.

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

Usage Guidelines3/5

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

The description does not provide explicit guidance on when to use this tool versus alternatives like browser_navigate or browser_go_back. It only references browser_docs for more information, which is insufficient.

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

browser_typeB

Type text into an input field (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorYesPlaywright selector for the input
textYesText to type

TDQS

B3/5.0
Behavior2/5

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

No behavioral traits are disclosed beyond the basic action. Critically missing info: does it clear existing text, require prior focus, support special keys, etc. No annotations exist to compensate.

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

Conciseness3/5

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

Extremely concise but at the expense of completeness. The reference to browser_docs is vague and may not be accessible, making the description insufficiently self-contained.

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

Completeness2/5

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

Lacks return value or error behavior. Given two required parameters and no output schema, more context is needed for reliable invocation.

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

Parameters3/5

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

Schema coverage is 100%, so the description adds minimal value. It restates parameter purposes without providing additional constraints or formatting details.

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

Purpose5/5

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

The description clearly states the tool types text into an input field, with a specific verb and resource. It is distinct from sibling tools like browser_click or browser_focus.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool over alternatives. It only references browser_docs, which is not actionable context.

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

browser_waitC

Pause execution for a duration (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
msYesMilliseconds to wait

TDQS

C2.9/5.0
Behavior2/5

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

No behavioral details beyond the basic action. Does not disclose whether the wait is blocking, if there are any side effects, or limits. With no annotations, the description should provide more transparency.

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

Conciseness4/5

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

The description is concise but references another tool (browser_docs) for more info, which is efficient yet slightly less self-contained. Front-loading is good.

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

Completeness3/5

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

For a simple single-parameter tool, the description is adequate but incomplete. It relies on browser_docs for full documentation, and does not specify details like blocking behavior or return values (though no output schema exists).

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

Parameters3/5

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

The input schema already describes the 'ms' parameter as 'Milliseconds to wait' with 100% coverage. The description adds no additional meaning or constraints beyond the schema, so baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool pauses execution for a duration, but does not differentiate from the sibling tool browser_wait_for_selector which is a conditional wait. Reference to browser_docs hints at further documentation but not differentiation.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like browser_wait_for_selector or other timing mechanisms. The description lacks context for appropriate usage scenarios.

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

browser_wait_for_selectorC

Wait for an element to appear on the page (see browser_docs)

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorYesPlaywright selector to wait for
timeoutNoTimeout in milliseconds

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as timeout behavior, default timeout, or what happens if the element never appears. The description is minimal.

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

Conciseness4/5

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

The description is very short and front-loaded with the purpose. However, the reference to browser_docs is vague, and the description could be slightly more structured without becoming verbose.

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

Completeness2/5

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

Given no output schema, the description does not explain return values or post-wait behavior. It is incomplete for an agent to fully understand the tool's effects.

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

Parameters3/5

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

Schema coverage is 100%, so parameters are documented in the schema. The description adds no additional meaning beyond the schema.

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

Purpose4/5

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

The description clearly states the verb 'wait for' and the resource 'an element specified by selector'. It is distinct from siblings like browser_click or browser_navigate, though it references browser_docs for more detail.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like browser_wait or other browser tools. The description lacks explicit context for appropriate usage.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 63 tool updatesv1.4.0
    • First observedbrowser_click
    • First observedbrowser_close_page
    • First observedbrowser_console_clear
    • First observedbrowser_console_get
    • First observedbrowser_console_start
    • First observedbrowser_control_media
    • First observedbrowser_docs
    • First observedbrowser_evaluate
    • First observedbrowser_focus
    • First observedbrowser_get_audio_analysis
    • First observedbrowser_get_dom
    • First observedbrowser_get_media_summary
    • First observedbrowser_get_text
    • First observedbrowser_go_back
    • First observedbrowser_go_forward
    • First observedbrowser_health_check
    • First observedbrowser_hover
    • First observedbrowser_list_pages
    • First observedbrowser_mouse_click
    • First observedbrowser_mouse_drag
    • First observedbrowser_mouse_move
    • First observedbrowser_mouse_wheel
    • First observedbrowser_navigate
    • First observedbrowser_net_emulate_conditions
    • First observedbrowser_net_export_har
    • First observedbrowser_net_get_requests
    • First observedbrowser_net_get_websocket_frames
    • First observedbrowser_net_set_request_blocking
    • First observedbrowser_net_start_monitoring
    • First observedbrowser_net_stop_monitoring
    • First observedbrowser_new_page
    • First observedbrowser_perf_get_heap_usage
    • First observedbrowser_perf_get_metrics
    • First observedbrowser_perf_get_performance_metrics
    • First observedbrowser_perf_start_coverage
    • First observedbrowser_perf_start_profile
    • First observedbrowser_perf_stop_coverage
    • First observedbrowser_perf_stop_profile
    • First observedbrowser_perf_take_heap_snapshot
    • First observedbrowser_press_key
    • First observedbrowser_read_page
    • First observedbrowser_reload
    • First observedbrowser_resize_window
    • First observedbrowser_screenshot
    • First observedbrowser_scroll
    • First observedbrowser_sec_detect_mixed_content
    • First observedbrowser_sec_get_certificate_info
    • First observedbrowser_sec_get_csp_violations
    • First observedbrowser_sec_get_security_headers
    • First observedbrowser_sec_start_csp_monitoring
    • First observedbrowser_sec_stop_csp_monitoring
    • First observedbrowser_select
    • First observedbrowser_start_video_recording
    • First observedbrowser_stop_video_recording
    • First observedbrowser_storage_delete_cache
    • First observedbrowser_storage_get_cache_storage
    • First observedbrowser_storage_get_indexeddb
    • First observedbrowser_storage_get_service_workers
    • First observedbrowser_storage_unregister_service_worker
    • First observedbrowser_switch_page
    • First observedbrowser_type
    • First observedbrowser_wait
    • First observedbrowser_wait_for_selector

TDQS

B3/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose, with descriptions that precisely differentiate actions (e.g., browser_click vs browser_mouse_click, browser_get_dom vs browser_read_page). The category prefixes (net_, perf_, sec_, etc.) further aid disambiguation, making it easy for an agent to select the correct tool.

Naming Consistency4/5

All tools use the snake_case 'browser_' prefix, with subcategory prefixes (e.g., net_, perf_, sec_) for most tools. While some tools lack a subcategory (e.g., browser_get_dom) and the pattern varies slightly, the overall consistency is high and predictable.

Tool Count1/5

With 63 tools, the server far exceeds the typical well-scoped range (3-15). Despite the broad domain of browser automation, this many tools indicate potential over-splitting, and the calibration guidelines deem 50+ as an extreme mismatch.

Completeness4/5

The tool set covers a comprehensive range of browser automation tasks: navigation, interaction, DOM, network, performance, security, storage, console, media, etc. Minor gaps exist (e.g., no cookie or dialog handling), but the surface is largely complete for its domain.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    Not graded
    maintenance
    A MCP server that provides browser automation tools, allowing users to navigate websites, take screenshots, click elements, fill forms, and execute JavaScript through Playwright.
    8
    2
    -
  • A
    license
    B
    quality
    D
    maintenance
    A browser automation server providing Playwright capabilities for controlling web browsers, capturing screenshots, extracting content, and performing complex interactions through an MCP interface.
    6
    Apache 2.0
  • A
    license
    B
    quality
    D
    maintenance
    A universal browser automation server featuring 63 tools for programmatic Chrome control, multi-tab management, and media interaction using Playwright. It enables advanced actions like session recording, performance profiling, and pixel-based interaction through a safe, isolated browser profile.
    63
    24
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive browser automation MCP server using Playwright, offering 50+ tools for page control, element interaction, content extraction, and more across multiple browser engines.
    21
    1
    MIT

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ricardodeazambuja/browser-mcp-server'

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