Browser MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Browser MCP Servernavigate to news.google.com and summarize the top headlines for me"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 MCP Server
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 |
|
Antigravity |
|
Claude Code | Use |
Gemini CLI | Use |
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
Method 1: NPM Package (Recommended)
# Install globally (Playwright installs automatically)
npm install -g @ricardodeazambuja/browser-mcp-server
# Or use directly with npx (no installation needed)
npx @ricardodeazambuja/browser-mcp-serverNote: 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 chromiumMethod 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 chromiumUsage 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.jsUsing 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-serverVerify installation:
# List all MCP servers
claude mcp list
# Check server status
claude mcp get browserExample 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_screenshotNote: 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.jsUsing 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-serverManagement commands:
# List all configured MCP servers
gemini mcp list
# Remove the server if needed
gemini mcp remove browserExample 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 automaticallyAdvanced 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.jsAvailable Tools (63)
Documentation
browser_docs(toolName?) - Get detailed docs, return schemas, examples, and caveats for any tool
Multi-Page Management
browser_list_pages() - List all open tabs/pages
browser_new_page(url?) - Open a new tab
browser_switch_page(index) - Switch active tab
browser_close_page(index?) - Close a tab
Media Awareness & Control
browser_get_media_summary() - List all audio/video elements with state
browser_get_audio_analysis(durationMs?, selector?) - Analyze audio output (volume, spectrum)
browser_control_media(selector, action, value?) - Play, pause, mute, seek
Navigation & Interaction
browser_navigate(url) - Navigate to a URL
browser_click(selector) - Click an element (selector-based)
browser_type(selector, text) - Type text into an input
browser_scroll(x?, y?) - Scroll the page (generic)
browser_reload() - Reload current page
browser_go_back() - Navigate back
browser_go_forward() - Navigate forward
browser_wait(ms) - Pause execution
Low-Level Interaction
browser_mouse_move(x, y) - Move mouse to pixel coordinates
browser_mouse_click(x?, y?, button?, count?) - Click at pixel coordinates
browser_mouse_drag(fromX, fromY, toX, toY) - Drag and drop
browser_mouse_wheel(deltaX, deltaY) - Scroll mouse wheel
browser_press_key(key) - Send keyboard event (e.g. "Enter")
Information Gathering
browser_screenshot(fullPage?) - Capture screenshot
browser_get_text(selector) - Get text from element
browser_get_dom(selector?) - Get DOM structure
browser_read_page() - Get page metadata (title, URL)
browser_evaluate(code) - Execute JavaScript
Console Debugging
browser_console_start(level?) - Start capturing logs
browser_console_get(filter?) - Get captured logs
browser_console_clear() - Clear logs and stop
Advanced Interaction
browser_hover(selector) - Hover over element
browser_focus(selector) - Focus element
browser_select(selector, values) - Select dropdown options
browser_wait_for_selector(selector, timeout?) - Wait for element
browser_resize_window(width, height) - Resize window
browser_start_video_recording(path?) - Start session recording
browser_stop_video_recording() - Stop and save recording
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)
browser_perf_start_profile(sampleInterval?) - Start CPU profiling
browser_perf_stop_profile() - Get CPU profile data with summary
browser_perf_take_heap_snapshot(reportProgress?) - Capture memory snapshot
browser_perf_get_heap_usage() - Current JavaScript heap statistics
browser_perf_get_metrics() - Runtime metrics (DOM nodes, listeners, etc.)
browser_perf_get_performance_metrics() - Web vitals (FCP, LCP, CLS, TTFB)
browser_perf_start_coverage(resetOnNavigation?) - Track code coverage
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)
browser_net_start_monitoring(patterns?) - Monitor network requests
browser_net_get_requests(filter?) - Get captured requests with timing
browser_net_stop_monitoring() - Stop monitoring and clear log
browser_net_export_har(includeContent?) - Export HTTP Archive log
browser_net_get_websocket_frames(requestId) - Inspect WebSocket frames
browser_net_set_request_blocking(patterns) - Block URL patterns
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)
browser_sec_get_security_headers() - Inspect security HTTP headers
browser_sec_get_certificate_info() - TLS/SSL certificate details
browser_sec_detect_mixed_content() - Find HTTP resources on HTTPS pages
browser_sec_start_csp_monitoring() - Monitor CSP violations
browser_sec_get_csp_violations() - Get violation log
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)
browser_storage_get_indexeddb(databaseName?, objectStoreName?) - Inspect IndexedDB
browser_storage_get_cache_storage(cacheName?) - List Cache Storage entries
browser_storage_delete_cache(cacheName) - Delete cache
browser_storage_get_service_workers() - Service worker state
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 volumeMulti-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 WikipediaPixel-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 toolsHow 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 chromiumUses 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-runflagsClean 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-profileby default (configurable viaMCP_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.logLogs 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.jsMCP 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-chromeOption 2 - Install Playwright's Chromium:
npm install playwright
npx playwright install chromiumOption 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 licenseTesting
# 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.jsDebug 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 flagsCompatibility
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:
Fork the repository
Create a feature branch
Make your changes
Submit a pull request
License
MIT License - see LICENSE file
Credits
Built with Playwright
Implements Model Context Protocol
Originally developed for Antigravity
Support
📧 Contact: Via GitHub Issues
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.jsonas 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_docstool 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 toolsbrowser_clickB
Click an element on the page using Playwright selector (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | Playwright selector for the element |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the tool clicks an element but doesn't disclose behavioral traits such as whether it waits for the element to be clickable, handles errors if the selector is invalid, or what happens after the click (e.g., page navigation). This leaves significant gaps in understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose and references documentation. It is front-loaded with essential information and contains no unnecessary words, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a browser interaction tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral aspects like error handling, side effects, or return values, which are crucial for an AI agent to use the tool correctly in a browser automation context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'selector' fully documented in the schema as a Playwright selector. The description adds no additional meaning beyond this, such as examples or constraints, so it meets the baseline of 3 where the schema handles parameter documentation adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Click an element') and resource ('on the page'), specifying the mechanism ('using Playwright selector'). It distinguishes from sibling tools like browser_mouse_click by mentioning Playwright selectors, though it doesn't explicitly contrast with all alternatives like browser_press_key for keyboard interactions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when clicking elements via Playwright selectors, with a reference to browser_docs for details, but doesn't explicitly state when to use this tool versus alternatives like browser_mouse_click or browser_press_key. It provides some context but lacks clear exclusions or comparative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_close_pageA
Close a browser page (tab) (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
| index | No | The index of the page to close. If not provided, closes current page. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the action ('close') which implies a destructive operation, but doesn't clarify what happens after closure (e.g., whether browser focus shifts, if data is lost, or if this affects session state). The reference to 'browser_docs' suggests additional context exists elsewhere, but the description itself lacks critical behavioral details for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single sentence that states the core purpose with no wasted words. The parenthetical '(tab)' adds useful clarification without verbosity, and the reference to 'browser_docs' is appropriately brief. Every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with no annotations and no output schema, the description is minimally adequate. It states what the tool does but lacks important context about consequences, error conditions, or what happens after closure. The reference to 'browser_docs' suggests additional documentation exists, but the description itself doesn't provide complete standalone guidance for safe tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents the single parameter. The description adds no parameter-specific information beyond what's in the schema, but with only one parameter that's well-documented in the schema, this is acceptable. The baseline for high schema coverage is 3, but with zero parameters explicitly mentioned in the description and only one total parameter, a 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('close a browser page (tab)') and resource ('browser page'), with the parenthetical '(tab)' providing helpful clarification. It distinguishes this tool from all sibling tools, as no other tool performs page closing operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. While it references 'browser_docs' for additional information, this is not explicit usage guidance within the description itself. There's no mention of prerequisites, consequences, or relationship to tools like browser_list_pages or browser_new_page.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_console_clearB
Clear all captured console logs and stop listening (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool clears logs and stops listening, which are behavioral traits. However, it lacks details on permissions needed, whether the action is reversible, error conditions, or what happens if no logs are captured. For a tool with no annotations, this is a significant gap in 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's action ('clear all captured console logs and stop listening') and includes a reference for further documentation ('see browser_docs'). It is front-loaded with the core purpose and has zero wasted words, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 0 parameters, no annotations, and no output schema, the description provides the basic purpose and effect. However, it lacks details on behavioral aspects like error handling or side effects, and the reference to 'browser_docs' suggests incomplete self-containment. For a simple tool with no structured data, the description is adequate but leaves gaps in full context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100% (since there are no parameters to describe). The description doesn't need to add parameter semantics, and it appropriately doesn't mention any. Baseline for 0 parameters is 4, as the description focuses on the tool's action without unnecessary parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with the verb 'clear' and the resource 'captured console logs', and mentions 'stop listening' as an additional effect. It distinguishes from sibling 'browser_console_get' (which retrieves logs) and 'browser_console_start' (which starts listening), but doesn't explicitly contrast with all siblings. The reference to 'browser_docs' provides context but doesn't fully differentiate within the tool description itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after capturing logs via 'browser_console_start' or similar, as it mentions 'captured console logs' and 'stop listening'. However, it doesn't explicitly state when to use this tool versus alternatives (e.g., when to clear vs. get logs) or provide exclusions. The reference to 'browser_docs' suggests additional guidance exists elsewhere, but within the description, guidance is only implied.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Optional filter by log level: "log", "error", "warn", "info", "debug", or "all" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that logs are captured since a specific starting point, which is useful behavioral context. However, it doesn't mention whether this operation is read-only, what format the logs are returned in, or if there are any limitations (e.g., memory constraints or pagination). The description adds some value but leaves gaps in behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core functionality. The parenthetical reference to browser_docs is brief and relevant. There's no wasted verbiage or redundancy, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (retrieving captured logs with filtering), no annotations, and no output schema, the description is minimally adequate. It explains what the tool does and its prerequisite (browser_console_start), but doesn't cover return format, error conditions, or behavioral nuances. This leaves the agent with incomplete context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'filter' parameter fully documented (including enum values and optionality). The description doesn't add any parameter-specific information beyond what the schema provides. According to the rules, when schema coverage is high (>80%), the baseline score is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get all captured console logs since browser_console_start was called.' It specifies the verb ('Get'), resource ('captured console logs'), and temporal scope ('since browser_console_start was called'). However, it doesn't explicitly differentiate from sibling tools like browser_console_clear, which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: after browser_console_start has been called. It references browser_docs for additional guidance. However, it doesn't explicitly state when not to use it or name alternatives (e.g., browser_console_clear for clearing logs), so it falls short of a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_console_startA
Start capturing browser console logs (console.log, console.error, console.warn, etc.) (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
| level | No | Optional filter for log level: "log", "error", "warn", "info", "debug", or "all" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the tool starts capturing logs and mentions specific log types, but doesn't describe behavioral traits like whether capture continues across page navigation, if it requires specific browser state, what happens if already capturing, or how to stop capturing. The reference to 'browser_docs' hints at more context but isn't self-contained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose. The parenthetical examples and reference to documentation are useful additions, though the 'etc.' could be slightly vague. Overall, it's appropriately sized with minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description provides basic purpose but lacks completeness for a tool that initiates a stateful process. It doesn't cover important aspects like how to retrieve captured logs (hinted via sibling browser_console_get), stopping mechanisms, or error conditions. The reference to 'browser_docs' partially mitigates but doesn't make the description self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'level' fully documented in the schema including its optional nature, type, description, and enum values. The description adds no parameter-specific information beyond what the schema provides, so it meets the baseline for high schema coverage without adding extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Start capturing') and resource ('browser console logs'), with explicit examples of what's captured (console.log, console.error, console.warn, etc.). It distinguishes from siblings like browser_console_clear and browser_console_get by focusing on initiation rather than clearing or retrieving logs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when console log capture is needed, but lacks explicit guidance on when to use this tool versus alternatives. It references 'browser_docs' for more information, which suggests additional context exists elsewhere, but doesn't provide direct when/when-not instructions or name specific alternatives.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | Selector for the audio/video element | |
| action | Yes | ||
| value | No | Value for seek action (time in seconds) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool controls media elements but doesn't describe what happens if the selector fails, whether actions are synchronous, if there are side effects (e.g., UI changes), or error conditions. The mention of 'see browser_docs' hints at more info elsewhere but doesn't add transparency directly in the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise—a single sentence that states the purpose and references documentation. It's front-loaded with the core functionality. However, the parenthetical reference to browser_docs adds minor clutter without providing immediate value, slightly reducing efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is minimally adequate. It states what the tool does but lacks details on behavior, error handling, or integration with siblings. The reference to browser_docs suggests more context exists externally, but the description itself is incomplete for standalone use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67% (2 out of 3 parameters have descriptions). The description adds no parameter-specific information beyond what's in the schema—it doesn't explain selector syntax, action details, or value usage. With moderate schema coverage, the baseline is 3, as the schema does most of the work but the description doesn't compensate for the 33% gap (the 'action' parameter lacks a schema description).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Control a media element (play, pause, seek, mute)' with a specific verb ('control') and resource ('media element'). It distinguishes from siblings like browser_get_media_summary (which reads media info) and browser_start_video_recording (which records media). However, it doesn't explicitly differentiate from all siblings, just implies it's for control rather than reading/recording.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions 'see browser_docs' for more information, but this is not explicit usage guidance. There's no mention of prerequisites (e.g., needing a media element present), exclusions, or comparisons to similar tools like browser_get_media_summary for reading media state.
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
| Name | Required | Description | Default |
|---|---|---|---|
| toolName | Yes | Name of the tool to get docs for (e.g., browser_navigate, browser_get_audio_analysis) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While it mentions what information is returned (documentation, return values, examples, caveats), it doesn't describe important behavioral aspects like whether this is a read-only operation, what format the documentation comes in, whether there are rate limits, or what happens if an invalid tool name is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads all key information. Every word earns its place by specifying what the tool provides and for what scope. There's zero waste or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter lookup tool with no output schema, the description provides adequate but minimal context. It tells what information will be returned but doesn't address format, structure, or error conditions. Given the complexity of browser tools and the lack of output schema, more detail about the return format would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with the single parameter 'toolName' well-documented in the schema. The description doesn't add any additional parameter semantics beyond what the schema already provides (e.g., format examples, validation rules, or special considerations for tool name selection).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('Get detailed documentation, return values, examples, and caveats') and identifies the resource ('any browser tool'). It distinguishes itself from all sibling tools which perform browser operations rather than providing documentation about them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context - when you need documentation for browser tools - but doesn't explicitly state when to use this versus alternatives (like reading general documentation or trial-and-error). It provides no guidance on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_evaluateB
Execute JavaScript in the browser context (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | JavaScript code to execute |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but lacks critical details: it doesn't mention whether this executes in a specific page context, what permissions or prerequisites are needed, if there are security implications, rate limits, or what happens on errors. For a tool that executes arbitrary code, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose. The parenthetical reference to 'browser_docs' adds context without clutter. However, it could be more front-loaded by explicitly mentioning key constraints or use cases upfront.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of executing JavaScript in a browser (with potential side effects, security risks, and context dependencies), the description is incomplete. With no annotations, no output schema, and minimal behavioral details, it fails to provide sufficient context for safe and effective use. The reference to 'browser_docs' hints at more information but doesn't compensate for the gaps in the description itself.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'code' parameter clearly documented as 'JavaScript code to execute'. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline of 3 for adequate but not enhanced parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Execute JavaScript') and context ('in the browser context'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like browser_console_get or browser_get_dom that might also involve JavaScript execution or browser interaction, making it less than fully distinctive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for executing JavaScript in a browser, but provides no explicit guidance on when to use this tool versus alternatives like browser_console_get for console output or browser_get_dom for DOM manipulation. The reference to 'browser_docs' suggests additional context might be available, but this isn't elaborated in the description itself.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | Playwright selector for the element |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It states the action but doesn't disclose what 'focus' entails (e.g., UI effects, interaction readiness, error handling), nor does it mention side effects, permissions, or performance implications. The reference to 'browser_docs' suggests missing details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with a single sentence, front-loading the core action. However, it relies on an external reference ('browser_docs'), which reduces self-sufficiency. No wasted words, but it may be overly terse for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a vague description, this is incomplete for a tool that performs an interactive browser action. The description fails to explain what 'focus' does, its outcomes, or error conditions, leaving significant gaps for an AI agent to understand and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the 'selector' parameter fully documented in the schema. The description adds no additional meaning about the parameter beyond what the schema provides, such as selector syntax examples or constraints. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action ('Focus an element') but is vague about what 'focus' means in this browser automation context. It references 'browser_docs' for details, which suggests the description alone is insufficient. It doesn't clearly differentiate from sibling tools like 'browser_click' or 'browser_hover' that also interact with elements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The mention of 'browser_docs' implies external documentation is needed, but the description itself lacks any context about appropriate use cases, prerequisites, or comparisons to sibling tools like 'browser_hover' or 'browser_select'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_get_audio_analysisC
Analyze audio output for a duration to detect sound vs silence and frequencies (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
| durationMs | No | Duration to analyze in ms | |
| selector | No | Optional selector to specific media element |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers limited behavioral insight. It mentions what gets analyzed (sound vs silence, frequencies) but doesn't disclose critical behaviors: whether this requires specific permissions, how results are returned, if it's blocking/non-blocking, error conditions, or performance implications. The reference to 'browser_docs' suggests more information exists elsewhere but isn't self-contained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately brief (one sentence plus reference) and front-loaded with the core purpose. However, the parenthetical '(see browser_docs)' feels tacked on rather than integrated, and the single sentence could be more structured with clearer separation of analysis goals.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 2 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what the analysis returns (format, structure, units), doesn't mention error cases or limitations, and relies on external documentation. Given the complexity of audio analysis and lack of structured output documentation, more self-contained information would be valuable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents both parameters (durationMs and selector). The description adds no additional parameter semantics beyond what's in the schema - it doesn't explain typical duration values, selector syntax examples, or how these parameters affect the analysis. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Analyze audio output for a duration to detect sound vs silence and frequencies'. It specifies the resource (audio output) and the action (analyze to detect sound/silence/frequencies). However, it doesn't explicitly differentiate from sibling tools like 'browser_get_media_summary' or 'browser_control_media', which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance with 'see browser_docs' reference, but offers no explicit when-to-use instructions, no when-not-to-use warnings, and no alternatives among the many browser sibling tools. It lacks context about prerequisites or typical scenarios for audio analysis versus other media tools.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| selector | No | Optional selector to get DOM of specific element |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions getting DOM structure or element data but lacks behavioral details such as whether it returns raw HTML, a parsed object, error handling for invalid selectors, or performance implications. The reference to browser_docs suggests missing information, making it insufficient for a mutation-free read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded, stating the core functionality in one sentence. However, the reference to browser_docs adds a dependency that might reduce self-contained clarity, slightly affecting efficiency. Overall, it's concise with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete. It doesn't explain return values (e.g., format of DOM data), error conditions, or how it differs from other browser tools. For a tool with one parameter but undefined output, more context is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'selector' clearly documented as optional for getting DOM of a specific element. The description adds minimal value by implying the tool can get full DOM (when no selector) or specific element data (with selector), but this is largely redundant with the schema. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool gets DOM structure or element data, which provides a basic purpose. However, it's vague about what 'full DOM structure' means (e.g., HTML string, JSON representation) and doesn't differentiate from siblings like browser_get_text or browser_read_page that might retrieve similar content. It references browser_docs for details, which reduces clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The mention of browser_docs implies external documentation might contain usage details, but the description itself offers no context, prerequisites, or comparisons to sibling tools like browser_get_text for text extraction or browser_read_page for page content.
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)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes a read operation ('Get a summary'), which implies it's non-destructive, but it doesn't specify behavioral traits such as what the summary includes (e.g., counts, durations, formats), whether it requires a page to be loaded, or potential errors. For a tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise and front-loaded: 'Get a summary of all audio and video elements on the page (see browser_docs).' It uses a single, clear sentence that states the core purpose, with a brief reference for additional details. Every word earns its place, making it efficient and easy to understand.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (simple read operation with no parameters) and the absence of annotations and output schema, the description is minimally adequate. It states what the tool does but lacks details on output format, error conditions, or dependencies (e.g., needing a page loaded). For a tool with no structured output information, more context would be helpful, but it meets the basic threshold for a simple function.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, with 100% schema description coverage (since there are no parameters to describe). The description doesn't need to add parameter semantics, and it doesn't introduce any confusion. In such cases, a baseline of 4 is appropriate, as there's nothing to compensate for, and the description doesn't mislead about inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get a summary of all audio and video elements on the page.' It specifies the verb ('Get a summary'), resource ('audio and video elements'), and scope ('on the page'), which is clear and specific. However, it doesn't explicitly differentiate from sibling tools like 'browser_get_audio_analysis' or 'browser_get_dom', which might also relate to media or page content, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal usage guidance. It references 'browser_docs' for more information, implying that additional context might be found there, but it doesn't explicitly state when to use this tool versus alternatives (e.g., 'browser_get_audio_analysis' for detailed audio data or 'browser_get_dom' for broader page elements). Without clear when-to-use or when-not-to-use instructions, the guidance is insufficient.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | Playwright selector for the element |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the action ('Get text content') but lacks behavioral details such as what happens if the element isn't found (e.g., error handling), whether it requires a page to be loaded, or the format of the returned text. The reference to 'browser_docs' hints at more info but doesn't disclose traits directly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with a single sentence that states the purpose and references documentation. It's front-loaded with the core action, though the reference to 'browser_docs' could be seen as slightly extraneous if not integrated. Overall, it's efficient with minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a simple but action-oriented tool, the description is incomplete. It doesn't cover behavioral aspects like error cases or return values, and while concise, it relies on external docs ('browser_docs') for completeness, which isn't sufficient for standalone understanding by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'selector' parameter clearly documented as a 'Playwright selector for the element'. The description adds no additional parameter semantics beyond this, so it meets the baseline of 3 where the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool's purpose ('Get text content from an element') which is clear but vague about scope. It doesn't specify what type of element or context (e.g., web page, DOM), and while it references 'browser_docs' for details, it doesn't explicitly differentiate from sibling tools like 'browser_read_page' or 'browser_get_dom' that might also retrieve text or content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions 'see browser_docs' which implies additional documentation exists, but within the description itself, there's no explicit when-to-use, when-not-to-use, or named alternatives. This leaves the agent without 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_go_backB
Navigate back in history (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the action but doesn't describe what happens on success/failure, whether it waits for page load, if it's synchronous/asynchronous, or any error conditions. The reference to 'browser_docs' suggests additional documentation exists but isn't provided here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just 7 words, front-loading the core action ('Navigate back in history') with a brief reference to documentation. Every word serves a purpose with zero wasted verbiage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description provides the basic action but lacks important context about behavior, success conditions, and integration with other browser tools. The reference to 'browser_docs' acknowledges additional documentation exists but doesn't provide it inline, leaving gaps for an AI agent trying to use this tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the empty parameter set. The description doesn't need to explain parameters, and the baseline for this situation is 4. No additional parameter semantics are needed or provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Navigate back') and resource ('in history'), making the purpose immediately understandable. It distinguishes from sibling 'browser_go_forward' by specifying direction. However, it doesn't fully differentiate from other navigation tools like 'browser_navigate' or 'browser_reload' beyond the back action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It references 'browser_docs' for more information, but doesn't specify when back navigation is appropriate versus other navigation methods or what prerequisites exist (e.g., requires browser history to be available).
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)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the navigation action but doesn't describe what happens if there's no forward history (does it fail silently? return an error?), whether it waits for page load, or what the expected outcome is. The reference to 'browser_docs' suggests more information exists elsewhere, but the description itself lacks critical 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (8 words) and front-loaded with the core action. The parenthetical reference to documentation is efficient. However, the brevity comes at the cost of completeness, as noted in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a navigation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what happens on success/failure, whether it returns anything, or what errors might occur. The reference to 'browser_docs' acknowledges incompleteness but doesn't provide the needed information directly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the empty parameter set. The description doesn't need to add parameter information, and it correctly doesn't attempt to describe non-existent parameters. The baseline for 0 parameters with full schema coverage is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Navigate forward in history') and identifies the resource (browser history). It distinguishes from sibling 'browser_go_back' by specifying forward direction. However, it doesn't fully differentiate from other navigation tools like 'browser_navigate' or 'browser_reload' beyond the forward movement aspect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by referencing 'browser_docs' for more information, suggesting there are additional guidelines available elsewhere. However, it doesn't explicitly state when to use this tool versus alternatives like 'browser_navigate' for new URLs or 'browser_go_back' for backward navigation. The guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_health_checkB
Check if the browser is running and accessible on port 9222 (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool checks browser accessibility but doesn't disclose behavioral traits like what happens if the browser isn't running (e.g., error response, timeout), whether it's a read-only operation, or any rate limits. The description adds minimal context beyond the basic action, leaving gaps in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose and includes a reference for more information. It's front-loaded with the core action and wastes no words, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (0 parameters, no output schema, no annotations), the description is somewhat complete but could be more informative. It covers the basic check but lacks details on return values (e.g., success/failure indicators) or error handling, which would enhance completeness for a diagnostic tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description doesn't add parameter semantics, but that's appropriate here. A baseline of 4 is applied since the schema fully covers the absence of parameters, and the description doesn't need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Check if the browser is running and accessible on port 9222.' It specifies the verb ('Check') and resource ('browser'), making the action clear. However, it doesn't explicitly differentiate from sibling tools like 'browser_docs' (referenced) or other health/status tools that might exist, which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by mentioning port 9222 and referencing 'browser_docs' for more details, suggesting it's for verifying browser connectivity. However, it lacks explicit guidance on when to use this tool versus alternatives (e.g., other browser tools for diagnostics) or any prerequisites, leaving usage context somewhat vague.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_hoverC
Hover over an element (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | Playwright selector for the element |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The description only states the action without any details on effects, prerequisites (e.g., requires a loaded page), side effects, or response behavior. This is inadequate for a tool that interacts with a browser, leaving significant gaps in understanding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief and front-loaded with the core action, which is efficient. However, the parenthetical reference to 'browser_docs' adds minimal value without context, slightly reducing conciseness. Overall, it is appropriately sized with little waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It does not explain what happens after hovering (e.g., triggers events, returns success/failure) or any dependencies, making it insufficient for safe and effective use in a browser automation context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'selector' parameter fully documented as a 'Playwright selector for the element'. The description adds no additional meaning beyond this, so it meets the baseline of 3 where the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Hover over an element' clearly states the action (hover) and target (an element), which is a specific verb+resource. However, it does not distinguish this tool from sibling tools like 'browser_mouse_move' or 'browser_focus', which might have overlapping functionality, leaving the purpose somewhat vague in context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It references 'browser_docs' for more information, but this is not explicit usage advice. Without clear context or exclusions, the agent lacks direction on appropriate scenarios for hovering.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_list_pagesC
List all open browser pages (tabs) (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what the tool does but lacks critical behavioral details: it doesn't specify if this requires an active browser instance, what the output format looks like (e.g., list of page IDs or titles), or if it's a read-only operation. The reference to 'browser_docs' hints at more info but doesn't 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a single sentence, but the parenthetical reference to 'browser_docs' adds minor clutter without providing immediate value. It's front-loaded with the core action, but could be slightly more polished by integrating the reference more smoothly or omitting it if not essential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., a list of page objects with IDs/URLs), which is crucial for an agent to use the output effectively. The reference to 'browser_docs' suggests additional context exists but isn't provided here, leaving gaps in understanding the tool's behavior and results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%, so there are no parameters to document. The description appropriately doesn't discuss parameters, which is correct for a parameterless tool. A baseline of 4 is applied as it meets expectations without unnecessary elaboration.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('List') and resource ('all open browser pages (tabs)'), making it immediately understandable. It doesn't explicitly differentiate from sibling tools like 'browser_switch_page' or 'browser_close_page', but the action is distinct enough that confusion is unlikely.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. While it references 'browser_docs' for more information, this is not explicit usage advice. There's no mention of prerequisites, such as needing an active browser session, or when to choose this over other page-related tools.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | Optional X coordinate | |
| y | No | Optional Y coordinate | |
| button | No | left, right, or middle | left |
| clickCount | No | 1 for single click, 2 for double click |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions clicking at coordinates or current position but lacks details on behavioral traits such as whether this requires a focused browser page, what happens if coordinates are invalid, if it's synchronous/asynchronous, or error handling. The reference to 'browser_docs' hints at external documentation but doesn't disclose key behaviors directly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently states the tool's function and references external docs. It's front-loaded with the core action, but the reference to 'browser_docs' could be seen as slightly extraneous if not integrated into the main explanation. Overall, it's concise with little waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a tool with potential side effects (mouse interaction), the description is incomplete. It doesn't cover return values, error conditions, prerequisites (e.g., an active browser page), or how it interacts with other tools. The reference to external docs doesn't compensate for these gaps in the description itself.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters (x, y, button, clickCount) with descriptions and defaults. The description adds minimal value by implying coordinate usage but doesn't provide additional semantics beyond what the schema specifies, such as coordinate systems or interaction effects.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool's purpose as clicking the mouse at specific coordinates or on current position, which is clear but vague about the context (e.g., in a browser). It distinguishes from sibling 'browser_click' by specifying mouse actions, but doesn't fully differentiate from other mouse-related tools like 'browser_mouse_move' or 'browser_mouse_drag' in terms of when to use each.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives like 'browser_click' or other mouse tools. It references 'browser_docs' for more information, but this is an external reference rather than direct usage instructions. No context or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_mouse_dragC
Drag from one position to another (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
| fromX | Yes | Starting X coordinate | |
| fromY | Yes | Starting Y coordinate | |
| toX | Yes | Ending X coordinate | |
| toY | Yes | Ending Y coordinate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. 'Drag from one position to another' implies a mouse interaction that likely involves pressing, moving, and releasing, but doesn't specify whether this simulates a click-and-drag, what mouse button is used, whether it's a continuous drag or instant teleport, or what visual/UI effects occur. The reference to browser_docs suggests behavioral details are documented elsewhere, but the description itself lacks critical 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise with just one sentence plus a parenthetical reference. The description is front-loaded with the core action. However, the reference to 'browser_docs' feels like a cop-out rather than integrated information, slightly reducing efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mouse interaction tool with 4 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (success/failure? screenshot?), what side effects occur (does it wait for animations?), or provide enough context about the drag behavior. The reference to external documentation acknowledges the gap but doesn't fill it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all four parameters (fromX, fromY, toX, toY) clearly documented in the schema as coordinate values. The description adds no additional parameter semantics beyond what's in the schema, but since schema coverage is high (>80%), the baseline score of 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Drag from one position to another' states the action (drag) but is vague about the resource/context. It mentions 'see browser_docs' which suggests additional documentation is needed, but doesn't specify what exactly gets dragged (mouse cursor? elements?). It distinguishes from siblings like browser_mouse_click and browser_mouse_move by indicating a drag operation rather than click or move.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The reference to 'browser_docs' implies documentation exists elsewhere, but the description itself provides no context about appropriate use cases, prerequisites, or when to choose this over similar mouse interaction tools like browser_mouse_click or browser_hover.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | X coordinate | |
| y | Yes | Y coordinate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the action but lacks behavioral details: e.g., whether it moves instantly or with animation, if it requires a page to be focused, what happens if coordinates are out of bounds, or if it triggers events. The reference to 'browser_docs' suggests incomplete disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence that states the purpose efficiently. However, the parenthetical reference to 'browser_docs' adds a dependency that may reduce clarity if not accessible. It's front-loaded but could be more self-contained.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is minimal. It covers the basic action but lacks details on behavior, usage context, or expected outcomes. The reference to external docs suggests it's incomplete for standalone use, especially in a complex browser automation context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear parameter descriptions for 'x' and 'y' as coordinates. The description adds no additional parameter semantics beyond what the schema provides, such as coordinate systems or units. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action ('Move the mouse') and target ('to specific coordinates'), which is clear but basic. It doesn't distinguish from siblings like 'browser_mouse_click' or 'browser_hover', which are related mouse operations. The reference to 'browser_docs' suggests incomplete information in the description itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like 'browser_mouse_click' or 'browser_hover'. The description implies it moves the mouse without clicking, but doesn't specify use cases or prerequisites. The reference to external docs ('see browser_docs') hints at missing context.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| deltaX | Yes | Horizontal scroll amount | |
| deltaY | Yes | Vertical scroll amount |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. However, it only mentions scrolling and refers to documentation without detailing behavioral traits such as effects on the page, potential side effects, or interaction with other browser tools. This leaves the agent with no actionable behavioral insights.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a single sentence, but it's under-specified rather than efficiently informative. The reference to 'browser_docs' adds structure by pointing to external resources, but the front-loaded information is minimal, making it less effective as a standalone guide.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of browser interaction tools and the lack of annotations and output schema, the description is incomplete. It fails to provide sufficient context for safe and effective use, such as how scrolling interacts with page elements or what to expect in terms of behavior, leaving significant gaps in understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with clear definitions for deltaX and deltaY as horizontal and vertical scroll amounts. The description adds no parameter semantics beyond what the schema provides, so it meets the baseline of 3, as the schema adequately handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Scroll the mouse wheel (see browser_docs)' states the action but is vague about the scope and lacks specificity. It mentions a sibling tool (browser_docs) for reference but doesn't differentiate from other scrolling tools like 'browser_scroll', leaving the purpose unclear. This is borderline tautological as it essentially restates the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance by referencing 'browser_docs', implying that more details are available elsewhere, but it doesn't explicitly state when to use this tool versus alternatives like 'browser_scroll'. There's no clear context or exclusions provided, making it insufficient for informed usage decisions.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| offline | Yes | Emulate offline mode | |
| latency | Yes | Round-trip latency in ms | |
| downloadThroughput | Yes | Download speed in bytes/second (-1 for unlimited) | |
| uploadThroughput | Yes | Upload speed in bytes/second (-1 for unlimited) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool emulates/throttles network conditions, implying a mutation that affects browser behavior, but doesn't disclose whether this is reversible, persistent across page navigation, requires specific permissions, or has side effects. The reference to external docs ('see browser_docs') shifts responsibility away from 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose. However, the parenthetical '(see browser_docs)' is extraneous if the description should be self-contained, slightly reducing conciseness. Overall, it's appropriately sized with minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what happens after emulation (e.g., how to revert changes), error conditions, or typical return values. The reference to external docs suggests the description alone is insufficient for an agent to use the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear parameter descriptions in the schema (e.g., 'Round-trip latency in ms', 'Download speed in bytes/second (-1 for unlimited)'). The tool description adds no parameter information beyond what's in the schema, so it meets the baseline of 3 for high schema coverage without adding value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool 'Emulate network conditions (throttling)', which provides a clear verb ('Emulate') and resource ('network conditions'), but it's somewhat vague about scope and doesn't differentiate from sibling tools like browser_net_start_monitoring or browser_net_get_requests. The parenthetical '(throttling)' adds specificity but the reference to 'browser_docs' suggests incomplete self-containment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., needing an active browser page), typical use cases (e.g., testing slow network performance), or how it relates to sibling network tools like browser_net_start_monitoring. The agent must infer usage from context alone.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| includeContent | No | Include response bodies (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool exports a log, implying a read operation, but does not specify if this requires active monitoring, permissions, or affects browser state. It lacks details on output format, size limits, or performance impact, leaving gaps in behavioral understanding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and easy to understand, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (exporting network logs), no annotations, and no output schema, the description is somewhat incomplete. It covers the basic action but lacks details on behavioral traits, usage context, and output specifics, leaving the agent with insufficient information for optimal use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with one parameter ('includeContent') fully documented in the schema. The description does not add any parameter-specific information beyond what the schema provides, so it meets the baseline of 3 for high schema coverage without extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Export') and resource ('full network activity log in HAR format'), making the purpose evident. However, it does not explicitly differentiate from sibling tools like 'browser_net_get_requests' or 'browser_net_start_monitoring', which might also involve network activity, so it lacks sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as 'browser_net_get_requests' for real-time monitoring or 'browser_net_start_monitoring' for ongoing logging. It mentions 'see browser_docs' for more info, but this is not explicit usage advice within the description itself.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter by URL substring |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions 'captured network requests' and 'timing breakdown,' which hints at read-only behavior and data format, but lacks details on prerequisites (e.g., requires prior monitoring), rate limits, or what 'captured' entails. This leaves significant behavioral gaps for a tool that likely interacts with 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core functionality ('Get captured network requests with timing breakdown') and includes a concise reference to documentation. There is no wasted verbiage, making it highly structured and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a tool that likely returns complex data (network requests with timing), the description is insufficient. It doesn't explain the return format, data scope, or dependencies (e.g., needing browser_net_start_monitoring first). For a tool in this context, more completeness is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the single parameter 'filter' documented as 'Filter by URL substring.' The description adds no additional parameter semantics beyond this, so it meets the baseline of 3 where the schema handles the heavy lifting without extra value from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('captured network requests') with a specific feature ('timing breakdown'), making the purpose understandable. It distinguishes from siblings like browser_net_export_har or browser_net_get_websocket_frames by focusing on captured requests with timing, but doesn't explicitly contrast them, keeping it at a 4.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives is provided. The reference to 'browser_docs' implies documentation exists but isn't integrated into the description itself. Without clear context or exclusions, the agent must infer usage from the name and description alone.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes | Request ID from network monitoring |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'inspecting real-time communication,' hinting at a read-only operation for monitoring, but fails to disclose critical behavioral traits such as whether this requires prior network monitoring setup (e.g., via browser_net_start_monitoring), potential rate limits, output format, or error conditions. The reference to 'browser_docs' suggests missing details, leaving gaps in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded: a single sentence that directly states the tool's purpose, followed by a brief reference to external documentation. There is no wasted language or redundancy, making it efficient for quick understanding, though it may lack depth.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (involving WebSocket frames and network inspection), lack of annotations, and no output schema, the description is incomplete. It omits essential context such as prerequisites (e.g., needing active network monitoring), expected output format, and how it integrates with sibling tools like browser_net_start_monitoring. The reference to 'browser_docs' hints at missing information, but the description itself does not provide a self-contained understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'requestId' documented as 'Request ID from network monitoring.' The description adds no additional parameter semantics beyond this, as it doesn't explain the source or format of requestId. Given the high schema coverage, the baseline score of 3 is appropriate, as the schema adequately handles parameter documentation without extra value from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get WebSocket frames for inspecting real-time communication.' It specifies the verb ('Get'), resource ('WebSocket frames'), and high-level goal ('inspecting real-time communication'). However, it doesn't explicitly differentiate from sibling tools like browser_net_get_requests, which might also retrieve network data but for different protocols or formats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance: it references 'browser_docs' for more information, implying that usage details are elsewhere, but offers no explicit when-to-use criteria, prerequisites, or alternatives. Without consulting external docs, an agent lacks clear context on when to choose this tool over other network-related siblings like browser_net_get_requests.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| patterns | Yes | URL patterns to block (e.g., ["*.jpg", "*analytics*"]) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers limited behavioral insight. It states the blocking action but doesn't disclose critical traits like whether this is a persistent setting, requires specific browser states, affects performance, or has side effects on other tools. The reference to 'browser_docs' hints at more info but doesn't compensate for the lack of direct disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence) and front-loaded with the core action, avoiding unnecessary words. However, the brevity comes at the cost of completeness, as it relies on an external reference ('browser_docs') without integrating key details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (blocking network requests) and lack of annotations or output schema, the description is incomplete. It doesn't explain what 'block' entails (e.g., immediate effect, error handling), return values, or integration with sibling tools like 'browser_net_start_monitoring', leaving significant gaps for agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the 'patterns' parameter well-documented in the schema (including examples like '*.jpg'). The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline score of 3 without adding value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Block') and resource ('requests matching URL patterns'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'browser_net_start_monitoring' or 'browser_net_get_requests', which reduces clarity about its unique role in the browser_net family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance, only referencing 'browser_docs' for details on URL patterns without specifying when to use this tool versus alternatives. There's no mention of prerequisites, context (e.g., after starting monitoring), or exclusions, leaving the agent to infer usage from sibling tool names alone.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| patterns | No | URL patterns to monitor (default: all) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool starts monitoring with detailed timing, which implies a stateful, ongoing operation, but fails to disclose critical behavioral traits: whether it requires an active browser session, if it runs in the background, how to access monitored data (likely via 'browser_net_get_requests'), or any side effects like performance impact. The mention of 'detailed timing' adds some value but is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief (one sentence) but not optimally structured. It front-loads the core action but includes a vague reference to 'browser_docs' that adds little immediate value. While concise, it could be more informative by integrating key usage details directly, making it somewhat under-specified rather than efficiently packed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of starting a monitoring operation with no annotations and no output schema, the description is incomplete. It lacks essential context: how the monitoring works, what data is produced, how to stop it (via 'browser_net_stop_monitoring'), or dependencies on other tools. For a state-initiating tool in a rich sibling set, this leaves significant gaps for an AI agent to operate effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the 'patterns' parameter fully documented in the schema as 'URL patterns to monitor (default: all)'. The description adds no additional parameter information beyond what the schema provides, such as syntax examples or timing details. With high schema coverage, the baseline score of 3 is appropriate, as the description does not compensate but also does not detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Start monitoring network requests') and the resource ('network requests'), specifying it includes 'detailed timing'. It distinguishes itself from siblings like 'browser_net_get_requests' by indicating it initiates monitoring rather than retrieving data. However, it lacks explicit differentiation from 'browser_net_stop_monitoring' beyond the verb, and the reference to 'browser_docs' is vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., needing an active browser page), exclusions, or comparisons to siblings like 'browser_net_get_requests' or 'browser_net_stop_monitoring'. The reference to 'browser_docs' implies external documentation but does not offer direct 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_stop_monitoringB
Stop network monitoring and clear request log (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses two behavioral traits: stopping monitoring and clearing logs. However, it doesn't mention important aspects like whether this is reversible, what permissions are needed, error conditions, or what happens to ongoing requests. The reference to 'browser_docs' suggests more information exists elsewhere but isn't provided here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core action and effect. The parenthetical reference to 'browser_docs' adds helpful context without being verbose. However, it could be slightly more front-loaded by making the main action more prominent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a mutation tool (stops monitoring and clears logs) with no annotations and no output schema, the description should provide more behavioral context. While it states what the tool does, it doesn't cover important aspects like side effects, error handling, or what confirmation/response to expect. The reference to documentation helps but doesn't substitute for a complete description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the schema already fully documents the lack of inputs. The description appropriately doesn't waste space discussing parameters. A baseline of 4 is appropriate for zero-parameter tools where the schema handles documentation completely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with the verb 'Stop' and resource 'network monitoring', and adds 'clear request log' as an additional effect. It distinguishes from sibling 'browser_net_start_monitoring' by being the opposite action. However, it doesn't fully differentiate from other monitoring-related tools like '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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by referencing 'browser_docs' for more information, suggesting this should be used when network monitoring needs to be terminated. However, it doesn't explicitly state when to use this tool versus alternatives or what prerequisites exist (e.g., must monitoring be started first?).
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)
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Optional URL to navigate to |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool opens a new page/tab and optionally navigates to a URL, but doesn't disclose behavioral traits like: whether this requires specific permissions, if the page becomes active/focused, what happens if the URL is invalid, if there are rate limits, or what the return value is (since no output schema). The description is too basic for a mutation tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (one sentence plus a reference) and front-loaded with the core purpose. However, the parenthetical '(see browser_docs)' adds little value without context and could be considered slightly wasteful, as it doesn't explain what the docs contain. Overall, it's efficient but not perfectly structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a mutation tool that opens new browser pages), lack of annotations, and no output schema, the description is incomplete. It doesn't cover important aspects like error conditions, return values, focus behavior, or interaction with sibling tools (e.g., browser_switch_page). The reference to 'browser_docs' is insufficient without elaboration, leaving significant gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage (the 'url' parameter is documented as 'Optional URL to navigate to'), so the baseline is 3. The description doesn't add any meaningful parameter semantics beyond what the schema provides—it only mentions 'see browser_docs' without explaining URL formats, defaults, or constraints. Thus, it meets the minimum but doesn't enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Open a new browser page (tab)' with a specific verb ('Open') and resource ('new browser page/tab'). It distinguishes from siblings like browser_navigate (which navigates existing pages) and browser_list_pages (which lists pages). However, it doesn't explicitly differentiate from browser_switch_page (which switches between existing pages), so it's not a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance: it references 'browser_docs' for more information, but doesn't explicitly state when to use this tool versus alternatives. For example, it doesn't clarify if this should be used instead of browser_navigate for initial page opening or how it relates to browser_list_pages. No explicit when/when-not or alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_perf_get_heap_usageB
Get current JavaScript heap usage statistics (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves 'current' statistics, implying a read-only operation, but doesn't specify if it requires an active browser session, has side effects, or details the return format. For a tool with zero annotation coverage, this leaves 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function. It's front-loaded with the core purpose and includes a reference to documentation for further details. There's no wasted verbiage, though it could be slightly more self-contained.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 0 parameters and no output schema, the description is minimally adequate. It explains what the tool does but lacks details on behavioral context, return values, or integration with sibling tools. Without annotations or output schema, more completeness would be beneficial for a performance monitoring tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, focusing instead on the tool's purpose. A baseline of 4 is applied since the schema fully handles parameters, and the description doesn't add unnecessary details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get current JavaScript heap usage statistics'. It specifies the verb ('Get') and resource ('JavaScript heap usage statistics'), making the function unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'browser_perf_get_metrics' or 'browser_perf_get_performance_metrics', which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It references 'browser_docs' for more information, but this is not a direct usage instruction. There's no mention of prerequisites, context, or comparison with sibling performance tools, leaving the agent without clear selection 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_metricsB
Get runtime performance metrics (DOM nodes, event listeners, JS heap) (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states what metrics are retrieved but doesn't disclose behavioral traits like whether this requires an active browser session, if it's read-only/destructive, latency expectations, or error conditions. The mention of 'browser_docs' suggests additional context exists elsewhere, but the description itself is insufficient for behavioral understanding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose. The parenthetical examples and reference to 'browser_docs' add value without unnecessary elaboration. It could be slightly more structured by separating the reference, but overall it's appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for a performance metrics tool. It lists metric types but doesn't explain the return format, units, or how to interpret results. The reference to 'browser_docs' implies missing context, but the description alone doesn't provide enough information for effective tool use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, maintaining focus on the tool's purpose. A baseline of 4 is appropriate for zero-parameter tools when the description doesn't incorrectly mention parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get runtime performance metrics (DOM nodes, event listeners, JS heap)'. It specifies the verb ('Get') and the resource ('runtime performance metrics') with concrete examples. However, it doesn't explicitly differentiate from sibling tools like 'browser_perf_get_heap_usage' or 'browser_perf_get_performance_metrics', which appear to be related performance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions '(see browser_docs)' which might contain usage information, but the description itself lacks explicit when/when-not instructions or references to sibling tools. This leaves the agent without 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_perf_get_performance_metricsB
Get web vitals and navigation timing (FCP, LCP, CLS, TTFB) (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions what metrics are retrieved but fails to disclose behavioral traits such as whether this requires an active browser session, if it's read-only, potential latency, or error conditions. The reference to 'browser_docs' suggests additional info but isn't sufficient for transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, stating the core purpose in a single sentence with specific metrics listed. The reference to 'browser_docs' is brief but adds value. It avoids unnecessary elaboration, though it could be slightly more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 0 parameters and no output schema, the description is moderately complete for a simple retrieval tool, but lacks details on return format, error handling, or dependencies. Without annotations, it should provide more behavioral context to be fully adequate for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add param details, which is appropriate, but it could have mentioned if any implicit context (e.g., current page) is required. Baseline is high due to no parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('Get') and resources ('web vitals and navigation timing'), listing concrete metrics like FCP, LCP, CLS, and TTFB. It distinguishes from siblings by focusing on performance metrics, though it doesn't explicitly contrast with similar tools like 'browser_perf_get_metrics'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving performance data, with a reference to 'browser_docs' for more details, but lacks explicit guidance on when to use this tool versus alternatives like 'browser_perf_get_metrics' or other browser tools. It provides some context but no clear exclusions or comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_perf_start_coverageC
Start tracking CSS and JavaScript code coverage (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
| resetOnNavigation | No | Reset coverage on navigation (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states what the tool initiates ('tracking CSS and JavaScript code coverage') but doesn't explain what this tracking entails, how results are accessed, whether it affects browser performance, or what happens if called multiple times. The reference to external docs suggests missing operational details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief (one sentence) but not optimally structured. It front-loads the core action but includes a parenthetical reference to external documentation ('see browser_docs') that interrupts flow and suggests incompleteness. While concise, it could be more self-contained.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and behavioral complexity (starting performance tracking), the description is insufficient. It doesn't explain what 'tracking' produces, how to retrieve results, dependencies on other tools, or error conditions. The reference to external docs acknowledges gaps rather than filling them.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents the single parameter 'resetOnNavigation'. The description adds no parameter-specific information beyond what's in the schema, maintaining the baseline score of 3 for adequate but not enhanced parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Start tracking') and the resource ('CSS and JavaScript code coverage'), making the purpose immediately understandable. However, it doesn't differentiate this tool from its sibling 'browser_perf_stop_coverage' beyond the start/stop distinction, and the reference to 'browser_docs' suggests incomplete self-containment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives is provided. The description references 'browser_docs' for more information, implying external documentation is needed, but within the description itself there's no context about prerequisites, sequencing with other tools, or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_perf_start_profileC
Start CPU profiling to track JavaScript execution (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
| sampleInterval | No | Microseconds between samples (default: 100) |
TDQS
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 mentions starting CPU profiling but lacks details on permissions, side effects (e.g., performance impact), expected runtime, or how to stop profiling (hinting at 'browser_perf_stop_profile' but not explicitly). This leaves significant gaps in understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, stating the core purpose in a single sentence. The reference to 'browser_docs' is efficient for directing to external details. However, it could be slightly more structured by explicitly mentioning the parameter or linking to sibling tools.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of performance profiling and the lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., a profile ID or status), how to use the results, or interactions with other tools like 'browser_perf_stop_profile.' This leaves the agent with insufficient context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with one parameter ('sampleInterval') clearly documented. The description doesn't add any parameter-specific information beyond what the schema provides, such as typical values or effects. Given the high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't need to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Start CPU profiling to track JavaScript execution.' It specifies the action ('Start CPU profiling') and the resource/scope ('JavaScript execution'), making it easy to understand. However, it doesn't explicitly differentiate from sibling tools like 'browser_perf_stop_profile' or 'browser_perf_get_metrics,' 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal usage guidance. It references 'browser_docs' for more information, implying external documentation, but doesn't specify when to use this tool versus alternatives (e.g., 'browser_perf_start_coverage' or 'browser_perf_stop_profile') or any prerequisites. This leaves the agent with little context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_perf_stop_coverageC
Stop coverage and get results showing used vs unused code (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions that the tool 'get results showing used vs unused code,' which implies it returns coverage data, but it doesn't disclose behavioral traits like whether it requires prior coverage to be started, what format the results are in, or if it has side effects like stopping ongoing monitoring.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two clauses, but it's not optimally structured. The first part states the action and outcome clearly, but the second part 'see browser_docs' is a vague reference that doesn't add immediate value. It could be more front-loaded with essential usage information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a performance coverage tool with no annotations and no output schema, the description is incomplete. It doesn't explain what 'coverage' refers to, how results are structured, or dependencies like needing to start coverage first. The reference to 'browser_docs' suggests missing details that should be in the description itself.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameters need documentation. The description doesn't add parameter details, which is fine here. A baseline of 4 is appropriate since there are no parameters to explain, and the schema fully covers this aspect.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Stop coverage and get results showing used vs unused code.' It specifies the action (stop coverage) and the outcome (get results showing code coverage). However, it doesn't explicitly differentiate from its sibling 'browser_perf_start_coverage', which would be needed for a score of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance by referencing 'browser_docs' for more information, but it doesn't specify when to use this tool versus alternatives or prerequisites. There's no explicit context on when to invoke it, such as after starting coverage with 'browser_perf_start_coverage'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_perf_stop_profileC
Stop CPU profiling and get profile data (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions that the tool 'stops CPU profiling and gets profile data', which implies it's a read operation that terminates an ongoing process. However, it doesn't specify what happens if no profiling is active, whether this requires specific permissions, what format the profile data returns in, or any rate limits. The description adds minimal behavioral context beyond the basic operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a single sentence, but the parenthetical reference to 'browser_docs' feels like an afterthought rather than integrated guidance. While brief, it could be more front-loaded by integrating the documentation reference into the main sentence or providing more self-contained context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that stops an ongoing process and retrieves data, the description is incomplete. With no annotations and no output schema, the description doesn't explain what the profile data contains, what format it returns in, or what happens if profiling isn't active. The reference to external documentation ('browser_docs') acknowledges the incompleteness but doesn't compensate within the description itself.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the schema already fully documents the lack of parameters. The description appropriately doesn't add parameter information, which is correct for a parameterless tool. The baseline for 0 parameters is 4, as there's no need to compensate for missing parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool's purpose as 'Stop CPU profiling and get profile data', which is a clear verb+resource combination. However, it doesn't differentiate from sibling tools like 'browser_perf_stop_coverage' or explain what distinguishes this profiling operation from other performance tools. The reference to 'browser_docs' suggests additional context is needed elsewhere.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is provided about when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., that profiling must be started first with 'browser_perf_start_profile'), nor does it clarify when this should be used over other performance measurement tools. The reference to 'browser_docs' implies documentation exists elsewhere but isn't integrated into the description.
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_snapshotC
Capture heap snapshot for memory analysis (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
| reportProgress | No | Report progress events (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool captures a heap snapshot but doesn't describe what that entails—whether it's a blocking operation, how long it takes, memory implications, or what the output looks like. The reference to 'browser_docs' hints at external details, but the description itself lacks critical behavioral traits like performance impact or result format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, stating the core purpose in a single sentence. The reference to 'browser_docs' adds minimal bulk but could be considered slightly vague. Overall, it's efficient with no wasted words, though it lacks structural elements like bullet points or examples that might aid clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of capturing heap snapshots (a performance-intensive operation), the description is incomplete. With no annotations and no output schema, it fails to explain behavioral aspects like execution time, memory usage, or output format. The reference to 'browser_docs' suggests external resources, but the description itself doesn't provide enough context for safe or effective use by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with one parameter 'reportProgress' fully documented in the schema. The description adds no parameter-specific information beyond what the schema provides, such as examples or context for when to enable progress reporting. Since the schema does the heavy lifting, the baseline score of 3 is appropriate, though the description doesn't compensate or enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Capture') and resource ('heap snapshot'), and specifies it's for 'memory analysis'. It distinguishes from sibling tools like 'browser_perf_get_heap_usage' by focusing on snapshot capture rather than usage metrics. However, it doesn't explicitly differentiate from all siblings, and the reference to 'browser_docs' is vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It mentions 'see browser_docs' which implies external documentation, but within the description itself, there's no indication of prerequisites, timing, or comparison with sibling tools like 'browser_perf_get_heap_usage' or other performance tools. This leaves the agent without 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_press_keyC
Send a keyboard event (press a key) (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | The key to press (e.g., "Enter", "Escape", "Control+A") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the action ('Send a keyboard event') but lacks behavioral details such as whether it requires a focused element, if it simulates key down/up events, potential side effects, or error conditions. The reference to 'browser_docs' hints at external documentation but doesn't itself disclose traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, stating the core purpose in the first phrase. The parenthetical note and reference to browser_docs are brief but could be slightly more integrated. No wasted sentences, though it's minimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for a tool that performs an action in a browser context. It lacks details on behavior, prerequisites, return values, or error handling, which are critical for an AI agent to use it correctly without trial and error.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'key' fully documented in the schema. The description adds no additional meaning beyond what the schema provides (e.g., no examples beyond those in the schema, no context on key combinations). Baseline is 3 since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Send') and resource ('keyboard event'), explaining it presses a key. It distinguishes itself from siblings like browser_type (which types text) or browser_click (which clicks), but doesn't explicitly mention these distinctions in the description itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an active page), compare it to similar tools like browser_type, or specify scenarios where key presses are appropriate over other input methods.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_read_pageC
Read the content and metadata of the current page (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action 'Read' but doesn't clarify what 'content and metadata' includes, whether it's a read-only operation, potential side effects, or error conditions. This leaves significant gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and to the point, which is efficient. However, the parenthetical reference to 'browser_docs' adds a dependency without explaining its relevance, slightly reducing clarity. It's front-loaded with the core action but could be more self-contained.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of browser interactions and the lack of annotations and output schema, the description is insufficient. It doesn't explain what 'content and metadata' entails, the format of the return value, or how it integrates with other tools, 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, and since there are none, it meets the baseline for this dimension without requiring additional details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Read' and the resource 'content and metadata of the current page', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'browser_get_dom' or 'browser_get_text', which might also retrieve page content, so it falls short of a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance by referencing 'browser_docs' for more information, but it lacks explicit instructions on when to use this tool versus alternatives. There's no mention of prerequisites (e.g., needing an active page) or comparisons to siblings, leaving usage unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_reloadC
Reload the current page (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions reloading but doesn't disclose behavioral traits such as whether it waits for page load, handles errors, or affects browser state. The reference to 'browser_docs' hints at more info but doesn't add transparency directly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the action. It's front-loaded with the core purpose, though the parenthetical reference adds minor complexity. Overall, it's appropriately sized with minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a simple action with 0 parameters, the description is incomplete. It lacks details on behavior, error handling, or what 'reload' entails, making it insufficient for an agent to understand full implications without external docs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 0 parameters, and schema description coverage is 100%, so no parameter details are needed. The description doesn't add parameter semantics, but with zero parameters, the baseline is 4 as it adequately handles the lack of inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action ('Reload') and target ('the current page'), which is clear but vague about scope. It doesn't specify what 'reload' entails (e.g., refreshing content, resetting state) or differentiate from siblings like browser_navigate. However, it's not tautological and provides a basic purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a reference to 'browser_docs' for more information, implying external guidance, but offers no explicit when-to-use context. It doesn't clarify when to use this vs. alternatives like browser_navigate or browser_go_back, leaving usage ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_resize_windowC
Resize the browser window (useful for testing responsiveness) (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
| width | Yes | Window width in pixels | |
| height | Yes | Window height in pixels |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('Resize') but doesn't mention side effects (e.g., whether it affects page content, requires specific browser states, or has limitations like minimum/maximum sizes). The reference to 'browser_docs' suggests additional documentation exists, but the description itself lacks critical behavioral details for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the core purpose, followed by a parenthetical note on usefulness and a reference to documentation. It avoids redundancy and wastes no words, though the parentheticals slightly reduce structural clarity. Overall, it's efficient but could be more streamlined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (a mutation operation with two parameters), no annotations, and no output schema, the description is minimally adequate. It states what the tool does but lacks details on behavior, error conditions, or return values. The reference to 'browser_docs' hints at external completeness, but the description itself leaves gaps in contextual understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with clear definitions for 'width' and 'height' as pixels. The description adds no parameter-specific information beyond what the schema provides, such as valid ranges or units. Since the schema does the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Resize') and target ('the browser window'), with an additional context about its usefulness for testing responsiveness. It distinguishes from siblings like browser_screenshot or browser_navigate by focusing on window dimensions. However, it doesn't explicitly differentiate from all window-related tools (e.g., browser_focus or browser_switch_page), which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance by mentioning it's 'useful for testing responsiveness', which implies a testing context, but lacks explicit when-to-use instructions, prerequisites, or alternatives. No comparison to sibling tools is made, and it doesn't specify scenarios where this tool should be preferred over others, leaving the agent with insufficient direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_screenshotB
Take a screenshot of the current page (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
| fullPage | No | Capture full page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the action but doesn't disclose behavioral traits such as what format the screenshot returns (e.g., image data, file path), whether it requires specific permissions, if it's synchronous/asynchronous, or any side effects (e.g., pausing page interaction). The reference to 'browser_docs' hints at more info but isn't self-contained, leaving significant gaps for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the purpose, with no wasted words. It's front-loaded with the core action. The parenthetical reference to 'browser_docs' adds context without cluttering, though it could be slightly more integrated. Overall, it's appropriately sized for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a screenshot tool (which involves output format, potential errors, and interaction with browser state), the description is incomplete. No annotations or output schema exist, and the description doesn't cover return values, error conditions, or dependencies (e.g., needing an active page). The reference to 'browser_docs' suggests missing details, but as-is, it's inadequate for an agent to fully understand tool behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the parameter 'fullPage' clearly documented as 'Capture full page' with a default of false. The description adds no additional parameter semantics beyond what the schema provides, such as explaining what 'full page' entails or usage examples. With high schema coverage, the baseline is 3, as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Take a screenshot') and target ('of the current page'), providing a specific verb+resource. It distinguishes from siblings like browser_start_video_recording or browser_get_dom by focusing on static visual capture. However, it doesn't explicitly differentiate from potential screenshot alternatives that might exist in other contexts, keeping it at 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a screenshot is needed, with a reference to 'browser_docs' for more context, suggesting additional guidance exists elsewhere. It doesn't explicitly state when to use this vs. alternatives like browser_get_dom for text or browser_start_video_recording for dynamic capture, nor does it mention prerequisites (e.g., needing an open page). This provides some implied context but lacks explicit guidelines.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | Horizontal scroll position | |
| y | No | Vertical scroll position |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It fails to do so, offering no information on effects (e.g., whether scrolling is instant or animated), error conditions, or dependencies. The reference to 'browser_docs' does not compensate for this lack of transparency in 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief but under-specified, not conciseness. It consists of a single sentence with a parenthetical reference, which is efficient but lacks necessary detail. While not verbose, it fails to provide essential information, reducing its effectiveness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete. It does not explain what the tool returns, potential side effects, or how it interacts with the browser context. For a tool with two parameters and behavioral implications, this leaves significant gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear descriptions for 'x' and 'y' as horizontal and vertical scroll positions. The description adds no parameter semantics beyond this, so it meets the baseline of 3 where the schema handles documentation adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Scroll the page (see browser_docs)' restates the tool name 'browser_scroll' with minimal elaboration, making it tautological. It does not specify what type of scrolling (e.g., absolute positioning, relative movement) or distinguish it from sibling tools like browser_mouse_wheel, which might also scroll.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It references 'browser_docs' for more information, but this is not explicit usage advice. There is no mention of prerequisites, such as requiring an active page, or comparisons to other scrolling methods.
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)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states what the tool detects but doesn't disclose behavioral traits like whether it requires an active browser page, if it's a one-time check or continuous monitoring, what format the warnings come in, or any performance implications. The description is minimal and lacks operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose. The parenthetical clarification adds useful technical detail without redundancy. The reference to browser_docs is appropriately placed but could be considered slightly extraneous if not needed for basic understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of security detection and lack of annotations/output schema, the description is incomplete. It doesn't explain what the detection returns (e.g., list of warnings, count, details), whether it requires specific page states, or how it interacts with other browser tools. For a tool with potential behavioral nuances, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage (empty schema). The description doesn't need to explain parameters since none exist. Baseline for 0 parameters is 4, as there's nothing to compensate for and the description appropriately doesn't mention parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Detect mixed content warnings (HTTPS page loading HTTP resources)'. It specifies the verb ('detect') and resource ('mixed content warnings'), and provides a technical definition. However, it doesn't explicitly differentiate from sibling tools like browser_sec_get_csp_violations or browser_sec_get_security_headers, which also relate to security detection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a reference '(see browser_docs)', which implies there are additional usage guidelines in documentation, but doesn't provide explicit when-to-use guidance in the description itself. It doesn't specify when to use this versus other security tools or prerequisites for detection.
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)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves certificate details, implying a read-only operation, but doesn't clarify behavioral aspects such as whether it requires a loaded HTTPS page, what happens if no certificate is present, the format of returned details, or potential errors. This is a significant gap for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core functionality and includes a brief reference to documentation. Every part of the sentence earns its place, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (likely low to moderate for a certificate retrieval tool), no annotations, no output schema, and 0 parameters, the description is minimally adequate. It specifies the resource and scope but lacks details on behavior, output format, and usage context. The reference to 'browser_docs' suggests additional information is available elsewhere, but the description itself is incomplete for standalone use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and the input schema has 100% description coverage (though empty). The description doesn't need to add parameter semantics since there are none. A baseline score of 4 is appropriate as the description doesn't contradict the schema and the absence of parameters is straightforward.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get TLS/SSL certificate details for HTTPS sites.' It specifies the verb ('Get'), resource ('TLS/SSL certificate details'), and scope ('for HTTPS sites'), which is specific and actionable. However, it doesn't explicitly differentiate from sibling tools like 'browser_sec_get_security_headers' or 'browser_sec_get_csp_violations', which are also security-related tools in the same domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance by referencing 'browser_docs' for more information, but it doesn't explicitly state when to use this tool versus alternatives. There's no mention of prerequisites (e.g., needing an active browser page), exclusions (e.g., not for HTTP sites), or comparisons to sibling tools like 'browser_sec_get_security_headers'. This leaves the agent without 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_csp_violationsC
Get captured CSP violations (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'captured' violations, implying some monitoring must be active first, but doesn't clarify whether this requires browser_sec_start_csp_monitoring to be running, what format the violations are returned in, or whether this is a read-only operation. The description adds minimal behavioral context beyond the basic purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose. The parenthetical reference to external docs adds minimal clutter. However, it could be slightly more self-contained by clarifying what 'captured' means in this context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of security monitoring tools and lack of annotations or output schema, the description is insufficient. It doesn't explain the relationship with start/stop monitoring siblings, what data is returned, or any behavioral constraints. The reference to external documentation suggests the description itself is incomplete for standalone use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage. The description doesn't need to explain any parameters, and it correctly doesn't attempt to do so. The baseline for 0 parameters is 4, as there's no parameter information to add beyond what the schema already provides (which is complete).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool 'Get captured CSP violations' which provides a clear verb ('Get') and resource ('captured CSP violations'). However, it doesn't differentiate from sibling tools like browser_sec_start_csp_monitoring or browser_sec_stop_csp_monitoring, leaving the relationship unclear. The parenthetical '(see browser_docs)' suggests incomplete documentation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives is provided. The reference to 'browser_docs' implies external documentation might contain usage information, but the description itself offers no context about prerequisites, timing relative to monitoring tools, or appropriate use cases.
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_headersC
Inspect security-related HTTP headers (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions inspecting headers but doesn't disclose behavioral traits such as whether it requires an active browser page, what permissions are needed, if it's read-only or has side effects, or how it handles errors. The reference to 'browser_docs' suggests missing details, making it insufficient for safe and effective use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose. However, it includes a reference to 'browser_docs', which adds a dependency and slightly reduces self-contained clarity. Overall, it's front-loaded and wastes no words, but could be more complete without external references.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of security header inspection and lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns, how headers are presented, or any limitations. The reference to 'browser_docs' indicates reliance on external information, failing to provide enough context for standalone use by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here. A baseline of 4 is applied since the schema fully covers the absence of parameters, and the description doesn't need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool inspects security-related HTTP headers, which is a clear purpose, but it's vague about scope and mechanism. It references 'browser_docs' for details, suggesting incomplete information. It doesn't distinguish from siblings like 'browser_sec_get_certificate_info' or 'browser_sec_get_csp_violations', leaving ambiguity about what specific headers or security aspects it covers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives is provided. The mention of 'browser_docs' implies external documentation might contain usage details, but the description itself lacks context, prerequisites, or comparisons to sibling tools like other browser_sec_* functions. This leaves the agent without clear direction on appropriate scenarios.
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_monitoringC
Monitor Content Security Policy violations (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions monitoring but doesn't disclose behavioral traits like whether it starts a background process, requires prior setup, has side effects (e.g., consuming resources), or how violations are reported. The reference to 'browser_docs' hints at external info but doesn't add value in 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the purpose and references documentation. It's appropriately sized for a zero-parameter tool, with no wasted words, though it could be more self-contained without relying on external docs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for a monitoring tool. It lacks details on behavior (e.g., how monitoring works, output format, stopping mechanism via 'browser_sec_stop_csp_monitoring'), leaving gaps in understanding the tool's operation and results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter semantics, but with zero parameters, a baseline of 4 is appropriate as there's nothing to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool's purpose as 'Monitor Content Security Policy violations' which is clear but vague. It specifies the resource (CSP violations) but lacks detail about what monitoring entails (e.g., starting a monitoring session, real-time detection). It distinguishes from sibling 'browser_sec_get_csp_violations' (likely for fetching results) but not explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives is provided. The reference to 'browser_docs' implies documentation exists elsewhere, but the description itself offers no context, prerequisites, or exclusions for usage. This leaves the agent without direct instructions.
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_monitoringC
Stop CSP monitoring and clear violations (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It mentions 'clear violations' which implies a destructive action, but doesn't clarify if this is reversible, what permissions are needed, or what the expected outcome looks like. The description is minimal and lacks behavioral context beyond the basic operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence) and front-loaded with the core action. However, the parenthetical reference to 'browser_docs' feels like an afterthought rather than integrated guidance, slightly reducing effectiveness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that performs a potentially destructive action (clearing violations) with no annotations and no output schema, the description is inadequate. It doesn't explain what happens after stopping monitoring, what 'clear violations' means operationally, or what the agent should expect as a result. The reference to external documentation doesn't compensate for missing contextual information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the schema already fully documents the input requirements. The description appropriately doesn't discuss parameters since none exist, which is correct for this case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action ('Stop CSP monitoring and clear violations') which is a specific verb+resource combination, but it's somewhat vague about what CSP monitoring entails. It doesn't clearly differentiate from sibling tools like 'browser_sec_get_csp_violations' or 'browser_sec_start_csp_monitoring' beyond the obvious stop vs start distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites (like needing to have started monitoring first), nor does it indicate what happens if monitoring isn't active. The reference to 'browser_docs' suggests documentation exists elsewhere but isn't integrated into the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_selectC
Select options in a dropdown (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | Playwright selector for the select element | |
| values | Yes | Values to select |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'select options in a dropdown' which implies a UI interaction, but doesn't disclose behavioral traits like whether this requires a page to be loaded, what happens with invalid selectors/values, error conditions, or performance characteristics. The reference to browser_docs suggests missing behavioral information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single sentence that states the core purpose. However, the parenthetical reference to browser_docs suggests the description is incomplete rather than optimally concise. It's front-loaded with the main action but relies on external documentation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a UI interaction tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the tool returns, error conditions, or behavioral constraints. The reference to browser_docs acknowledges the description is incomplete for the tool's complexity and lack of structured documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters clearly documented in the schema. The description adds no additional parameter semantics beyond what's already in the schema. According to the scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool selects options in a dropdown, which is a clear verb+resource combination. However, it doesn't distinguish this from sibling tools like browser_click or browser_mouse_click that might also interact with UI elements. The reference to browser_docs suggests incomplete information in the description itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description doesn't mention when this is appropriate versus other interaction methods or what prerequisites might be needed. The reference to browser_docs implies usage details are elsewhere, not in the description itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_start_video_recordingC
Start recording browser session as video (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Path to save the video file |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that recording saves to a file path but doesn't describe what gets recorded (e.g., entire browser window, specific page), performance implications, permissions needed, or error conditions. The reference to 'browser_docs' suggests more details exist elsewhere, but the description itself lacks critical 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (one sentence plus a reference) and front-loaded with the core action. However, the parenthetical reference to 'browser_docs' feels tacked on and doesn't integrate smoothly, slightly reducing structural clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of starting video recording (a stateful, potentially resource-intensive operation) with no annotations and no output schema, the description is incomplete. It lacks details on what the tool returns, error handling, dependencies (e.g., must a page be open?), or interaction with 'browser_stop_video_recording'. The reference to external docs doesn't compensate for these gaps in the description itself.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter 'path', which is documented in the schema as 'Path to save the video file'. The description doesn't add any additional meaning about the parameter beyond what the schema provides, such as format examples or constraints. With high schema coverage, 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.
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'), making the purpose understandable. However, it doesn't differentiate from its sibling 'browser_stop_video_recording' beyond the obvious start/stop distinction, nor does it explain what constitutes a 'browser session' in this context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance by referencing 'browser_docs' for more information, but it doesn't explicitly state when to use this tool versus alternatives like 'browser_screenshot' or prerequisites for video recording. No explicit when/when-not or alternative usage context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_stop_video_recordingB
Stop video recording and save the file (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions stopping and saving, but lacks details on permissions needed, file format, save location, error conditions, or what happens if no recording is active. This is a mutation tool with significant behavioral gaps in disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose. It's front-loaded with the core action. The reference to 'browser_docs' adds minimal overhead but serves a purpose, keeping it concise overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a mutation tool (stopping and saving a video recording) with no annotations and no output schema, the description is incomplete. It lacks details on behavior, outcomes, error handling, and dependencies (e.g., requires an active recording started by 'browser_start_video_recording'). More context is needed for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description doesn't add parameter semantics, but with no parameters, this is acceptable. Baseline would be 4 for zero parameters, as it doesn't need to compensate for schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Stop video recording') and the outcome ('save the file'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'browser_start_video_recording' beyond the obvious start/stop distinction, which keeps it from a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a reference to 'browser_docs' for more information, implying external documentation, but doesn't provide explicit guidance on when to use this tool versus alternatives or prerequisites. No context about when-not-to-use or comparisons with siblings is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_storage_delete_cacheC
Delete a specific cache from Cache Storage (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
| cacheName | Yes | Cache name to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool deletes a cache, implying a destructive mutation, but doesn't clarify if this requires specific permissions, whether the deletion is permanent or reversible, what happens if the cache doesn't exist, or any rate limits. The reference to 'browser_docs' suggests additional context exists elsewhere but isn't included here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—a single sentence that directly states the tool's purpose without any fluff. It's front-loaded with the core action and resource, making it efficient and easy to parse, though the brevity limits depth.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's destructive nature (deletion), no annotations, and no output schema, the description is insufficiently complete. It lacks critical behavioral details like error handling, side effects, or response format, relying on an external reference ('browser_docs') that isn't part of the structured data. For a mutation tool with zero annotation coverage, this leaves significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'cacheName' documented as 'Cache name to delete'. The description adds no additional semantic context beyond this, such as format examples or constraints. With high schema coverage, the baseline score of 3 is appropriate, as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Delete') and the resource ('a specific cache from Cache Storage'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'browser_storage_get_cache_storage' or 'browser_storage_unregister_service_worker', which handle different storage operations but share the 'browser_storage_' prefix.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It references 'browser_docs' for more information, but this is not a sibling tool for direct comparison, and there's no explicit mention of when to choose deletion over other cache-related operations or what prerequisites might be needed.
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_storageC
List Cache Storage API caches and their entries (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
| cacheName | No | Specific cache to inspect (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool lists caches and entries, implying a read-only operation, but doesn't clarify if it's safe, if it requires specific permissions, what the output format is, or any rate limits. For a tool with no annotations, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose. It's front-loaded with the main action and includes a helpful reference to 'browser_docs'. There's no unnecessary verbosity, making it appropriately concise for its function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one optional parameter) and high schema coverage, the description is somewhat complete but lacks output details since there's no output schema. It covers the basic purpose but misses behavioral context and usage guidelines, which are important for a tool with no annotations. This results in a moderate level of completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with one optional parameter 'cacheName' documented as 'Specific cache to inspect (optional)'. The description doesn't add any extra meaning beyond this, such as examples or constraints. Since schema coverage is high, the baseline score of 3 is appropriate, as the schema adequately handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'List Cache Storage API caches and their entries'. It specifies the verb ('List') and resource ('Cache Storage API caches and their entries'), making the action clear. However, it doesn't explicitly differentiate from sibling tools like 'browser_storage_get_indexeddb' or 'browser_storage_get_service_workers', which also inspect storage types, so it misses full sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions 'see browser_docs' as a reference, but this is not explicit usage advice. There's no indication of prerequisites, context, or comparisons to other storage-related tools, leaving the agent without clear direction.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| databaseName | No | Specific database to inspect (optional) | |
| objectStoreName | No | Specific object store to query (optional, requires databaseName) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool inspects data but doesn't clarify if this is read-only (likely, but not confirmed), whether it requires specific page states or permissions, what format the output takes, or any limitations (e.g., cross-origin restrictions). The reference to 'browser_docs' suggests additional context exists elsewhere, but the description itself lacks essential behavioral details for safe and effective use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise—a single sentence that directly states the tool's purpose. It's front-loaded with the core action ('inspect') and resource. However, the parenthetical reference to 'browser_docs' feels tacked on and doesn't integrate smoothly, slightly reducing clarity. Overall, it's efficient with minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (inspecting structured browser storage), lack of annotations, and no output schema, the description is incomplete. It doesn't address key contextual aspects like output format, error conditions, dependencies on page state, or how it differs from other storage tools. The reference to external docs hints at missing information, but the description itself fails to provide a self-contained understanding for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters clearly documented in the schema. The description adds no parameter-specific information beyond what the schema provides—it doesn't explain the relationship between databaseName and objectStoreName, valid naming conventions, or example values. Given the high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'Inspect IndexedDB databases and their data' with a specific verb ('inspect') and resource ('IndexedDB databases and their data'). It distinguishes from most siblings by focusing on storage inspection rather than navigation, interaction, or performance monitoring. However, it doesn't explicitly differentiate from other storage-related tools like 'browser_storage_get_cache_storage' or 'browser_storage_get_service_workers' beyond the database type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance, only referencing 'browser_docs' for more information without stating when to use this tool versus alternatives. It doesn't mention prerequisites, context (e.g., when IndexedDB inspection is needed over other storage methods), or exclusions. This leaves the agent with little direction on 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_storage_get_service_workersB
Get service worker registrations and their state (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions retrieving registrations and state, but fails to specify critical details like whether this is a read-only operation, potential side effects, authentication needs, or rate limits. This leaves significant gaps in understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence that states the purpose without unnecessary words. It is front-loaded and efficient, though the reference to 'browser_docs' adds a slight dependency that could be considered extraneous if not integrated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (retrieving service worker data) and lack of annotations and output schema, the description is minimally adequate. It specifies what is retrieved but omits details on return format, error handling, or prerequisites, making it incomplete for fully informed use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately does not discuss parameters, which is efficient and avoids redundancy. A baseline score of 4 is applied as it meets expectations for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('service worker registrations and their state'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'browser_storage_get_cache_storage' or 'browser_storage_get_indexeddb' beyond the resource type, which slightly limits clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as other browser storage tools or general inspection methods. It references 'browser_docs' for more details, but this is not explicit usage advice, leaving the agent without clear context for selection.
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_workerC
Unregister a service worker (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
| scopeURL | Yes | Scope URL of service worker to unregister |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It states what the tool does but doesn't disclose whether this is destructive, requires specific permissions, has side effects, or what happens after unregistration. The reference to 'browser_docs' hints at more information but doesn't 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence with a reference). It's front-loaded with the core action. However, the reference to 'browser_docs' feels like a placeholder rather than earned content, slightly reducing efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that performs a potentially destructive operation (unregistering service workers) with no annotations and no output schema, the description is inadequate. It doesn't explain what unregistering entails, what the expected outcome is, or any error conditions. The reference to external docs doesn't compensate for missing core context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the single parameter 'scopeURL' clearly documented in the schema. The description adds no additional parameter information beyond what the schema provides, so it meets the baseline for high schema coverage without adding value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool's purpose ('Unregister a service worker'), which is a clear verb+resource combination. However, it doesn't differentiate from sibling tools like 'browser_storage_get_service_workers' or 'browser_storage_delete_cache', and the reference to 'browser_docs' is vague rather than specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description only references 'browser_docs' without explaining what that contains or how it relates to usage decisions. There's no mention of prerequisites, timing, or comparison to sibling storage tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_switch_pageC
Switch to a different browser page (tab) (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
| index | Yes | The index of the page to switch to |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the action but doesn't describe what happens on success/failure, if it changes browser state, whether it requires specific page conditions, or any side effects. The reference to 'browser_docs' hints at external documentation but doesn't provide actionable context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose upfront. The parenthetical clarification '(tab)' is helpful, and the reference to documentation is appropriately brief. No wasted words, though it could be slightly more self-contained.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that performs a state-changing browser operation with no annotations and no output schema, the description is insufficient. It doesn't explain what 'switch' entails, how indices are determined, what happens if the index is invalid, or what the tool returns. The reference to external docs doesn't compensate for these gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the single parameter 'index' clearly documented in the schema. The description adds no additional parameter information beyond what the schema provides, so it meets the baseline of 3 where the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('switch to') and resource ('different browser page (tab)'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'browser_focus' or 'browser_list_pages', but the action is specific enough to be distinguished by context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It references 'browser_docs' for more information, but doesn't specify whether this is for switching between open tabs, if it requires prior knowledge of page indices, or how it relates to tools like 'browser_focus' or 'browser_navigate'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_typeC
Type text into an input field (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | Playwright selector for the input | |
| text | Yes | Text to type |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action but lacks critical details: it doesn't specify if this tool requires the input field to be focused first, whether it simulates real typing or sets text directly, potential side effects (e.g., triggering events), or error handling. The reference to 'browser_docs' hints at external documentation but doesn't add behavioral context 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and to the point, using a single sentence to convey the core action. However, the parenthetical reference to 'browser_docs' adds minor clutter without enhancing clarity in the description itself. It's front-loaded with the main purpose but could be more self-contained.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a browser automation tool with no annotations and no output schema, the description is insufficient. It lacks details on behavioral traits, error conditions, and interaction with sibling tools. The reference to external docs suggests incompleteness, making it inadequate for standalone use by an AI agent in this context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with clear documentation for both parameters ('selector' and 'text'). The description adds no additional semantic meaning beyond what the schema provides, such as examples or constraints. Since schema coverage is high, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action ('Type text') and target ('into an input field'), which provides a basic purpose. However, it's vague about what distinguishes this from similar tools like browser_press_key or browser_focus, and the reference to 'browser_docs' suggests incomplete self-containment. It doesn't clearly differentiate from siblings beyond the general action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no explicit guidance on when to use this tool versus alternatives. While it references 'browser_docs' for more information, this is not a direct usage guideline. There's no mention of prerequisites, context, or comparisons to sibling tools like browser_press_key for keyboard input or browser_focus for field activation.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| ms | Yes | Milliseconds to wait |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions 'pause execution' which implies a blocking wait, but does not disclose behavioral traits such as whether it's synchronous, if it affects browser state, error handling, or rate limits. The reference to 'browser_docs' suggests more info is available elsewhere, but the description itself lacks 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a single sentence that directly states the purpose and references documentation. It is front-loaded with the core function and wastes no words, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema, no annotations), the description is incomplete. It lacks details on when to use it, behavioral context, and fails to differentiate from siblings. The reference to 'browser_docs' suggests reliance on external resources, but the description itself does not provide enough information for an agent to use the tool effectively without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'ms' parameter clearly documented as 'Milliseconds to wait'. The description adds no additional meaning beyond this, as it does not explain parameter usage, constraints, or examples. With high schema coverage, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Pause execution for a duration'. It specifies the verb ('pause') and resource ('execution'), but does not differentiate from sibling tools like 'browser_wait_for_selector', which has a similar waiting function but with a condition. It's not tautological, but lacks explicit sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance: it references 'browser_docs' for more details, implying external documentation should be consulted. However, it does not explicitly state when to use this tool versus alternatives like 'browser_wait_for_selector' or other timing-related tools. No context or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_wait_for_selectorC
Wait for an element to appear on the page (see browser_docs)
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | Playwright selector to wait for | |
| timeout | No | Timeout in milliseconds |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions waiting for an element to appear but does not specify what happens on success (e.g., returns the element, continues execution) or failure (e.g., throws timeout error), nor does it discuss side effects like blocking execution or resource usage. This leaves significant gaps in understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose. It is front-loaded with the core action and includes a reference to documentation. While concise, the reference to 'browser_docs' could be seen as slightly extraneous if not integrated, but overall, it avoids waste and is well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (involving asynchronous waiting and potential errors), lack of annotations, and no output schema, the description is incomplete. It does not explain return values, error conditions, or interaction with other browser tools. For a wait operation in a browser context, more context on behavior and outcomes is needed to be fully helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with clear documentation for 'selector' and 'timeout' parameters. The description adds no additional semantic meaning beyond what the schema provides, such as examples of selectors or timeout implications. Given the high schema coverage, the baseline score of 3 is appropriate, as the description does not compensate but also does not detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool 'Wait for an element to appear on the page', which clearly indicates its purpose with a specific verb ('Wait for') and resource ('an element'). However, it does not differentiate from sibling tools like 'browser_wait' (which might be more general) or explain what makes this selector-specific wait unique, making it somewhat vague in context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It references 'browser_docs' for more information, but this is not explicit usage advice. There is no mention of prerequisites (e.g., needing an active page), exclusions, or comparisons with similar tools like 'browser_wait', leaving the agent with minimal direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have distinct purposes with clear boundaries, such as browser_click for clicking elements and browser_navigate for URL navigation. However, some overlap exists, like browser_click and browser_mouse_click, which could cause confusion despite different use cases (selector-based vs. coordinate-based). The descriptions help differentiate them, but the overlap is noticeable.
All tool names follow a consistent snake_case pattern with a 'browser_' prefix and descriptive verb_noun combinations, such as browser_get_dom and browser_start_video_recording. This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming style.
With 63 tools, the count is excessive for a browser automation server, making it overwhelming and likely to cause analysis paralysis for agents. While the domain is broad, a more focused set of 15-25 tools would be more manageable and appropriate for typical use cases.
The tool set provides comprehensive coverage for browser automation, including navigation, interaction, performance monitoring, security analysis, and media control. It supports full CRUD-like operations for web elements, network requests, and storage, with no obvious gaps that would hinder agent workflows.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Automate cloud Chrome—navigate, click, type, screenshot, run code, record screen video
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
Run multi-step tasks in a real Chrome browser: persistent environments, live view, human takeover.
Automate cloud browsers to navigate websites, interact with elements, and extract structured data.…
Related MCP Servers
- AlicenseBqualityDmaintenanceA browser automation server providing Playwright capabilities for controlling web browsers, capturing screenshots, extracting content, and performing complex interactions through an MCP interface.6Apache 2.0
- FlicenseNot gradedqualityDmaintenanceA production-ready browser automation server that enables AI assistants to interact with web pages using tools for navigation, element interaction, and data extraction. It features a built-in Inspector UI and robust crash recovery for reliable automated testing and information retrieval.
- AlicenseBqualityDmaintenanceA universal browser automation MCP server using Playwright, enabling programmatic control of Chrome with 63 tools for navigation, interaction, media control, and CDP-based diagnostics.63242MIT
- AlicenseNot gradedqualityDmaintenanceA comprehensive browser automation MCP server using Playwright, offering 50+ tools for page control, element interaction, content extraction, and more across multiple browser engines.211MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MadeByTokens/browser-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server