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 Hacker News homepage"
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"],
"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) |
| 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) |
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).
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", "--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", "--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", "--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",
"--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",
"--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
14 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 effectively communicates the tool's purpose (capturing visual state) and context (browser control with Stagehand), though it doesn't mention potential side effects like performance impact or file storage behavior. 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 perfectly concise with three sentences that each earn their place: the core function, the primary use case, and the usage restriction. It's front-loaded with the essential information and wastes no words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no annotations and no output schema, the description provides excellent context about purpose and usage guidelines. It could potentially mention what the screenshot returns (e.g., image data or file path), but given the tool's simplicity and clear behavioral context, it's mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage for its single parameter, so the baseline is 3. The description doesn't add specific parameter information, but it provides valuable context about when and why to use the tool, which indirectly informs parameter usage. This elevates it above the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('takes a screenshot') and resource ('of the current page'), distinguishing it from siblings 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 ('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'). This provides clear guidance about its specific context and alternatives.
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 behavioral traits: it's a destructive operation (closes/shuts down), performs cleanup, and terminates recording. However, it lacks details on side effects (e.g., data loss, error handling), permissions, or rate limits, which are important for a session management tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that efficiently conveys the action, mechanism, and outcomes without redundancy. It is front-loaded with the core purpose ('Closes the current Browserbase session') and every part adds value, making it concise and effective.
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 (session management with cleanup) and no annotations or output schema, the description is moderately complete. It covers the main action and effects but lacks details on return values, error conditions, or integration with sibling tools, leaving gaps for an agent to understand full behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately adds no parameter information, focusing on the tool's action and effects. A baseline of 4 is applied as it compensates adequately for the lack of parameters by explaining the tool's purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('closes') and resource ('current Browserbase session'), distinguishing it from siblings like 'browserbase_session_create' (creates) and 'browserbase_screenshot' (captures). It specifies the mechanism ('properly shutting down the Stagehand instance') and outcomes ('handles browser cleanup and terminates the session recording'), 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 referencing '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 if it's mandatory after each session or optional), nor does it mention prerequisites like needing an active session first.
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 sessions based on sessionId parameter, initializes Stagehand with configuration flags (proxies, stealth, viewport, cookies), and updates the active session. The WARNING about single-browser-only usage is particularly valuable behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured with zero waste. The first sentence establishes the core purpose, the second provides critical warnings and alternatives, and the third adds implementation details. Every sentence earns its place and the warning is appropriately front-loaded for immediate visibility.
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 (session management with Stagehand initialization) and no annotations or output schema, the description does well at covering key aspects: purpose, usage constraints, behavioral traits, and parameter implications. It could benefit from mentioning what 'updates the active session' means operationally, but overall provides substantial context for a tool with significant behavioral implications.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100% (the single parameter 'sessionId' is fully documented in the schema). The description adds some context by mentioning 'If not provided or invalid, a new session is created,' which reinforces the schema's documentation. However, it doesn't provide significant additional parameter semantics beyond what the schema already covers.
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 ('Create or reuse a single cloud browser session') with the resource ('Browserbase with fully initialized Stagehand'). It explicitly distinguishes this tool from its sibling 'multi_browserbase_stagehand_session_create' by emphasizing it's for SINGLE browser workflows only, providing clear 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 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'). It names the specific alternative tool and describes the appropriate context for each.
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 of behavioral disclosure. It effectively communicates that this is a mutation tool (performs actions) and emphasizes atomicity, but lacks details on error handling, timing, or what happens if the element isn't found. The guidance about using variables for sensitive data adds some behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences that each serve a clear purpose: the first defines the tool's function with examples, the second provides critical usage guidance. It's front-loaded with the core purpose, though some repetition with the schema reduces efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description does a good job covering the essential context: what the tool does, when to use it, and critical constraints. It could be more complete by addressing error scenarios or response format, but given the schema's thorough parameter documentation, it's reasonably 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?
Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description doesn't add any parameter information beyond what's in the schema - it essentially repeats the same guidance about atomic actions. 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.
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 siblings by focusing on atomic actions rather than navigation, observation, extraction, or session management.
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 not to use it ('AVOID actions that are more than one step'). It also references an alternative sibling tool ('If unsure, use observe before using act'), which helps the agent choose between act and observe appropriately.
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. It discloses key behavioral traits: it extracts from the 'current web page', works best with 'clear, specific instructions' and a 'well-defined JSON schema', and ensures data is 'properly structured and usable'. It doesn't mention error handling, performance, or authentication needs, but covers core functionality well.
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. Each subsequent sentence adds value: ideal use cases, when to use vs. alternatives, and best practices. It could be slightly more concise but remains efficient with zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a single parameter with full schema coverage, the description is reasonably complete. It explains what the tool does, when to use it, and best practices. It doesn't detail return values or error cases, but for a 1-param extraction tool, this is adequate.
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 the 'instruction' parameter thoroughly. The description adds minimal value beyond the schema by emphasizing 'clear, specific instructions' and 'well-defined JSON schema', but doesn't provide additional syntax or format details. Baseline 3 is appropriate given high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Extracts structured information and text content from the current web page based on specific instructions and a defined schema.' It uses specific verbs ('extracts', 'scraping', 'gathering', 'pulling') and distinguishes from sibling tools like 'observe' for interactive elements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states 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 provides clear alternatives and 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.
| 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 key behavioral traits: it returns detailed information about elements (properties, location, interaction capabilities), emphasizes that specificity improves accuracy, and positions it as a preparatory step for crafting actions. However, it lacks details on potential limitations like timeouts, error handling, or performance implications.
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 core purpose and usage guidelines. Most sentences earn their place by clarifying scope, distinguishing from siblings, or explaining behavioral aspects. It could be slightly more concise by trimming repetitive emphasis on specificity, but overall it's efficient and focused.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of web element observation, no annotations, and no output schema, the description does a good job covering purpose, usage, and behavioral context. It explains what the tool returns and how to use results. However, it lacks details on output format or potential edge cases, leaving some gaps for an agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing a solid baseline. The description adds some value by reinforcing the importance of specific instructions ('The more specific your observation instruction, the more accurate the element identification will be') and framing the 'instruction' parameter as guiding the tool's 'eyes' on the page. However, it doesn't significantly expand on parameter meaning beyond what the schema already documents.
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 ('observes and identifies') and resources ('interactive elements on the current web page'), and explicitly distinguishes it from sibling tools by contrasting with 'extract tool' for text content extraction and positioning it as preparatory for 'act tool' actions. It defines the scope as actionable elements like buttons, links, form fields, etc.
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'), directly naming alternatives. This clearly differentiates it from sibling tools like extract and act.
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 full burden. It discloses that actions should be atomic and specific, and suggests using observe first if unsure. However, it doesn't mention important behavioral aspects like whether this is a read/write operation, what happens on failure, or any rate limits. The guidance about atomicity and observation is helpful but incomplete.
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. The first sentence states what it does, followed by specific guidance. However, the parenthetical '(for a specific session)' at the end feels tacked on rather than integrated into the flow, and some content duplicates schema information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 parameters, no annotations, and no output schema, the description provides basic guidance but lacks important context. It doesn't explain what happens after the action, what the return value might be, error conditions, or how this differs from the non-session version. For a web automation tool with session management, more behavioral 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 parameters thoroughly. The description doesn't add any meaningful parameter semantics beyond what's in the schema - it repeats the same examples and guidance about atomic actions that's already 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.
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 specifying 'for a specific session', but doesn't explicitly differentiate from other session-based tools like multi_browserbase_stagehand_extract_session.
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 on when to use this tool: for atomic, specific actions on web page elements. It explicitly advises against multi-step actions like 'Order me pizza' and suggests using 'observe before using act' if unsure. However, it doesn't mention when to use alternatives like browserbase_stagehand_act (non-session version) or other 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_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 explains that the tool extracts data based on instructions and a schema, and works best with clear inputs, but lacks details on potential limitations, error handling, or performance aspects like rate limits or authentication needs. It adds some context but falls short of comprehensive behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 usage guidelines. It uses clear sentences without unnecessary fluff, though it could be slightly more concise by avoiding minor repetition (e.g., 'extract' mentioned multiple times). Overall, it efficiently conveys key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (data extraction from web pages) and lack of annotations or output schema, the description is moderately complete. It covers purpose, usage, and input guidance but misses details on output format, error cases, or behavioral constraints. For a tool with no structured output information, more context on what to expect from results would improve 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?
Schema description coverage is 100%, so the input schema already documents both parameters thoroughly. The description adds minimal value beyond the schema, such as emphasizing the importance of specific instructions, but does not provide additional syntax or format details. This meets the baseline for high schema coverage without significant enhancement.
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 extraction based on instructions and a schema, making the function distinct 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.
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... use the observe tool instead'). It also mentions alternatives by name, ensuring clear differentiation from sibling tools, which enhances agent decision-making.
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 the full burden of behavioral disclosure. It effectively describes key traits: it's a read-only observation tool (implied by 'observes and identifies'), returns detailed element information (properties, location, interaction capabilities), and performance depends on instruction specificity ('the more specific your observation instruction, the more accurate'). However, it lacks details on potential errors, rate limits, or session requirements beyond the parameter schema.
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 core purpose and usage guidelines, but it includes some redundant phrasing (e.g., repeating 'specific' multiple times) and could be more concise. Sentences like 'Think of this as your 'eyes' on the page' add metaphorical clarity but are not strictly necessary, slightly reducing efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is largely complete: it clarifies purpose, usage, and behavioral traits. However, it lacks explicit mention of output format or error handling, which would be helpful for an agent invoking the tool. The absence of an output schema means the description could better address what 'detailed information' entails.
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 minimal value beyond the schema, only reinforcing the importance of specificity for the 'instruction' parameter ('The more specific your observation instruction, the more accurate the element identification will be'). It does not explain parameter interactions or provide additional context, meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('observes and identifies') and resources ('interactive elements on the current web page'), explicitly distinguishing it from sibling tools like 'extract' for text content and positioning it as preparatory for the 'act' tool. It provides concrete examples of actionable elements (buttons, links, form fields) that differentiate its scope from other observation or extraction tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states 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'), providing clear alternatives. It also implies usage context by mentioning it returns information for 'crafting precise actions,' guiding the agent on its role in a workflow.
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 of behavioral disclosure. It effectively describes critical behavioral traits: the tool performs a destructive operation (terminates and frees resources), has irreversible consequences ('once closed, the session cannot be recovered'), and addresses cost implications ('billing charges', 'consuming resources'). It doesn't cover rate limits or auth needs, but given the context, this is sufficient for a high 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 appropriately sized and front-loaded, with every sentence adding value. The first sentence states the purpose, the second explains the action, and the remaining sentences provide critical usage guidelines and warnings, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (destructive operation with cost implications), no annotations, and no output schema, the description does well by covering purpose, usage, and behavioral risks. However, it doesn't specify the return value or error conditions, which leaves a minor gap in completeness for a tool with such significant consequences.
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 meaningful context beyond the schema by emphasizing the importance of the sessionId parameter ('Double-check this ID') and referencing where to obtain it ('get from multi_browserbase_stagehand_session_list'), which enhances understanding without redundancy.
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 ('cleanup', 'terminates', 'ends', 'frees') and resources ('parallel session', 'browser session', 'Browserbase session', 'cloud resources'). It distinguishes from siblings by focusing on cleanup for multi-session workflows, unlike session creation or action tools in the sibling list.
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 ('Always use this when finished with a session') and why ('to avoid resource waste and billing charges'). It also implies alternatives by referencing 'multi_browserbase_stagehand_session_list' for getting session IDs, though it doesn't explicitly name when-not-to-use scenarios, the 'always use' directive is strong enough for full credit.
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 session with independent cookies, authentication, and state, and implies it's a creation/mutation operation. However, it lacks details on error handling, performance implications, or session lifecycle management, which would be helpful 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 well-structured and front-loaded with the core purpose. It uses bullet-like examples efficiently but could be slightly more concise by combining some phrases (e.g., 'parallel data scraping, concurrent automation, A/B testing...' is a bit lengthy). Overall, most sentences earn their place by adding value.
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 2 parameters with full schema coverage, the description does a good job covering the tool's context. It explains the tool's role in multi-session workflows and pairing requirements. However, it could benefit from mentioning what the tool returns (e.g., a session ID) since there's no output schema, 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?
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 (e.g., it doesn't explain 'name' or 'browserbaseSessionID' further). 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 clearly states the tool's purpose: 'Create parallel browser session for multi-session workflows.' It specifies the verb ('create'), resource ('parallel browser session'), and distinguishes it from sibling tools by emphasizing multi-session capabilities versus single-session alternatives 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: 'Use this when you need multiple browser instances running simultaneously' and lists specific scenarios (e.g., parallel data scraping, A/B testing). It also distinguishes from alternatives by noting it's 'Perfect for scaling automation tasks' and advises to 'Always pair with session-specific tools (those ending with '_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_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?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It effectively describes the tool's behavior: it lists active sessions with specific attributes (IDs, names, ages, Browserbase session IDs) and is essential for monitoring, debugging, and resource management. However, it lacks details on potential limitations like rate limits, error conditions, or performance implications, which would be helpful for a tool used 'frequently' in complex scenarios.
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, starting with a critical warning ('ONLY WORKS WITH MULTI-SESSION TOOLS!') followed by the core purpose. Each sentence adds value, such as detailing what it shows and when to use it. However, it includes some redundancy (e.g., 'Critical tool' and 'Essential') and could be slightly more streamlined without losing key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multi-session management), lack of annotations, and no output schema, the description does a good job of explaining its role and importance. It covers purpose, usage guidelines, and behavioral context adequately. However, it could be more complete by specifying the output format or example return values, which would help the agent understand what to expect, especially since there's no output schema provided.
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 information is needed. The description does not mention any parameters, which is appropriate. A baseline score of 4 is given as it compensates well for the lack of parameters by focusing on usage context, though it could slightly improve by explicitly stating 'no parameters required' for clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Track all parallel sessions' and 'Shows all active browser sessions with their IDs, names, ages, and Browserbase session IDs.' It uses specific verbs ('track,' 'shows') and resources ('parallel sessions,' 'active browser sessions'), and distinguishes itself from sibling tools by emphasizing its role in multi-session management, unlike single-session tools like browserbase_screenshot or session-specific tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides 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 highlights its critical role in 'multi-session management,' making it clear when it should be used versus other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The tools are well-differentiated by their core functions (screenshot, session management, navigation, action, observation, extraction), with clear guidance on when to use each. However, there is some overlap between single-session and multi-session variants of the same action tools (e.g., browserbase_stagehand_act vs. multi_browserbase_stagehand_act_session), which could cause confusion if an agent misselects between them based on session context.
The naming follows a consistent snake_case pattern with a clear prefix structure (browserbase_ or multi_browserbase_). Most tools use descriptive verb_noun combinations (e.g., session_create, stagehand_act). The main inconsistency is the suffix '_session' on multi-session tools, which is applied consistently within that subset but creates a slight deviation from the single-session naming.
With 14 tools, the count is appropriate for a browser automation server. It covers essential operations (create, navigate, act, observe, extract, close) for both single and multi-session workflows, plus session listing and screenshot capabilities, without being overly bloated or insufficient for the domain.
The toolset provides comprehensive coverage for browser automation. It includes session lifecycle management (create, list, close), core browsing actions (navigate, act, observe, extract), and specialized utilities (screenshot). Both single and parallel session workflows are fully supported, with no apparent gaps in functionality for the stated purpose.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to i…
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
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
- AlicenseAqualityCmaintenanceEnables cloud browser automation using Browserbase and Stagehand to interact with web pages, extract data, take screenshots, and perform automated actions with AI-powered natural language commands.172,875Apache 2.0
- 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 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
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/AI-Zebra/mcp-server-browserbase'
If you have feedback or need assistance with the MCP directory API, please join our Discord server