Skip to main content
Glama
ampcome-mcps

Playwright Browserbase MCP Server

by ampcome-mcps

Playwright Browserbase MCP Server

cover

The Model Context Protocol (MCP) is an open protocol that enables seamless integration between LLM applications and external data sources and tools. Whether you’re building an AI-powered IDE, enhancing a chat interface, or creating custom AI workflows, MCP provides a standardized way to connect LLMs with the context they need.

How to Setup

Quickstarts:

Install MCP Server

You can either use our Server hosted on NPM or run it completely locally by cloning this repo.

Go into your MCP Config JSON and add the Browserbase Server:

{
   "mcpServers": {
      "browserbase": {
         "command": "npx",
         "args" : ["@browserbasehq/mcp"],
         "env": {
            "BROWSERBASE_API_KEY": "",
            "BROWSERBASE_PROJECT_ID": ""
         }
      }
   }
}

Thats it! Reload your MCP client and Claude will be able to use Browserbase.

To run 100% local:

# Clone the Repo 
git clone https://github.com/browserbase/mcp-server-browserbase.git

# Install the dependencies in the proper directory and build the project
cd browserbase
npm install && npm run build

Then in your MCP Config JSON run the server. To run locally we can use STDIO or self-host over SSE.

STDIO:

To your MCP Config JSON file add the following:

{
"mcpServers": {
   "browserbase": {
      "command" : "node",
      "args" : ["/path/to/mcp-server-browserbase/browserbase/cli.js"],
      "env": {
         "BROWSERBASE_API_KEY": "",
         "BROWSERBASE_PROJECT_ID": ""
         }
      }
   }
}

SSE:

Run the following command in your terminal. You can add any flags (see options below) that you see fit to customize your configuration.

   node cli.js --port 8931

Then in your MCP Config JSON file put the following:

   {
      "mcpServers": {
         "browserbase": {
            "url": "http://localhost:8931/sse",
            "env": {
               "BROWSERBASE_API_KEY": "",
               "BROWSERBASE_PROJECT_ID": ""
            }
         }
      }
   }

Then reload your MCP client and you should be good to go!

Related MCP server: browser-use MCP Server

Flags Explained:

The Browserbase MCP server accepts the following command-line flags:

Flag

Description

--browserbaseApiKey <key>

Your Browserbase API key for authentication

--browserbaseProjectId <id>

Your Browserbase project ID

--proxies

Enable Browserbase proxies for the session

--advancedStealth

Enable Browserbase Advanced Stealth (Only for Scale Plan Users)

--contextId <contextId>

Specify a Browserbase Context ID to use

--persist [boolean]

Whether to persist the Browserbase context (default: true)

--port <port>

Port to listen on for HTTP/SSE transport

--host <host>

Host to bind server to (default: localhost, use 0.0.0.0 for all interfaces)

--cookies [json]

JSON array of cookies to inject into the browser

--browserWidth <width>

Browser viewport width (default: 1024)

--browserHeight <height>

Browser viewport height (default: 768)

These flags can be passed directly to the CLI or configured in your MCP configuration file.

NOTE:

Currently, these flags can only be used with the local server (npx @browserbasehq/mcp).


Flags & Example Configs

Proxies

Here are our docs on Proxies.

To use proxies in STDIO, set the --proxies flag in your MCP Config:

{
   "mcpServers": {
      "browserbase": {
         "command" : "npx",
         "args" : ["@browserbasehq/mcp", "--proxies"],
         "env": {
            "BROWSERBASE_API_KEY": "",
            "BROWSERBASE_PROJECT_ID": ""
         }
      }
   }
}

Advanced Stealth

Here are our docs on Advanced Stealth.

To use proxies in STDIO, set the --advancedStealth flag in your MCP Config:

{
   "mcpServers": {
      "browserbase": {
         "command" : "npx",
         "args" : ["@browserbasehq/mcp", "--advancedStealth"],
         "env": {
            "BROWSERBASE_API_KEY": "",
            "BROWSERBASE_PROJECT_ID": ""
         }
      }
   }
}

Contexts

Here are our docs on Contexts

To use contexts in STDIO, set the --contextId flag in your MCP Config:

{
   "mcpServers": {
      "browserbase": {
         "command" : "npx",
         "args" : ["@browserbasehq/mcp", "--contextId", "<YOUR_CONTEXT_ID>"],
         "env": {
            "BROWSERBASE_API_KEY": "",
            "BROWSERBASE_PROJECT_ID": ""
         }
      }
   }
}

Why would you need to inject cookies? Our context API currently works on persistent cookies, but not session cookies. So sometimes our persistent auth might not work (we're working hard to add this functionality).

You can flag cookies into the MCP by adding the cookies.json to your MCP Config.

To use proxies in STDIO, set the --proxies flag in your MCP Config. Your cookies JSON must be in the type of Playwright Cookies

{
   "mcpServers": {
      "browserbase" {
         "command" : "npx",
         "args" : [
            "@browserbasehq/mcp", "--cookies", 
            '{
               "cookies": json,
            }'
         ],
         "env": {
            "BROWSERBASE_API_KEY": "",
            "BROWSERBASE_PROJECT_ID": ""
         }
      }
   }
}

Browser Viewport Sizing

The default viewport sizing for a browser session is 1024 x 768. You can adjust the Browser viewport sizing with browserWidth and browserHeight flags.

Here's how to use it for custom browser sizing. We recommend to stick with 16:9 aspect ratios (ie: 1920 x 1080, 1280, 720, 1024 x 768)

{
   "mcpServers": {
      "browserbase": {
         "command" : "npx",
         "args" : [
            "@browserbasehq/mcp",
            "--browserHeight 1080",
            "--browserWidth 1920",
         ],
         "env": {
            "BROWSERBASE_API_KEY": "",
            "BROWSERBASE_PROJECT_ID": ""
         }
      }
   }
}

Structure

  • src/: TypeScript source code

    • index.ts: Main entry point, env checks, shutdown

    • server.ts: MCP Server setup and request routing

    • sessionManager.ts: Handles Browserbase session creation/management

    • tools/: Tool definitions and implementations

    • resources/: Resource (screenshot) handling

    • types.ts: Shared TypeScript types

  • dist/: Compiled JavaScript output

  • tests/: Placeholder for tests

  • utils/: Placeholder for utility scripts

  • Dockerfile: For building a Docker image

  • Configuration files (.json, .ts, .mjs, .npmignore)

Contexts for Persistence

This server supports Browserbase's Contexts feature, which allows persisting cookies, authentication, and cached data across browser sessions:

  1. Creating a Context:

    browserbase_context_create: Creates a new context, optionally with a friendly name
  2. Using a Context with a Session:

    browserbase_session_create: Now accepts a 'context' parameter with:
      - id: The context ID to use
      - name: Alternative to ID, the friendly name of the context
      - persist: Whether to save changes (cookies, cache) back to the context (default: true)
  3. Deleting a Context:

    browserbase_context_delete: Deletes a context when you no longer need it

Contexts make it much easier to:

  • Maintain login state across sessions

  • Reduce page load times by preserving cache

  • Avoid CAPTCHAs and detection by reusing browser fingerprints

This server also provides direct cookie management capabilities:

  1. Adding Cookies:

    browserbase_cookies_add: Add cookies to the current browser session with full control over properties
  2. Getting Cookies:

    browserbase_cookies_get: View all cookies in the current session (optionally filtered by URLs)
  3. Deleting Cookies:

    browserbase_cookies_delete: Delete specific cookies or clear all cookies from the session

These tools are useful for:

  • Setting authentication cookies without navigating to login pages

  • Backing up and restoring cookie state

  • Debugging cookie-related issues

  • Manipulating cookie attributes (expiration, security flags, etc.)

TODO/Roadmap

  • Implement true ref-based interaction logic for click, type, drag, hover, select_option.

  • Implement element-specific screenshots using ref.

  • Add more standard MCP tools (tabs, navigation, etc.).

  • Add tests.

Available Tools

17 tools
browserbase_screenshotA

Takes a screenshot of the current page. Use this tool to learn where you are on the page when controlling the browser with Stagehand. Only use this tool when the other tools are not sufficient to get the information you need.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoThe name of the screenshot

TDQS

A4.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It mentions the tool's purpose and usage context but lacks details on behavioral traits such as permissions needed, rate limits, file output format, or error conditions. However, it does add value by explaining the situational context for use.

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

Conciseness5/5

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

The description is front-loaded with the core purpose in the first sentence, followed by two concise sentences providing usage guidelines. Every sentence adds value without redundancy, making it efficiently structured and appropriately sized.

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

Completeness4/5

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

Given the tool's low complexity (1 optional parameter, no output schema, no annotations), the description is mostly complete. It covers purpose and usage well but lacks details on behavioral aspects like output format or errors. However, for a simple screenshot tool, this is sufficient, though not exhaustive.

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

Parameters4/5

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

The input schema has 1 parameter with 100% description coverage, so the baseline is 3. The description does not mention the 'name' parameter, but since there are 0 required parameters and the schema fully documents it, this is acceptable. The description adds no param semantics, but the low parameter count and high schema coverage justify a score above baseline.

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

Purpose5/5

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

The description clearly states the specific action ('Takes a screenshot') and resource ('of the current page'), distinguishing it from sibling tools like navigation, extraction, or session management tools. It precisely defines what the tool does without ambiguity.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool ('to learn where you are on the page when controlling the browser with Stagehand') and when not to use it ('Only use this tool when the other tools are not sufficient to get the information you need'), clearly differentiating it from alternatives among the sibling tools.

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

browserbase_session_closeA

Closes the current Browserbase session by properly shutting down the Stagehand instance, which handles browser cleanup and terminates the session recording.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses behavioral traits: it's a destructive operation (shuts down, terminates) and handles cleanup (browser cleanup, session recording). However, it lacks details on permissions, rate limits, or error handling. The description does not contradict annotations (none exist).

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

Conciseness5/5

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

The description is a single, well-structured sentence that front-loads the core action ('Closes the current Browserbase session') and efficiently adds necessary context (Stagehand cleanup, recording termination). Every word earns its place without redundancy.

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

Completeness4/5

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

Given the tool's complexity (a session-closing operation with no parameters and no output schema) and lack of annotations, the description is mostly complete: it explains what the tool does and its cleanup behavior. However, it could benefit from mentioning potential side effects (e.g., data loss if unsaved) or confirmation of success, slightly reducing completeness.

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

Parameters4/5

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

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately does not discuss parameters, maintaining focus on the tool's action. Baseline is 4 for 0 parameters, as it avoids unnecessary details.

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

Purpose5/5

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

The description clearly states the specific action ('Closes') and resource ('current Browserbase session'), distinguishing it from siblings like 'browserbase_session_create' (which opens sessions) and 'browserbase_stagehand_*' tools (which operate within sessions). It explicitly mentions 'Stagehand instance' cleanup and session recording termination, providing precise scope.

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

Usage Guidelines4/5

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

The description implies usage context by specifying 'current Browserbase session' and cleanup of 'Stagehand instance', suggesting it should be used after session activities are complete. However, it does not explicitly state when-not-to-use alternatives or prerequisites (e.g., must have an active session).

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

browserbase_session_createA

Create or reuse a single cloud browser session using Browserbase with fully initialized Stagehand. WARNING: This tool is for SINGLE browser workflows only. If you need multiple browser sessions running simultaneously (parallel scraping, A/B testing, multiple accounts), use 'multi_browserbase_stagehand_session_create' instead. This creates one browser session with all configuration flags (proxies, stealth, viewport, cookies, etc.) and initializes Stagehand to work with that session. Updates the active session.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdNoOptional session ID to use/reuse. If not provided or invalid, a new session is created.

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: it creates or reuses sessions based on sessionId, initializes Stagehand, updates the active session, and includes configuration flags. However, it lacks details on error handling, performance characteristics, or rate limits, which would elevate it to a 5.

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

Conciseness5/5

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

The description is front-loaded with the core purpose, followed by warnings and alternatives, with no wasted words. Every sentence adds value: the first defines the tool, the second provides critical usage guidelines, and the third elaborates on initialization and configuration. It's appropriately sized for the tool's complexity.

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

Completeness4/5

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

Given no annotations and no output schema, the description does a good job covering the tool's purpose, usage, and basic behavior. However, it lacks details on return values or error cases, which would be helpful for an agent to handle responses. For a tool with one parameter and moderate complexity, this is nearly complete but has minor gaps.

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

Parameters4/5

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

Schema description coverage is 100%, so the schema already documents the single parameter 'sessionId'. The description adds semantic context by explaining that this parameter is for 'use/reuse' and that omitting it creates a new session, which clarifies the tool's behavior beyond the schema's technical definition. This justifies a score above the baseline of 3.

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

Purpose5/5

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

The description clearly states the verb ('Create or reuse') and resource ('single cloud browser session using Browserbase with fully initialized Stagehand'), distinguishing it from the sibling 'multi_browserbase_stagehand_session_create' by specifying it's for SINGLE browser workflows only. It explicitly mentions configuration flags like proxies, stealth, viewport, and cookies, making the purpose specific and well-defined.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool ('for SINGLE browser workflows only') and when not to use it ('If you need multiple browser sessions running simultaneously... use 'multi_browserbase_stagehand_session_create' instead'), including clear alternatives. This helps the agent make correct tool selection decisions in context.

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

browserbase_stagehand_actA

Performs an action on a web page element. Act actions should be as atomic and specific as possible, i.e. "Click the sign in button" or "Type 'hello' into the search input". AVOID actions that are more than one step, i.e. "Order me pizza" or "Send an email to Paul asking him to call me".

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesThe action to perform. Should be as atomic and specific as possible, i.e. 'Click the sign in button' or 'Type 'hello' into the search input'. AVOID actions that are more than one step, i.e. 'Order me pizza' or 'Send an email to Paul asking him to call me'. The instruction should be just as specific as possible, and have a strong correlation to the text on the page. If unsure, use observe before using act.
variablesNoVariables used in the action template. ONLY use variables if you're dealing with sensitive data or dynamic content. For example, if you're logging in to a website, you can use a variable for the password. When using variables, you MUST have the variable key in the action template. For example: {"action": "Fill in the password", "variables": {"password": "123456"}}

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively explains that actions should be atomic and specific, warns against multi-step actions, and advises using 'observe' when unsure. However, it lacks details on error handling, timeouts, or what happens if the element is not found, which are important for a web automation tool.

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

Conciseness4/5

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

The description is front-loaded with the core purpose, followed by specific examples and avoidance guidelines. It is appropriately sized with two sentences, but the second sentence is lengthy and could be split for better readability without losing clarity.

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

Completeness4/5

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

Given the complexity of web automation and no annotations or output schema, the description does well by covering purpose, usage, and behavioral traits. However, it could improve by mentioning potential side effects (e.g., page navigation after a click) or response format, though the lack of output schema makes this less critical.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description does not add significant meaning beyond the schema, as it repeats the same examples and guidelines for the 'action' parameter. Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose5/5

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

The description clearly states the tool 'performs an action on a web page element' with specific examples like 'Click the sign in button' or 'Type 'hello' into the search input'. It distinguishes from siblings by focusing on atomic actions versus navigation (browserbase_stagehand_navigate) or observation (browserbase_stagehand_observe).

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool ('Act actions should be as atomic and specific as possible') and when not to use it ('AVOID actions that are more than one step'). It also references the sibling tool 'observe' with 'If unsure, use observe before using act,' offering clear alternatives.

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

browserbase_stagehand_extractA

Extracts structured information and text content from the current web page based on specific instructions and a defined schema. This tool is ideal for scraping data, gathering information, or pulling specific content from web pages. Use this tool when you need to get text content, data, or information from a page rather than interacting with elements. For interactive elements like buttons, forms, or clickable items, use the observe tool instead. The extraction works best when you provide clear, specific instructions about what to extract and a well-defined JSON schema for the expected output format. This ensures the extracted data is properly structured and usable.

ParametersJSON Schema
NameRequiredDescriptionDefault
instructionYesThe specific instruction for what information to extract from the current page. Be as detailed and specific as possible about what you want to extract. For example: 'Extract all product names and prices from the listing page' or 'Get the article title, author, and publication date from this blog post'. The more specific your instruction, the better the extraction results will be. Avoid vague instructions like 'get everything' or 'extract the data'. Instead, be explicit about the exact elements, text, or information you need.

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively explains that the tool extracts based on instructions and a schema, works best with clear instructions, and ensures structured output. However, it lacks details on potential limitations, error handling, or performance aspects like rate limits or timeouts.

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

Conciseness4/5

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

The description is appropriately sized and front-loaded, starting with the core purpose. Each sentence adds value, such as usage guidelines and best practices. However, it could be slightly more concise by avoiding minor repetition (e.g., 'extract' mentioned multiple times).

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

Completeness4/5

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

Given the tool's complexity (extraction from web pages) and lack of annotations or output schema, the description does a good job covering purpose, usage, and behavioral aspects. It provides practical advice on instructions and schema use. However, it could benefit from mentioning output format or error cases to be fully complete.

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

Parameters3/5

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

The input schema has 100% description coverage, with the 'instruction' parameter well-documented in the schema itself. The description adds minimal value beyond the schema by emphasizing the need for clear, specific instructions, but doesn't provide additional syntax or format details. This meets the baseline for high schema coverage.

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

Purpose5/5

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

The description clearly states the tool's purpose with specific verbs ('extracts structured information and text content') and resources ('from the current web page'), distinguishing it from sibling tools like 'observe' for interactive elements. It explicitly mentions scraping data, gathering information, and pulling content, providing a comprehensive understanding of its function.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool ('when you need to get text content, data, or information from a page') and when not to ('For interactive elements like buttons, forms, or clickable items, use the observe tool instead'). It clearly names the alternative tool ('observe'), offering precise usage context.

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

browserbase_stagehand_get_all_urlsA

Gets the current URLs of all active browser sessions. Returns a mapping of session IDs to their current URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the tool's read-only nature (implied by 'Gets') and output format, but lacks details on error handling, rate limits, authentication needs, or whether it returns only active sessions (vs. all sessions). It doesn't contradict annotations, but could be more comprehensive 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.

Conciseness5/5

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

The description is two concise sentences with zero waste. The first sentence states the purpose, and the second specifies the return format, both front-loaded and essential for understanding the tool's function.

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

Completeness4/5

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

Given the tool's low complexity (0 parameters, no output schema, no annotations), the description is reasonably complete. It covers purpose and output, but lacks behavioral details like error cases or session state requirements. With no output schema, it should ideally explain return values more thoroughly, though it does specify the mapping format.

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

Parameters4/5

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

The tool has 0 parameters, and schema description coverage is 100% (empty schema). The description adds no parameter-specific information, which is acceptable for a parameterless tool. Baseline is 4 as per rules for 0 parameters, since no compensation is needed.

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

Purpose5/5

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

The description clearly states the specific action ('Gets'), resource ('current URLs of all active browser sessions'), and output format ('mapping of session IDs to their current URLs'). It distinguishes from siblings like browserbase_stagehand_get_url (single URL) and browserbase_session_list (likely lists sessions without URLs).

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

Usage Guidelines4/5

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

The description implies usage context by specifying 'all active browser sessions,' suggesting it's for monitoring or managing multiple sessions. However, it doesn't explicitly state when to use this versus alternatives like browserbase_session_list or browserbase_stagehand_get_url, nor does it mention prerequisites (e.g., sessions must be created first).

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

browserbase_stagehand_get_urlA

Gets the current URL of the browser page. Returns the complete URL including protocol, domain, path, and any query parameters or fragments.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that the tool returns the complete URL including protocol, domain, path, query parameters, and fragments, which adds useful behavioral context beyond the basic action. However, it does not mention potential errors, performance, or dependencies on 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.

Conciseness5/5

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

The description is two concise sentences with zero waste. The first sentence states the purpose, and the second elaborates on the return value, making it front-loaded and efficiently structured.

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

Completeness4/5

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

Given the tool's low complexity (0 parameters, no annotations, no output schema), the description is fairly complete. It explains the purpose and return value clearly. However, it could be more complete by mentioning potential errors or dependencies, but for a simple read operation, it covers the essentials well.

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

Parameters4/5

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

The tool has 0 parameters, and the schema description coverage is 100%. The description does not need to compensate for any parameter gaps. It appropriately focuses on the output semantics, explaining what the return value includes, which is valuable since there is no output schema.

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

Purpose5/5

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

The description clearly states the verb 'Gets' and the resource 'current URL of the browser page', specifying exactly what the tool does. It distinguishes from siblings like 'browserbase_stagehand_get_all_urls' by focusing on the single current URL rather than all URLs.

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

Usage Guidelines3/5

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

The description implies usage when the current URL is needed, but does not explicitly state when to use this tool versus alternatives like 'browserbase_stagehand_get_all_urls' or 'browserbase_stagehand_navigate'. It provides basic context but lacks explicit guidance on exclusions or prerequisites.

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

browserbase_stagehand_navigateA

Navigate to a URL in the browser. Only use this tool with URLs you're confident will work and stay up to date. Otherwise, use https://google.com as the starting point

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL to navigate to

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It implies a navigation action but lacks details on error handling, timeouts, or what happens if the URL fails. It adds some context about URL reliability but misses behavioral traits like whether it waits for page load or returns status.

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

Conciseness5/5

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

Two sentences with zero waste: the first states the purpose, the second provides critical usage guidance. Every word serves a clear function, and the most important information is front-loaded.

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

Completeness4/5

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

For a single-parameter tool with no annotations or output schema, the description is mostly complete—it covers purpose and usage well. However, it lacks details on behavioral outcomes (e.g., what happens after navigation), leaving a minor gap in context.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents the 'url' parameter. The description doesn't add meaning beyond what the schema provides (e.g., no format examples or constraints), meeting the baseline for high coverage.

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

Purpose5/5

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

The description clearly states the specific action ('Navigate to a URL') and resource ('in the browser'), distinguishing it from sibling tools like screenshot, extract, or observe. It precisely communicates the tool's core function without ambiguity.

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

Usage Guidelines5/5

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

It provides explicit guidance on when to use this tool ('with URLs you're confident will work and stay up to date') and when to use an alternative ('Otherwise, use https://google.com as the starting point'). This directly addresses the agent's decision-making context.

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

browserbase_stagehand_observeA

Observes and identifies specific interactive elements on the current web page that can be used for subsequent actions. This tool is specifically designed for finding actionable (interactable) elements such as buttons, links, form fields, dropdowns, checkboxes, and other UI components that you can interact with. Use this tool when you need to locate elements before performing actions with the act tool. DO NOT use this tool for extracting text content or data - use the extract tool instead for that purpose. The observe tool returns detailed information about the identified elements including their properties, location, and interaction capabilities. This information can then be used to craft precise actions. The more specific your observation instruction, the more accurate the element identification will be. Think of this as your 'eyes' on the page to find exactly what you need to interact with.

ParametersJSON Schema
NameRequiredDescriptionDefault
instructionYesDetailed instruction for what specific elements or components to observe on the web page. This instruction must be extremely specific and descriptive. For example: 'Find the red login button in the top right corner', 'Locate the search input field with placeholder text', or 'Identify all clickable product cards on the page'. The more specific and detailed your instruction, the better the observation results will be. Avoid generic instructions like 'find buttons' or 'see elements'. Instead, describe the visual characteristics, location, text content, or functionality of the elements you want to observe. This tool is designed to help you identify interactive elements that you can later use with the act tool for performing actions like clicking, typing, or form submission.
returnActionNoWhether to return the action to perform on the element. If true, the action will be returned as a string. If false, the action will not be returned.

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key traits: it returns 'detailed information about the identified elements including their properties, location, and interaction capabilities,' explains that results are used 'to craft precise actions,' and notes that 'the more specific your observation instruction, the more accurate the element identification will be.' It lacks details on error handling or performance, but covers core behavior well.

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

Conciseness4/5

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

The description is appropriately sized and front-loaded, with the core purpose stated first. Most sentences earn their place by clarifying usage, distinguishing from siblings, or explaining outputs. It could be slightly more concise by avoiding minor repetition, but overall it's well-structured and efficient.

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

Completeness4/5

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

Given the tool's complexity (identifying interactive elements) and the absence of annotations and output schema, the description does a good job of providing context. It explains the purpose, usage, behavioral traits, and output format. However, it doesn't detail potential limitations or error cases, which could enhance completeness for an interactive tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds some context by emphasizing specificity in instructions ('The more specific your observation instruction, the more accurate the element identification will be') and linking to the 'act tool,' but doesn't provide additional syntax or format details beyond what the schema provides. This meets the baseline for high schema coverage.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Observes and identifies specific interactive elements on the current web page that can be used for subsequent actions.' It specifies the verb ('observes and identifies'), resource ('interactive elements'), and scope ('current web page'), and distinguishes it from siblings like 'extract' for text content and 'act' for performing actions.

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

Usage Guidelines5/5

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

The description provides explicit usage guidelines: 'Use this tool when you need to locate elements before performing actions with the act tool. DO NOT use this tool for extracting text content or data - use the extract tool instead for that purpose.' It clearly states when to use it (before actions) and when not to use it (for extraction), naming specific sibling alternatives.

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

multi_browserbase_stagehand_act_sessionA

Performs an action on a web page element. Act actions should be as atomic and specific as possible, i.e. "Click the sign in button" or "Type 'hello' into the search input". AVOID actions that are more than one step, i.e. "Order me pizza" or "Send an email to Paul asking him to call me". (for a specific session)

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYesThe session ID to use
actionYesThe action to perform. Should be as atomic and specific as possible, i.e. 'Click the sign in button' or 'Type 'hello' into the search input'. AVOID actions that are more than one step, i.e. 'Order me pizza' or 'Send an email to Paul asking him to call me'. The instruction should be just as specific as possible, and have a strong correlation to the text on the page. If unsure, use observe before using act.
variablesNoVariables used in the action template. ONLY use variables if you're dealing with sensitive data or dynamic content. For example, if you're logging in to a website, you can use a variable for the password. When using variables, you MUST have the variable key in the action template. For example: {"action": "Fill in the password", "variables": {"password": "123456"}}

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses that actions should be atomic and specific, and mentions it's 'for a specific session', but doesn't cover important behavioral aspects like error handling, performance characteristics, or what happens if the action fails. It provides some guidance but leaves significant gaps.

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

Conciseness4/5

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

The description is reasonably concise and front-loaded with the core purpose. The parenthetical '(for a specific session)' could be better integrated, and some guidance is redundant with the schema, but overall it's efficient with clear examples that earn their place.

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

Completeness3/5

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

For a 3-parameter tool with no annotations and no output schema, the description provides adequate but incomplete context. It covers the 'what' and 'how' of using the tool but lacks information about return values, error conditions, or how this multi-session version differs from the single-session 'browserbase_stagehand_act' sibling tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description doesn't add meaningful parameter semantics beyond what's in the schema - it repeats the same guidance about atomic actions that appears in the 'action' parameter description. 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.

Purpose4/5

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

The description clearly states the tool 'performs an action on a web page element' with specific examples like 'Click the sign in button' or 'Type 'hello' into the search input'. It distinguishes itself from non-atomic actions but doesn't explicitly differentiate from sibling tools like 'browserbase_stagehand_act' (which appears to be a similar single-session version).

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

Usage Guidelines4/5

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

The description provides clear context on when to use this tool: for atomic, specific actions on web page elements, and when NOT to use it (avoid multi-step actions). It gives examples of good vs. bad actions but doesn't explicitly mention alternatives among sibling tools like 'observe' for uncertain situations (though the schema hints at this).

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

multi_browserbase_stagehand_extract_sessionA

Extracts structured information and text content from the current web page based on specific instructions and a defined schema. This tool is ideal for scraping data, gathering information, or pulling specific content from web pages. Use this tool when you need to get text content, data, or information from a page rather than interacting with elements. For interactive elements like buttons, forms, or clickable items, use the observe tool instead. The extraction works best when you provide clear, specific instructions about what to extract and a well-defined JSON schema for the expected output format. This ensures the extracted data is properly structured and usable. (for a specific session)

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYesThe session ID to use
instructionYesThe specific instruction for what information to extract from the current page. Be as detailed and specific as possible about what you want to extract. For example: 'Extract all product names and prices from the listing page' or 'Get the article title, author, and publication date from this blog post'. The more specific your instruction, the better the extraction results will be. Avoid vague instructions like 'get everything' or 'extract the data'. Instead, be explicit about the exact elements, text, or information you need.

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively explains that the tool extracts data based on instructions and a schema, works best with clear instructions, and ensures structured output. However, it lacks details on potential limitations, error handling, or performance aspects like rate limits, which could be useful 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.

Conciseness4/5

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

The description is well-structured and front-loaded with the core purpose. Each sentence adds value, such as usage guidelines and best practices. However, it could be slightly more concise by avoiding minor redundancy, like repeating the need for specific instructions, but overall it's efficient and clear.

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

Completeness4/5

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

Given the tool's complexity (extraction from web pages) and the lack of annotations and output schema, the description does a good job of covering key aspects like purpose, usage, and behavioral traits. It could improve by detailing the output format or error cases, but it provides sufficient context for an agent to use the tool effectively in most scenarios.

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

Parameters3/5

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

The schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds minimal value beyond the schema by emphasizing the importance of specific instructions, but it doesn't provide additional syntax, format details, or examples that aren't already covered in the schema descriptions. This meets the baseline for high schema coverage.

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

Purpose5/5

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

The description clearly states the tool's purpose with specific verbs ('extracts structured information and text content') and resources ('from the current web page'). It explicitly distinguishes this tool from its sibling 'observe' tool, which is for interactive elements, making the differentiation clear and specific.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool ('when you need to get text content, data, or information from a page') and when not to ('for interactive elements like buttons, forms, or clickable items, use the observe tool instead'). It also mentions an alternative tool by name, ensuring clear decision-making for the agent.

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

multi_browserbase_stagehand_get_url_sessionB

Gets the current URL of the browser page. Returns the complete URL including protocol, domain, path, and any query parameters or fragments. (for a specific session)

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYesThe session ID to use

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool returns the complete URL including protocol, domain, path, and query parameters/fragments, which adds useful context beyond the input schema. However, it doesn't cover critical behavioral aspects like whether this is a read-only operation (implied but not stated), potential errors (e.g., if the session is invalid), or performance considerations. For a tool with no annotation coverage, this leaves significant gaps.

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

Conciseness5/5

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

The description is highly concise and well-structured in two sentences: the first states the core purpose and return value, and the second adds contextual scope. Every sentence earns its place by providing essential information without redundancy, making it easy to parse and front-loaded with key details.

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

Completeness3/5

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

Given the tool's low complexity (one parameter, no output schema, no annotations), the description is reasonably complete for its basic function. It explains what the tool does and what it returns, which is adequate. However, it lacks details on error handling, session state requirements, or integration with sibling tools, which could improve usability in a broader context.

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

Parameters3/5

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

The input schema has 100% description coverage, with the single parameter 'sessionId' documented as 'The session ID to use.' The description doesn't add any parameter-specific details beyond what the schema provides, such as format examples or validation rules. 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.

Purpose4/5

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

The description clearly states the tool's purpose: 'Gets the current URL of the browser page.' It specifies the verb ('Gets') and resource ('current URL'), and distinguishes it from sibling tools like 'browserbase_stagehand_get_all_urls' by focusing on a single session's URL. However, it doesn't explicitly differentiate from 'browserbase_stagehand_get_url' beyond the session specificity implied in the name.

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

Usage Guidelines3/5

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

The description implies usage context by stating it's 'for a specific session,' which suggests it should be used when targeting a particular browser session rather than a default one. However, it doesn't provide explicit guidance on when to use this tool versus alternatives like 'browserbase_stagehand_get_url' or 'browserbase_stagehand_get_all_urls,' nor does it mention prerequisites such as requiring an active session.

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

multi_browserbase_stagehand_navigate_sessionA

Navigate to a URL in the browser. Only use this tool with URLs you're confident will work and stay up to date. Otherwise, use https://google.com as the starting point (for a specific session)

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYesThe session ID to use
urlYesThe URL to navigate to

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions the URL reliability constraint, which is useful behavioral context, but lacks critical details: it doesn't specify what happens on navigation failure, whether it waits for page load, if it returns any status, or if it requires specific permissions. For a navigation 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.

Conciseness5/5

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

The description is efficiently structured in two sentences: the first states the core purpose, and the second provides usage guidance. Every sentence adds value without redundancy, making it appropriately sized and front-loaded for quick comprehension.

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

Completeness3/5

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

Given the tool's moderate complexity (navigation with session context), no annotations, and no output schema, the description is partially complete. It covers the purpose and basic usage but misses behavioral details like error handling, return values, or integration with other session tools. It's adequate as a starting point but lacks depth for reliable agent operation.

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

Parameters3/5

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

Schema description coverage is 100%, with both parameters ('sessionId' and 'url') clearly documented in the schema. The description adds no additional parameter details beyond what the schema provides, such as URL format requirements or session ID constraints. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't enhance parameter understanding.

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

Purpose4/5

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

The description clearly states the action ('Navigate to a URL') and resource ('in the browser'), distinguishing it from siblings like screenshot or session management tools. However, it doesn't explicitly differentiate from 'browserbase_stagehand_navigate' (the non-session version), leaving some ambiguity about when to use this specific session variant.

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

Usage Guidelines4/5

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

The description provides clear context for usage ('Only use this tool with URLs you're confident will work and stay up to date') and offers an alternative starting point ('Otherwise, use https://google.com'). It doesn't explicitly state when to use this vs. the non-session 'navigate' tool or other session-based tools, but the guidance on URL reliability is helpful.

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

multi_browserbase_stagehand_observe_sessionA

Observes and identifies specific interactive elements on the current web page that can be used for subsequent actions. This tool is specifically designed for finding actionable (interactable) elements such as buttons, links, form fields, dropdowns, checkboxes, and other UI components that you can interact with. Use this tool when you need to locate elements before performing actions with the act tool. DO NOT use this tool for extracting text content or data - use the extract tool instead for that purpose. The observe tool returns detailed information about the identified elements including their properties, location, and interaction capabilities. This information can then be used to craft precise actions. The more specific your observation instruction, the more accurate the element identification will be. Think of this as your 'eyes' on the page to find exactly what you need to interact with. (for a specific session)

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYesThe session ID to use
instructionYesDetailed instruction for what specific elements or components to observe on the web page. This instruction must be extremely specific and descriptive. For example: 'Find the red login button in the top right corner', 'Locate the search input field with placeholder text', or 'Identify all clickable product cards on the page'. The more specific and detailed your instruction, the better the observation results will be. Avoid generic instructions like 'find buttons' or 'see elements'. Instead, describe the visual characteristics, location, text content, or functionality of the elements you want to observe. This tool is designed to help you identify interactive elements that you can later use with the act tool for performing actions like clicking, typing, or form submission.
returnActionNoWhether to return the action to perform on the element. If true, the action will be returned as a string. If false, the action will not be returned.

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the tool's purpose and output ('returns detailed information about the identified elements including their properties, location, and interaction capabilities'), but lacks details on error handling, performance characteristics (e.g., timeouts), or session management requirements. It mentions the tool is 'for a specific session,' which hints at session dependency, but doesn't fully explain behavioral constraints.

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

Conciseness4/5

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

The description is appropriately sized and front-loaded with the core purpose in the first sentence. However, it includes some redundancy (e.g., repeating the importance of specific instructions) and could be more streamlined. Most sentences earn their place by adding value, but there's minor room for improvement in efficiency.

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

Completeness4/5

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

Given the tool's complexity (interactive element identification in web sessions) and lack of annotations or output schema, the description does a good job of explaining the tool's role, usage guidelines, and output nature. It covers the essential context needed for an agent to understand when and how to use it, though it could benefit from more detail on behavioral aspects like error cases or session state implications.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds context about the 'instruction' parameter ('The more specific your observation instruction, the more accurate the element identification will be'), but doesn't provide additional semantic meaning beyond what's in the schema descriptions. This meets the baseline of 3 when schema coverage is high.

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

Purpose5/5

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

The description explicitly states the tool 'observes and identifies specific interactive elements on the current web page that can be used for subsequent actions,' providing a clear verb ('observes and identifies') and resource ('interactive elements'). It distinguishes from sibling tools by specifying this is for finding actionable elements, not for extracting content (use extract tool) or performing actions (use act tool).

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool ('when you need to locate elements before performing actions with the act tool') and when not to use it ('DO NOT use this tool for extracting text content or data - use the extract tool instead'). It names specific alternatives (act and extract tools), making it clear how this tool fits into the workflow relative to siblings.

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

multi_browserbase_stagehand_session_closeA

Cleanup parallel session for multi-session workflows. Properly terminates a browser session, ends the Browserbase session, and frees cloud resources. Always use this when finished with a session to avoid resource waste and billing charges. Critical for responsible multi-session automation - each unclosed session continues consuming resources!

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYesExact session ID to close (get from 'multi_browserbase_stagehand_session_list'). Double-check this ID - once closed, the session cannot be recovered!

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes critical behavioral traits: the tool terminates sessions and frees resources, warns about irreversible consequences ('once closed, the session cannot be recovered'), and highlights cost implications ('each unclosed session continues consuming resources'). However, it lacks details on error handling or response format.

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

Conciseness4/5

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

The description is appropriately sized and front-loaded, starting with the core purpose and immediately following with usage guidelines and critical warnings. Every sentence adds value, though it could be slightly more streamlined by combining some points without losing clarity.

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

Completeness4/5

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

Given the tool's complexity (destructive operation with cost implications), no annotations, and no output schema, the description is largely complete. It covers purpose, usage, behavioral risks, and resource management. However, it lacks information on return values or error cases, which would enhance completeness for a tool with significant consequences.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents the single parameter 'sessionId' with its description. The description does not add any additional meaning or context beyond what the schema provides, such as parameter interactions or usage tips. Baseline 3 is appropriate when the schema handles parameter documentation adequately.

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

Purpose5/5

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

The description clearly states the specific action ('cleanup', 'properly terminates', 'ends', 'frees') and resource ('parallel session for multi-session workflows', 'browser session', 'Browserbase session', 'cloud resources'), distinguishing it from siblings like 'browserbase_session_close' by emphasizing its role in multi-session contexts. It explicitly mentions the tool's function beyond just closing a session.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use ('Always use this when finished with a session') and why ('to avoid resource waste and billing charges'), with clear exclusions implied by the context of multi-session workflows. It distinguishes from alternatives by specifying its necessity for responsible automation in multi-session scenarios.

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

multi_browserbase_stagehand_session_createA

Create parallel browser session for multi-session workflows. Use this when you need multiple browser instances running simultaneously: parallel data scraping, concurrent automation, A/B testing, multiple user accounts, cross-site operations, batch processing, or any task requiring more than one browser. Creates an isolated browser session with independent cookies, authentication, and state. Always pair with session-specific tools (those ending with '_session'). Perfect for scaling automation tasks that require multiple browsers working in parallel.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoHighly recommended: Descriptive name for tracking multiple sessions (e.g. 'amazon-scraper', 'user-login-flow', 'checkout-test-1'). Makes debugging and session management much easier!
browserbaseSessionIDNoResume an existing Browserbase session by providing its session ID. Use this to continue work in a previously created browser session that may have been paused or disconnected.

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key traits: the tool creates an isolated browser session with independent cookies, authentication, and state, and it's designed for parallel workflows. However, it lacks details on error handling, performance implications, or session lifecycle management, leaving some behavioral aspects unspecified.

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

Conciseness5/5

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

The description is front-loaded with the core purpose, followed by usage guidelines and behavioral details in a logical flow. Every sentence adds value without redundancy, making it efficient and well-structured for quick comprehension.

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

Completeness4/5

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

Given no annotations and no output schema, the description does a good job covering purpose, usage, and key behaviors. However, it lacks details on return values or error cases, which are important for a creation tool. The context is mostly complete but could be enhanced with output information.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds value by implicitly contextualizing parameters: it mentions 'tracking multiple sessions' and 'debugging and session management' for the 'name' parameter, and 'resume an existing session' for 'browserbaseSessionID', enhancing understanding beyond the schema's technical descriptions.

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

Purpose5/5

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

The description clearly states the verb ('create') and resource ('parallel browser session'), specifying it's for 'multi-session workflows' and 'multiple browser instances running simultaneously'. It distinguishes from siblings like 'browserbase_session_create' by emphasizing parallel capabilities and isolation features, making the purpose specific and differentiated.

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

Usage Guidelines5/5

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

The description explicitly states when to use this tool: 'when you need multiple browser instances running simultaneously' and lists specific use cases (e.g., parallel data scraping, A/B testing). It also provides guidance on pairing with session-specific tools and mentions alternatives implicitly by contrasting with non-parallel siblings, offering clear usage context.

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

multi_browserbase_stagehand_session_listA

ONLY WORKS WITH MULTI-SESSION TOOLS! Track all parallel sessions: Critical tool for multi-session management! Shows all active browser sessions with their IDs, names, ages, and Browserbase session IDs. Use this frequently to monitor your parallel automation workflows, verify sessions are running, and get session IDs for session-specific tools. Essential for debugging and resource management in complex multi-browser scenarios.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It effectively discloses behavioral traits: it's a read-only tool (implied by 'track' and 'shows'), essential for monitoring and debugging, and critical for multi-session management. However, it doesn't mention potential limitations like rate limits or authentication needs, though these might be less relevant for a list tool.

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

Conciseness4/5

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

The description is appropriately sized and front-loaded, starting with a critical warning and key purpose. Each sentence adds value, such as listing session details and specifying use cases, though it could be slightly more streamlined by reducing exclamation points and repetitive emphasis.

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

Completeness4/5

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

Given the tool's complexity (multi-session management), lack of annotations, and no output schema, the description is largely complete. It explains the tool's role, when to use it, and what information it provides. However, it doesn't detail the output format or potential errors, which could be helpful for an agent.

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

Parameters4/5

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

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately focuses on usage and context without redundant parameter details, earning a baseline score of 4 for zero-parameter tools that avoid unnecessary information.

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

Purpose5/5

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

The description clearly states the tool's purpose with specific verbs ('track', 'shows') and resources ('all active browser sessions'), explicitly distinguishing it from sibling tools by emphasizing it's for multi-session management and listing session details like IDs, names, ages, and Browserbase session IDs. It avoids tautology by not just restating the name.

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

Usage Guidelines5/5

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

The description provides explicit usage guidance: it states 'ONLY WORKS WITH MULTI-SESSION TOOLS!' and specifies when to use it ('frequently to monitor parallel automation workflows', 'verify sessions are running', 'get session IDs for session-specific tools'), with clear context for debugging and resource management in multi-browser scenarios, distinguishing it from single-session tools.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 5 tool updatesv1.0.0
    • Changedbrowserbase_session_close1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Addedbrowserbase_stagehand_get_all_urls
    • Addedbrowserbase_stagehand_get_url
    • Addedmulti_browserbase_stagehand_get_url_session
    • Changedmulti_browserbase_stagehand_session_list1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
  2. 14 tool updates
    • First observedbrowserbase_screenshot
    • First observedbrowserbase_session_close
    • First observedbrowserbase_session_create
    • First observedbrowserbase_stagehand_act
    • First observedbrowserbase_stagehand_extract
    • First observedbrowserbase_stagehand_navigate
    • First observedbrowserbase_stagehand_observe
    • First observedmulti_browserbase_stagehand_act_session
    • First observedmulti_browserbase_stagehand_extract_session
    • First observedmulti_browserbase_stagehand_navigate_session
    • First observedmulti_browserbase_stagehand_observe_session
    • First observedmulti_browserbase_stagehand_session_close
    • First observedmulti_browserbase_stagehand_session_create
    • First observedmulti_browserbase_stagehand_session_list

TDQS

A3.9/5.0
Disambiguation4/5

Most tools have distinct purposes, with clear separation between single-session and multi-session variants, and between action (act), observation (observe), extraction (extract), navigation, and session management. However, there is some potential confusion between browserbase_stagehand_act and multi_browserbase_stagehand_act_session, as they perform identical functions but for different session contexts, which could lead to misselection if the agent doesn't track session state properly.

Naming Consistency3/5

The naming follows a consistent snake_case pattern and uses descriptive terms like 'act', 'extract', 'observe', 'navigate', and 'session'. However, there is inconsistency in the prefixing: some tools start with 'browserbase_' while others start with 'multi_browserbase_', and the suffix '_session' is inconsistently applied (e.g., multi_browserbase_stagehand_act_session vs. browserbase_stagehand_act). This mixed convention reduces predictability.

Tool Count4/5

With 17 tools, the count is on the higher side but reasonable for a browser automation server that supports both single and multi-session workflows. It covers core functionalities like navigation, interaction, extraction, and session management, but it feels slightly heavy due to the duplication of tools for single vs. multi-session contexts, which could have been streamlined.

Completeness5/5

The tool set provides comprehensive coverage for browser automation, including session creation, closure, and listing; navigation; interaction (act and observe); data extraction; and URL retrieval. It supports both single and parallel workflows, with clear guidance on when to use each tool. No obvious gaps are present for the stated purpose of controlling browsers with Stagehand.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    MCP server enabling LLMs to perform browser tasks via SSE transport, allowing clients like Cursor.ai and Claude to open websites and interact with web content through natural language commands.
    1
    -
  • A
    license
    B
    quality
    D
    maintenance
    An MCP server that provides browser automation capabilities, enabling LLMs to control a web browser for navigation, interaction, and data extraction.
    32
    232
    13
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A browser automation MCP server with stealth mode, profile management, and multi-browser support, enabling LLMs to control browsers for tasks like navigation, data extraction, and form filling.
    22
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ampcome-mcps/browserbase-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server