Browserbase 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., "@Browserbase MCP Servertake a screenshot of the homepage of example.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Browserbase MCP Server

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.
This server provides cloud browser automation capabilities using Browserbase and Stagehand. It enables LLMs to interact with web pages, take screenshots, extract information, and perform automated actions with atomic precision.
Features
Feature | Description |
Browser Automation | Control and orchestrate cloud browsers via Browserbase |
Data Extraction | Extract structured data from any webpage |
Web Interaction | Navigate, click, and fill forms with ease |
Screenshots | Capture full-page and element screenshots |
Model Flexibility | Supports multiple models (OpenAI, Claude, Gemini, and more) |
Vision Support | Use annotated screenshots for complex DOMs |
Session Management | Create, manage, and close browser sessions |
Multi-Session | Run multiple browser sessions in parallel |
Related MCP server: Browserbase MCP Server
How to Setup
Quickstarts:
Add to Cursor
Copy and Paste this link in your Browser:
cursor://anysphere.cursor-deeplink/mcp/install?name=browserbase&config=eyJjb21tYW5kIjoibnB4IEBicm93c2VyYmFzZWhxL21jcCIsImVudiI6eyJCUk9XU0VSQkFTRV9BUElfS0VZIjoiIiwiQlJPV1NFUkJBU0VfUFJPSkVDVF9JRCI6IiIsIkdFTUlOSV9BUElfS0VZIjoiIn19We currently support 2 transports for our MCP server, STDIO and SHTTP. We recommend you use SHTTP with our remote hosted url to take advantage of the server at full capacity.
SHTTP:
To use the Browserbase MCP Server through our remote hosted URL, add the following to your configuration.
Go to smithery.ai and enter your API keys and configuration to get a remote hosted URL. When using our remote hosted server, we provide the LLM costs for Gemini, the best performing model in Stagehand.

If your client supports SHTTP:
{
"mcpServers": {
"browserbase": {
"url": "your-smithery-url.com"
}
}
}If your client doesn't support SHTTP:
{
"mcpServers": {
"browserbase": {
"command": "npx",
"args": ["mcp-remote", "your-smithery-url.com"]
}
}
}STDIO:
You can either use our Server hosted on NPM or run it completely locally by cloning this repo.
❗️ Important: If you want to use a different model you have to add --modelName to the args and provide that respective key as an arg. More info below.
To run on NPM (Recommended)
Go into your MCP Config JSON and add the Browserbase Server:
{
"mcpServers": {
"browserbase": {
"command": "npx",
"args": ["@browserbasehq/mcp-server-browserbase"],
"env": {
"BROWSERBASE_API_KEY": "",
"BROWSERBASE_PROJECT_ID": "",
"GEMINI_API_KEY": ""
}
}
}
}That's 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
cd mcp-server-browserbase
# Install the dependencies and build the project
pnpm install && pnpm buildThen in your MCP Config JSON run the server. To run locally we can use STDIO or self-host SHTTP.
STDIO:
To your MCP Config JSON file add the following:
{
"mcpServers": {
"browserbase": {
"command": "node",
"args": ["/path/to/mcp-server-browserbase/cli.js"],
"env": {
"BROWSERBASE_API_KEY": "",
"BROWSERBASE_PROJECT_ID": "",
"GEMINI_API_KEY": ""
}
}
}
}Then reload your MCP client and you should be good to go!
Configuration
The Browserbase MCP server accepts the following command-line flags:
Flag | Description |
| Enable Browserbase proxies for the session |
| Enable Browserbase Advanced Stealth (Only for Scale Plan Users) |
| Enable Browserbase Keep Alive Session |
| Specify a Browserbase Context ID to use |
| Whether to persist the Browserbase context (default: true) |
| Port to listen on for HTTP/SHTTP transport |
| Host to bind server to (default: localhost, use 0.0.0.0 for all interfaces) |
| JSON array of cookies to inject into the browser |
| Browser viewport width (default: 1024) |
| Browser viewport height (default: 768) |
| The model to use for Stagehand (default: google/gemini-2.0-flash) |
| API key for the custom model provider (required when using custom models) |
| Enable experimental features (default: false) |
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-server-browserbase).
Configuration Examples
Proxies
Here are our docs on Proxies.
To use proxies, set the --proxies flag in your MCP Config:
{
"mcpServers": {
"browserbase": {
"command": "npx",
"args": ["@browserbasehq/mcp-server-browserbase", "--proxies"],
"env": {
"BROWSERBASE_API_KEY": "",
"BROWSERBASE_PROJECT_ID": "",
"GEMINI_API_KEY": ""
}
}
}
}Advanced Stealth
Here are our docs on Advanced Stealth.
To use advanced stealth, set the --advancedStealth flag in your MCP Config:
{
"mcpServers": {
"browserbase": {
"command": "npx",
"args": ["@browserbasehq/mcp-server-browserbase", "--advancedStealth"],
"env": {
"BROWSERBASE_API_KEY": "",
"BROWSERBASE_PROJECT_ID": "",
"GEMINI_API_KEY": ""
}
}
}
}Contexts
Here are our docs on Contexts
To use contexts, set the --contextId flag in your MCP Config:
{
"mcpServers": {
"browserbase": {
"command": "npx",
"args": [
"@browserbasehq/mcp-server-browserbase",
"--contextId",
"<YOUR_CONTEXT_ID>"
],
"env": {
"BROWSERBASE_API_KEY": "",
"BROWSERBASE_PROJECT_ID": "",
"GEMINI_API_KEY": ""
}
}
}
}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 x 720, 1024 x 768)
{
"mcpServers": {
"browserbase": {
"command": "npx",
"args": [
"@browserbasehq/mcp-server-browserbase",
"--browserHeight 1080",
"--browserWidth 1920"
],
"env": {
"BROWSERBASE_API_KEY": "",
"BROWSERBASE_PROJECT_ID": "",
"GEMINI_API_KEY": ""
}
}
}
}Model Configuration
Stagehand defaults to using Google's Gemini 2.0 Flash model, but you can configure it to use other models like GPT-4o, Claude, or other providers.
Important: When using any custom model (non-default), you must provide your own API key for that model provider using the --modelApiKey flag.
Here's how to configure different models:
{
"mcpServers": {
"browserbase": {
"command": "npx",
"args": [
"@browserbasehq/mcp-server-browserbase",
"--modelName",
"anthropic/claude-3-5-sonnet-latest",
"--modelApiKey",
"your-anthropic-api-key"
],
"env": {
"BROWSERBASE_API_KEY": "",
"BROWSERBASE_PROJECT_ID": ""
}
}
}
}Note: The model must be supported in Stagehand. Check out the docs here. When using any custom model, you must provide your own API key for that provider.
Resources
The server provides access to screenshot resources:
Screenshots (
screenshot://<screenshot-name>)PNG images of captured screenshots
Key Features
AI-Powered Automation: Natural language commands for web interactions
Multi-Model Support: Works with OpenAI, Claude, Gemini, and more
Advanced Session Management: Single and multi-session support for parallel browser automation
Screenshot Capture: Full-page and element-specific screenshots
Data Extraction: Intelligent content extraction from web pages
Proxy Support: Enterprise-grade proxy capabilities
Stealth Mode: Advanced anti-detection features
Context Persistence: Maintain authentication and state across sessions
Parallel Workflows: Run multiple browser sessions simultaneously for complex automation tasks
For more information about the Model Context Protocol, visit:
For the official MCP Docs:
License
Licensed under the Apache 2.0 License.
Copyright 2025 Browserbase, Inc.
Available Tools
17 toolsbrowserbase_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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | The name of the screenshot |
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 the tool helps 'learn where you are on the page' which provides useful context about its purpose, but doesn't disclose important behavioral aspects like whether this is a read-only operation, what format the screenshot returns, or any performance implications. The description adds some value 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise with three sentences that each serve distinct purposes: stating the action, providing usage context, and giving exclusion criteria. Every sentence earns its place with no wasted words, and the information is front-loaded with the core functionality stated first.
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 relative simplicity (single optional parameter, no output schema, no annotations), the description provides good context about when and why to use it. However, it doesn't explain what the tool returns (screenshot format or location) or address potential limitations. For a screenshot tool with no output schema, this represents a minor gap in 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?
With 100% schema description coverage and only one optional parameter ('name'), the schema already fully documents the parameter. The description doesn't add any parameter-specific information, but with minimal parameters and complete schema coverage, this is acceptable. The baseline would be 3, but the description's focus on usage context rather than parameters justifies a slightly higher score.
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 ('Takes a screenshot') and resource ('current page'), distinguishing it from sibling tools like navigation or extraction tools. It provides a precise verb+resource combination that leaves no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool ('when controlling the browser with Stagehand' and 'when the other tools are not sufficient to get the information you need') and provides clear alternatives by referencing 'other tools' in the context of sibling Stagehand tools. This gives the agent specific guidance 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.
browserbase_session_closeA
Closes the current Browserbase session by properly shutting down the Stagehand instance, which handles browser cleanup and terminates the session recording.
| 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. It discloses key behavioral traits: it performs cleanup ('browser cleanup') and termination ('terminates the session recording'), indicating a destructive operation. However, it lacks details on side effects (e.g., what happens to open tabs), error handling, or prerequisites (e.g., must have an active session). No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that efficiently conveys the tool's purpose, mechanism, and outcomes without redundancy. It is front-loaded with the core action ('Closes the current Browserbase session') and adds only essential details, making every word earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a session-closing operation with no parameters and no output schema), the description is mostly complete. It explains what the tool does and its effects, but lacks information on return values or error cases. With no annotations, it could benefit from more behavioral context, but it adequately covers the basics for a simple 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 does not mention any parameters, which is appropriate. A baseline of 4 is applied for 0 parameters, as it adds no unnecessary information and aligns with the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the 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 also specifies the mechanism ('properly shutting down the Stagehand instance') and outcomes ('browser cleanup and terminates the session 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 implies usage context by mentioning 'current Browserbase session' and 'Stagehand instance,' suggesting it should be used after session activities. However, it does not explicitly state when to use it versus alternatives (e.g., no guidance on whether it's mandatory after other tools or if sessions auto-close). The sibling tools include session management and multi-session variants, but no direct comparisons are provided.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | No | Optional session ID to use/reuse. If not provided or invalid, a new session is created. |
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 effectively describes key behaviors: it creates or reuses a session based on sessionId, initializes Stagehand, updates the active session, and includes configuration flags (proxies, stealth, viewport, cookies). However, it lacks details on error handling, rate limits, or authentication needs, which are important for a creation 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 front-loaded with the core purpose, followed by a WARNING for usage guidelines, and additional details about configuration and updates. Every sentence adds necessary information without redundancy, making it efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a simple input schema, the description is mostly complete. It covers purpose, usage, parameters, and key behaviors. However, as a session creation tool, it could benefit from mentioning potential errors or return values, slightly reducing 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, so the baseline is 3. The description adds value by explaining the parameter's effect: 'Optional session ID to use/reuse. If not provided or invalid, a new session is created.' This clarifies the semantics beyond the schema's technical definition, justifying a higher score.
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: 'Create or reuse a single cloud browser session using Browserbase with fully initialized Stagehand.' It specifies the verb ('create or reuse'), resource ('cloud browser session'), and distinguishes it from its sibling 'multi_browserbase_stagehand_session_create' by emphasizing 'SINGLE browser workflows only.' This provides specific differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states 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'). It provides clear alternatives and exclusions, making it easy for an agent to choose correctly.
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".
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | The 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. | |
| variables | No | Variables 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
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 a prerequisite behavior ('If unsure, use observe before using act'), which is valuable context. However, it doesn't address potential side effects, error conditions, or what happens if the element isn't found, leaving behavioral gaps 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 appropriately sized with two sentences that each serve a clear purpose: the first defines the tool's function with examples, and the second provides usage constraints. It's front-loaded with the core purpose, though it could be slightly more structured by separating guidelines from examples.
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 (performing actions on web elements), lack of annotations, and no output schema, the description provides adequate basic guidance but lacks details on error handling, return values, or interaction with sibling tools. It covers the 'what' and 'when' reasonably well but leaves gaps in the 'how' and 'what happens next'.
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. The description doesn't add any parameter-specific information beyond what's in the schema descriptions, maintaining the baseline score of 3. The description's guidance on action specificity and variables usage is essentially repeated in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs actions on web page elements with specific examples ('Click the sign in button', 'Type 'hello' into the search input'), providing a clear verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like browserbase_stagehand_observe or browserbase_stagehand_extract, which likely have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool ('as atomic and specific as possible') and when to avoid it ('AVOID actions that are more than one step'), including concrete examples of what constitutes appropriate vs. inappropriate actions. It also references an alternative tool ('If unsure, use observe before using act'), though it doesn't name all sibling 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.
| Name | Required | Description | Default |
|---|---|---|---|
| instruction | Yes | The 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
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 extracts based on instructions and schema, works best with clear instructions, and ensures structured output. However, it lacks details on potential limitations (e.g., handling dynamic content, error cases, or performance aspects), which prevents a perfect score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with the core purpose, followed by usage guidelines and best practices. Each sentence adds value, such as distinguishing from 'observe' and advising on clear instructions. It could be slightly more concise by avoiding minor redundancy (e.g., repeating 'extract' concepts), but overall it's efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (extraction from web pages with a single parameter) and lack of annotations or output schema, the description does a good job covering purpose, usage, and behavioral aspects. It mentions the need for a JSON schema for output, which partially compensates for the missing output schema. However, it doesn't detail return formats or error handling, leaving some 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, providing detailed guidance on the 'instruction' parameter. The description adds some context by emphasizing the need for clear, specific instructions and a well-defined JSON schema for output, but this mostly reinforces the schema's content rather than adding significant new semantic value beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose 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, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides 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 ideal scenarios like scraping data and gathering information, 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_get_all_urlsA
Gets the current URLs of all active browser sessions. Returns a mapping of session IDs to their current URLs.
| 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 the tool's behavior as a read operation that returns a mapping, but lacks details on permissions, rate limits, or error handling. For a tool with no annotations, this is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose and followed by return details. Every sentence adds value without redundancy, making it efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 0 parameters, no annotations, and no output schema, the description is complete enough for a simple read tool. It explains what the tool does and the return format, though it could benefit from more behavioral context like session state dependencies.
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%. The description does not need to add parameter details. A baseline of 4 is appropriate as it clearly states the tool's function without unnecessary parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Gets' and the resource 'current URLs of all active browser sessions', specifying it returns a mapping of session IDs to URLs. It distinguishes from sibling tools like browserbase_stagehand_get_url (single session) 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving URLs across all sessions, but does not explicitly state when to use this vs. alternatives like browserbase_stagehand_get_url (for a single session) or browserbase_session_list. It provides clear context but lacks explicit exclusions or named alternatives.
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.
| 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 clearly indicates this is a read-only operation ('Gets') and specifies the return format ('complete URL including protocol, domain, path, and any query parameters or fragments'), but lacks details on error conditions, session requirements, or performance characteristics like latency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with zero waste: the first states the purpose, and the second details the return format. It is front-loaded with the core functionality and efficiently conveys necessary information without redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (0 parameters, no output schema, no annotations), the description is adequate but has gaps. It explains the return value well, but without annotations or output schema, it misses context like error handling or session dependencies. For a simple read operation, it's minimally viable but not fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and the input schema has 100% description coverage (though empty). The description appropriately does not discuss parameters, focusing instead on the return value. This meets the baseline of 4 for tools with no parameters, as there is 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 clearly states the specific action ('Gets the current URL') and resource ('of the browser page'), distinguishing it from siblings like 'browserbase_stagehand_navigate' (which changes URLs) and 'browserbase_stagehand_get_all_urls' (which retrieves multiple URLs). It precisely defines what the tool does without being tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'browserbase_stagehand_get_all_urls' or 'browserbase_stagehand_observe', nor does it mention prerequisites such as requiring an active browser session. It only states what the tool does, not when it should be used.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| instruction | Yes | Detailed 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. | |
| returnAction | No | Whether 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
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 the tool's behavior: it returns 'detailed information about the identified elements including their properties, location, and interaction capabilities,' which can be used to 'craft precise actions.' It also notes that 'the more specific your observation instruction, the more accurate the element identification will be,' adding useful context about performance. However, it lacks details on potential limitations, such as error handling 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with the core purpose, followed by usage guidelines and behavioral details. Most sentences add value, such as distinguishing from siblings and explaining parameter impact. However, it could be slightly more concise by avoiding minor repetition, like reiterating the tool's role as 'eyes' on the page.
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 (interactive element identification) and lack of annotations or output schema, the description does a good job of covering purpose, usage, and behavior. It explains what the tool does, when to use it, and what it returns. However, without an output schema, it could benefit from more details on the return format or examples of output, though the description partially compensates by mentioning 'properties, location, and interaction capabilities.'
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 both parameters thoroughly. The description adds value by emphasizing the importance of specificity in the 'instruction' parameter ('The more specific your observation instruction, the more accurate the element identification will be') and linking it to the tool's purpose ('Think of this as your 'eyes' on the page'). While it doesn't explain parameters beyond the schema, it provides context that enhances 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: '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 ('on the current web page'), and distinguishes it from sibling tools like 'extract' for text 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 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 clearly distinguishes between this tool and its alternatives, including 'act' and 'extract'.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | The session ID to use | |
| action | Yes | The 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. | |
| variables | No | Variables 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
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 the session context. However, it doesn't cover critical behavioral aspects like error handling, performance characteristics, side effects, or what happens if the action fails. The description adds some value but leaves significant gaps 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 appropriately sized and front-loaded with the core purpose. Every sentence adds value: the first states the purpose, the second provides usage guidelines with examples, and the third clarifies the session context. No wasted words, 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?
For a mutation tool with no annotations and no output schema, the description is moderately complete. It covers purpose and basic usage but lacks details on behavioral traits, error handling, and return values. Given the complexity of web automation and the absence of structured safety/behavioral data, more context 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%, so the schema already documents all three parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema descriptions. It reinforces the 'action' parameter guidance but doesn't provide additional semantic context. 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 '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 rather than navigation, observation, or session management. However, it doesn't explicitly differentiate from 'browserbase_stagehand_act' (the non-session version), which appears to be its direct counterpart.
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: for atomic, specific actions on web elements, with explicit examples of what to avoid (multi-step actions). It implies usage in a session context but doesn't explicitly state when to choose this over 'browserbase_stagehand_act' or other session-based tools like 'multi_browserbase_stagehand_observe_session'. No explicit alternatives or exclusions are named.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | The session ID to use | |
| instruction | Yes | The 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
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 the tool's function as extraction/scraping, specifies it works on the 'current web page', mentions it's 'for a specific session', and provides guidance on how to achieve best results with clear instructions and schemas. However, it doesn't mention potential limitations like rate limits, authentication needs, or error conditions.
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 sized and front-loaded with the core purpose in the first sentence. While it contains some redundancy (e.g., repeating the need for clear instructions), most sentences add value by providing usage guidance and best practices. The parenthetical note at the end could be better 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?
For a 2-parameter extraction tool with no annotations and no output schema, the description provides good context about what the tool does, when to use it, and how to use it effectively. It covers the core functionality well but doesn't describe the return format or potential limitations, which would be helpful given the absence of output schema and annotations.
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 both parameters thoroughly. The description mentions providing 'clear, specific instructions' and 'a well-defined JSON schema', which aligns with the schema's instruction parameter description but doesn't add significant semantic value beyond what's already in the structured schema 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 as extracting structured information and text content from web pages based on instructions and a schema. It specifically distinguishes this extraction-focused tool from interactive sibling tools like 'observe', making the verb+resource+scope explicit and differentiating it from alternatives.
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 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 use it ('For interactive elements like buttons, forms, or clickable items, use the observe tool instead'). It names the specific alternative tool and provides clear context for appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
multi_browserbase_stagehand_get_url_sessionA
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)
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | The session ID to use |
TDQS
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 the return value format ('complete URL including protocol, domain, path, and any query parameters or fragments'), which is useful behavioral context. However, it lacks details on error conditions, performance, or side effects (e.g., if this is a read-only operation or has rate limits), leaving gaps 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 front-loaded with the core purpose in the first sentence, followed by details on the return value and session context. Every sentence adds value without redundancy, and it is appropriately sized for a simple tool with one parameter.
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 (1 parameter, no output schema, no annotations), the description is reasonably complete for basic usage. It explains what the tool does and what it returns. However, without annotations or output schema, it could benefit from more behavioral details (e.g., error handling) to fully guide an agent in all scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the single parameter 'sessionId' fully documented in the schema. The description adds no additional parameter information beyond what the schema provides, such as format examples or constraints. This meets the baseline of 3 since 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 specific action ('Gets the current URL') and resource ('browser page'), distinguishing it from siblings like 'browserbase_stagehand_get_all_urls' (which gets multiple URLs) and 'browserbase_stagehand_navigate_session' (which changes URLs). It specifies the scope ('for a specific session'), making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by specifying 'for a specific session', which aligns with the required sessionId parameter. However, it does not explicitly state when to use this tool versus alternatives like 'browserbase_stagehand_get_url' (which might not require a session) or other session-based tools, leaving some ambiguity in sibling differentiation.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | The session ID to use | |
| instruction | Yes | Detailed 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. | |
| returnAction | No | Whether 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
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well. It explains what the tool returns ('detailed information about the identified elements including their properties, location, and interaction capabilities'), how results are used ('can then be used to craft precise actions'), and provides behavioral guidance ('The more specific your observation instruction, the more accurate the element identification will be'). It doesn't mention performance characteristics like rate limits or error conditions, but provides substantial 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 appropriately sized and front-loaded with the core purpose in the first sentence. Most sentences earn their place by providing important guidance, though the analogy 'Think of this as your 'eyes' on the page' could be considered slightly redundant given the earlier explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters, 100% schema coverage, but no annotations or output schema, the description provides good context. It explains the tool's role in a workflow (observe → act), distinguishes it from alternatives, and describes what information is returned. The main gap is the lack of output format details, but given the tool's purpose is element identification rather than complex data processing, the description is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds some context about the 'instruction' parameter ('The more specific your observation instruction, the more accurate the element identification will be'), but doesn't provide significant additional meaning beyond what's in the schema descriptions. This meets the baseline expectation when schema coverage is high.
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: 'Observes and identifies specific interactive elements on the current web page that can be used for subsequent actions.' It specifies the verb (observe/identify), resource (interactive elements on web page), and distinguishes from siblings by mentioning 'DO NOT use this tool for extracting text content or data - use the extract tool instead.'
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 explicit guidance on when to use ('Use this tool when you need to locate elements before performing actions with the act tool') and when not to use ('DO NOT use this tool for extracting text content or data - use the extract tool instead'). It clearly distinguishes this tool from the 'extract' and 'act' sibling tools.
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!
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | Exact session ID to close (get from 'multi_browserbase_stagehand_session_list'). Double-check this ID - once closed, the session cannot be recovered! |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well by disclosing key behavioral traits: it's a destructive operation ('terminates', 'ends', 'frees', 'once closed, the session cannot be recovered'), has cost implications ('billing charges'), and is critical for resource management ('avoids resource waste', 'each unclosed session continues consuming resources'). It doesn't cover rate limits or auth needs, but given the lack of annotations, this is strong 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 front-loaded with the core purpose in the first sentence, followed by critical usage guidelines and warnings. Every sentence earns its place by adding essential information about behavior, usage, and consequences, with no wasted words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (destructive operation with cost implications), no annotations, and no output schema, the description is largely complete. It covers purpose, usage, behavioral traits, and parameter context. A minor gap is the lack of explicit error handling or confirmation of success, but it strongly addresses the core needs for a cleanup tool 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?
Schema description coverage is 100%, so the baseline is 3. The description adds value by emphasizing the importance of the sessionId parameter ('Double-check this ID - once closed, the session cannot be recovered!') and providing context on where to get it ('get from multi_browserbase_stagehand_session_list'), which enhances understanding beyond the schema's technical 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 specific action ('cleanup', 'terminates', 'ends', 'frees') and resource ('parallel session for multi-session workflows', 'browser session', 'Browserbase session', 'cloud resources'). It distinguishes from siblings like 'browserbase_session_close' by specifying it's for 'multi-session workflows' and 'parallel sessions', making the purpose explicit and differentiated.
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 explicit guidance on when to use ('Always use this when finished with a session') and why ('to avoid resource waste and billing charges', 'Critical for responsible multi-session automation'). It implicitly distinguishes from alternatives by specifying it's for 'multi-session workflows', helping the agent choose this over 'browserbase_session_close' for parallel sessions.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Highly recommended: Descriptive name for tracking multiple sessions (e.g. 'amazon-scraper', 'user-login-flow', 'checkout-test-1'). Makes debugging and session management much easier! | |
| browserbaseSessionID | No | Resume 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
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: creates an isolated browser session with independent cookies, authentication, and state, and specifies that it's for parallel workflows. However, it lacks details on error handling, performance implications, or resource usage, which would be helpful for a tool creating multiple browser instances.
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 well-structured and front-loaded with the core purpose, followed by usage guidelines and behavioral details. It uses bullet-like examples efficiently but could be slightly more concise by reducing some redundancy in the use case list (e.g., 'parallel data scraping' and 'batch processing' overlap).
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 (creating parallel browser sessions) and lack of annotations or output schema, the description does a good job covering purpose, usage, and key behaviors. However, it could improve by mentioning output format (e.g., session ID for use with other tools) or potential limitations, which would help an agent understand the 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?
Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description does not add any parameter-specific information beyond what's in the schema, such as explaining how parameters interact with the multi-session context. 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool's purpose as 'Create parallel browser session for multi-session workflows' and provides specific use cases like parallel data scraping, concurrent automation, A/B testing, etc. It clearly distinguishes from sibling tools by emphasizing multi-session capabilities and the need to pair with session-specific tools, unlike the single-session 'browserbase_session_create'.
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 explicit guidance on when to use this tool ('when you need multiple browser instances running simultaneously') and lists specific scenarios (parallel data scraping, concurrent automation, etc.). It also states when to use it ('any task requiring more than one browser') and how to use it ('Always pair with session-specific tools'), offering clear alternatives to single-session tools.
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.
| 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 effectively describes the tool's behavior: it tracks and lists active sessions with specific attributes (IDs, names, ages, Browserbase session IDs), is critical for management, and supports debugging and resource management. However, it lacks details on output format, error handling, or performance characteristics, which could enhance transparency further.
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 front-loaded with key information ('ONLY WORKS WITH MULTI-SESSION TOOLS! Track all parallel sessions'), but includes some repetitive or emphatic language like 'Critical tool for multi-session management!' and 'Essential for debugging and resource management,' which could be streamlined. Overall, it's informative but not maximally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multi-session management), no annotations, no output schema, and 0 parameters, the description provides strong contextual completeness. It explains the tool's role, usage scenarios, and value in debugging and resource management. However, the absence of an output schema means the description doesn't detail return values, leaving a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%, 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 this dimension.
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: 'Track all parallel sessions' and 'Shows all active browser sessions with their IDs, names, ages, and Browserbase session IDs.' It distinguishes itself from siblings by emphasizing it's 'ONLY WORKS WITH MULTI-SESSION TOOLS!' and 'Critical tool for multi-session management,' setting it apart from single-session tools like browserbase_session_create.
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 explicit guidance on when to use this tool: 'ONLY WORKS WITH MULTI-SESSION TOOLS!' and 'Use this frequently to monitor your parallel automation workflows, verify sessions are running, and get session IDs for session-specific tools.' It also implies alternatives by referencing 'session-specific tools' and 'multi-browser scenarios,' helping the agent understand its role in the broader toolset.
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.
17 tool updates
v1.0.0- Changed
browserbase_screenshot2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
browserbase_session_close2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
browserbase_session_create2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
browserbase_stagehand_act2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
browserbase_stagehand_extract2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
browserbase_stagehand_get_all_urls2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
browserbase_stagehand_get_url2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
browserbase_stagehand_navigate2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
browserbase_stagehand_observe2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
multi_browserbase_stagehand_act_session2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
multi_browserbase_stagehand_extract_session2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
multi_browserbase_stagehand_get_url_session2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
multi_browserbase_stagehand_navigate_session2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
multi_browserbase_stagehand_observe_session2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
multi_browserbase_stagehand_session_close2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
multi_browserbase_stagehand_session_create2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
multi_browserbase_stagehand_session_list2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
17 tool updates
- First observed
browserbase_screenshot - First observed
browserbase_session_close - First observed
browserbase_session_create - First observed
browserbase_stagehand_act - First observed
browserbase_stagehand_extract - First observed
browserbase_stagehand_get_all_urls - First observed
browserbase_stagehand_get_url - First observed
browserbase_stagehand_navigate - First observed
browserbase_stagehand_observe - First observed
multi_browserbase_stagehand_act_session - First observed
multi_browserbase_stagehand_extract_session - First observed
multi_browserbase_stagehand_get_url_session - First observed
multi_browserbase_stagehand_navigate_session - First observed
multi_browserbase_stagehand_observe_session - First observed
multi_browserbase_stagehand_session_close - First observed
multi_browserbase_stagehand_session_create - First observed
multi_browserbase_stagehand_session_list
TDQS
The tool set has clear functional distinctions between core actions (act, extract, navigate, observe, get_url) and session management (create, close, list), but there is significant overlap between single-session and multi-session versions of the same tools. For example, browserbase_stagehand_act and multi_browserbase_stagehand_act_session perform identical actions, differing only in session context, which could lead to confusion about when to use each. The descriptions help clarify the single vs. multi-session distinction, but the duplication creates ambiguity in tool selection.
Naming follows a consistent snake_case pattern throughout, with a clear structure: prefix (browserbase or multi_browserbase), functional component (e.g., stagehand_act), and sometimes a suffix (e.g., _session). The multi-session tools systematically append '_session' to their single-session counterparts, enhancing predictability. However, there are minor deviations, such as browserbase_screenshot not following the 'stagehand' naming convention and multi_browserbase_stagehand_session_list being slightly inconsistent in structure compared to others.
With 17 tools, the count is borderline high for a browser automation server, as it includes duplicated functionality across single and multi-session contexts. While the domain of browser control and multi-session management justifies a larger set, the duplication inflates the count unnecessarily. A more streamlined approach could reduce the number without losing capability, making it feel slightly heavy for the scope.
The tool surface comprehensively covers browser automation needs, including navigation, interaction (act/observe), data extraction, session management (create/close/list), and multi-session support. There are no obvious gaps; agents can perform full workflows from session creation to cleanup, with clear guidance on tool usage. The inclusion of both single and multi-session tools ensures coverage for various automation scenarios, making the set complete for its domain.
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
Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to i…
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
Related MCP Servers
- AlicenseAqualityNot gradedmaintenanceEnables AI to control cloud browsers and automate web interactions through Browserbase and Stagehand. Supports web navigation, form filling, data extraction, screenshots, and automated actions with natural language commands.82,875-
- AlicenseAqualityDmaintenanceEnables cloud browser automation through Browserbase and Stagehand, allowing LLMs to navigate web pages, extract data, take screenshots, fill forms, and perform automated web interactions with multi-session support.142,875Apache 2.0
- AlicenseAqualityDmaintenanceEnables cloud browser automation through Browserbase and Stagehand, allowing LLMs to interact with web pages, take screenshots, extract data, and perform automated actions with support for proxies, stealth mode, and parallel sessions.145,333Apache 2.0
- AlicenseAqualityDmaintenanceEnables AI-powered browser automation through Browserbase and Stagehand, allowing LLMs to navigate websites, extract data, take screenshots, and perform web interactions using natural language commands.92,875Apache 2.0
Appeared in Searches
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/RonsDad/mcp-server-browserbase'
If you have feedback or need assistance with the MCP directory API, please join our Discord server