Hyperbrowser
The Hyperbrowser MCP Server enables
Enables scraping webpage content and converting it to Markdown format for better readability in AI contexts.
Click on "Deploy 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., "@Hyperbrowserscrape the latest AI news from TechCrunch and summarize the top 3 articles"
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.
Hyperbrowser MCP Server
This is Hyperbrowser's Model Context Protocol (MCP) Server. It provides various tools to scrape, extract structured data, and crawl webpages. It also provides easy access to general purpose browser agents like OpenAI's CUA, Anthropic's Claude Computer Use, and Browser Use.
More information about the Hyperbrowser can be found here. The hyperbrowser API supports a superset of features present in the mcp server.
More information about the Model Context Protocol can be found here.
Table of Contents
Related MCP server: AgentBrowser
Installation
Manual Installation
To install the server, run:
npx hyperbrowser-mcp <YOUR-HYPERBROWSER-API-KEY>Running on Cursor
Add to ~/.cursor/mcp.json like this:
{
"mcpServers": {
"hyperbrowser": {
"command": "npx",
"args": ["-y", "hyperbrowser-mcp"],
"env": {
"HYPERBROWSER_API_KEY": "YOUR-API-KEY"
}
}
}
}Running on Windsurf
Add to your ./codeium/windsurf/model_config.json like this:
{
"mcpServers": {
"hyperbrowser": {
"command": "npx",
"args": ["-y", "hyperbrowser-mcp"],
"env": {
"HYPERBROWSER_API_KEY": "YOUR-API-KEY"
}
}
}
}Development
For development purposes, you can run the server directly from the source code.
Clone the repository:
git clone git@github.com:hyperbrowserai/mcp.git hyperbrowser-mcp cd hyperbrowser-mcpInstall dependencies:
npm install # or yarn install npm run buildRun the server:
node dist/server.js
Claude Desktop app
This is an example config for the Hyperbrowser MCP server for the Claude Desktop client.
{
"mcpServers": {
"hyperbrowser": {
"command": "npx",
"args": ["--yes", "hyperbrowser-mcp"],
"env": {
"HYPERBROWSER_API_KEY": "your-api-key"
}
}
}
}Tools
scrape_webpage- Extract formatted (markdown, screenshot etc) content from any webpagecrawl_webpages- Navigate through multiple linked pages and extract LLM-friendly formatted contentextract_structured_data- Convert messy HTML into structured JSONsearch_with_bing- Query the web and get results with Bing searchbrowser_use_agent- Fast, lightweight browser automation with the Browser Use agentopenai_computer_use_agent- General-purpose automation using OpenAI’s CUA modelclaude_computer_use_agent- Complex browser tasks using Claude computer usecreate_profile- Creates a new persistent Hyperbrowser profile.delete_profile- Deletes an existing persistent Hyperbrowser profile.list_profiles- Lists existing persistent Hyperbrowser profiles.
Installing via Smithery
To install Hyperbrowser MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @hyperbrowserai/mcp --client claudeResources
The server provides the documentation about hyperbrowser through the resources methods. Any client which can do discovery over resources has access to it.
License
This project is licensed under the MIT License.
Available Tools
10 toolsbrowser_use_agentA
This tool employs an open-source browser automation agent optimized specifically for fast, efficient, and cost-effective browser tasks using a cloud browser. It requires explicit, detailed instructions to perform highly specific interactions quickly.
Optimal for tasks requiring:
Precise, explicitly defined interactions and actions
Speed and efficiency with clear, unambiguous instructions
Cost-effective automation at scale with straightforward workflows
Best suited use cases include:
Explicitly defined registration and login processes
Clearly guided navigation through web apps
Structured, step-by-step web scraping with detailed guidance
Extracting data via explicitly specified browser interactions
You must provide extremely detailed step-by-step instructions, including exact elements, actions, and explicit context. Clearly define the desired outcome for optimal results. Returns the completed result or an error message if issues arise.
Note: This agent trades off flexibility for significantly faster performance and lower costs compared to Claude and OpenAI agents.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | The task to perform inside the browser | |
| sessionOptions | No | Options for the browser session. Avoid setting these if not mentioned explicitly | |
| returnStepInfo | No | Whether to return step-by-step information about the task.Should be false by default. May contain excessive information, so we strongly recommend setting this to false. | |
| maxSteps | No |
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 at disclosing behavioral traits. It explains the agent's characteristics (fast, efficient, cost-effective, trades flexibility for performance), requirements (explicit detailed instructions), and operational constraints (returns completed result or error message). However, it doesn't mention rate limits, authentication needs, or specific error handling details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (purpose, optimal for, best suited use cases, requirements, note). While somewhat lengthy at 11 sentences, each sentence earns its place by providing distinct guidance. The information is front-loaded with the core purpose first, followed by usage criteria.
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 (browser automation with 4 parameters including nested objects) and no annotations or output schema, the description does a good job covering the essential context. It explains the agent's purpose, optimal use cases, requirements, and trade-offs. However, it could provide more about error scenarios, performance characteristics, or relationship to other browser tools.
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 75% schema description coverage, the baseline is 3. The description doesn't specifically discuss any of the 4 parameters (task, sessionOptions, returnStepInfo, maxSteps) beyond general guidance about providing 'extremely detailed step-by-step instructions.' It adds some context about instruction specificity but doesn't explain parameter meanings or relationships beyond what's 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 'employs an open-source browser automation agent optimized specifically for fast, efficient, and cost-effective browser tasks using a cloud browser.' It specifies the verb (employs/uses) and resource (browser automation agent) and distinguishes from siblings by mentioning it's optimized for speed/efficiency/cost compared to Claude and OpenAI agents. However, it doesn't explicitly differentiate from other browser-related siblings like crawl_webpages or scrape_webpage.
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 excellent usage guidance with explicit 'Optimal for tasks requiring' and 'Best suited use cases include' sections. It gives clear when-to-use criteria (precise, explicit instructions; speed/efficiency needs; cost-effective automation) and explicitly mentions alternatives ('compared to Claude and OpenAI agents'). It also provides clear exclusions by stating it trades off flexibility for performance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
claude_computer_use_agentA
This tool leverages Anthropic's Claude model to autonomously execute complex browser tasks with sophisticated reasoning capabilities using a cloud browser. It specializes in handling intricate, nuanced, or highly context-sensitive web interactions.
Optimal for tasks requiring:
Complex reasoning over multiple web pages
Nuanced interpretation and flexible decision-making
Human-like interaction with detailed context awareness
Best suited use cases include:
Multi-step processes requiring reasoning (e.g., detailed registrations or onboarding)
Interacting intelligently with advanced web apps
Conducting in-depth research with complex conditions
Extracting information from dynamic or interactive websites
Provide detailed task instructions, relevant context, and clearly specify the desired outcome for best results. Returns the completed result or an error message if issues arise.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | The task to perform inside the browser | |
| sessionOptions | No | Options for the browser session. Avoid setting these if not mentioned explicitly | |
| returnStepInfo | No | Whether to return step-by-step information about the task.Should be false by default. May contain excessive information, so we strongly recommend setting this to false. | |
| maxSteps | No |
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 returns 'the completed result or an error message if issues arise,' which covers basic output behavior. However, it lacks details on potential side effects (e.g., browser state changes), authentication needs, rate limits, or error handling specifics, leaving gaps for a tool with complex operations.
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 clear purpose statement followed by bullet points for optimal use cases and best practices. While efficient, the bulleted lists could be slightly more streamlined, but every sentence adds value without 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 (autonomous browser execution with reasoning), no annotations, no output schema, and 4 parameters with nested objects, the description is moderately complete. It covers purpose and usage well but lacks details on behavioral traits, error scenarios, and output specifics, which are important for such a sophisticated 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?
Schema description coverage is 75%, so the schema already documents most parameters well. The description adds minimal parameter-specific information beyond advising to 'provide detailed task instructions, relevant context, and clearly specify the desired outcome,' which loosely relates to the 'task' parameter but doesn't enhance understanding of sessionOptions, returnStepInfo, or maxSteps beyond what the schema provides.
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 'leverages Anthropic's Claude model to autonomously execute complex browser tasks with sophisticated reasoning capabilities using a cloud browser.' It specifies the verb (execute), resource (browser tasks), and differentiates from siblings by emphasizing complex reasoning and nuanced interpretation, unlike simpler tools like scrape_webpage or crawl_webpages.
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 versus alternatives. It lists optimal use cases (e.g., multi-step processes, interacting with advanced web apps, in-depth research) and distinguishes it from siblings by focusing on complex, context-sensitive tasks rather than basic scraping or searching.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crawl_webpagesB
Crawl a website starting from a URL and explore linked pages. This tool allows systematic collection of content from multiple pages within a domain. Use this for larger data collection tasks, content indexing, or site mapping.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL of the webpage to crawl. | |
| sessionOptions | No | Options for the browser session. Avoid setting these if not mentioned explicitly | |
| outputFormat | Yes | The format of the output | |
| followLinks | Yes | Whether to follow links on the crawled webpages | |
| maxPages | No | ||
| ignoreSitemap | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but provides minimal behavioral disclosure. It mentions 'systematic collection' and 'explore linked pages' but omits critical details: rate limits, authentication needs, potential destructive effects (e.g., server load), timeouts, or output format specifics. For a complex 6-parameter crawling tool, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences front-load the core purpose, then provide usage context. No wasted words, though the final sentence could be more tightly integrated. Efficient for the tool's complexity, but not perfectly structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex crawling tool with 6 parameters, nested objects, no annotations, and no output schema, the description is insufficient. It lacks behavioral warnings (e.g., ethical crawling, rate limits), output details, and fails to compensate for missing annotation coverage. The usage guidelines help but don't address operational constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, providing decent parameter documentation. The description adds marginal value by implying 'starting from a URL' (maps to 'url' parameter) and 'explore linked pages' (hints at 'followLinks'), but doesn't explain other parameters like 'outputFormat' or 'maxPages'. Baseline 3 is appropriate given 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: 'Crawl a website starting from a URL and explore linked pages' with specific verbs ('crawl', 'explore') and resource ('website', 'linked pages'). It distinguishes from sibling 'scrape_webpage' by emphasizing multi-page collection, though not explicitly named. The 'systematic collection of content from multiple pages' further clarifies scope.
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: 'for larger data collection tasks, content indexing, or site mapping.' This implicitly distinguishes from single-page scraping tools like 'scrape_webpage' and suggests scale. However, it lacks explicit exclusions or named alternatives, preventing a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_profileB
Creates a new persistent Hyperbrowser profile.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool creates a 'persistent' profile, which hints at long-term storage, but doesn't clarify what 'persistent' entails (e.g., durability, storage location). It omits critical details like authentication requirements, error conditions (e.g., if a profile already exists), or side effects. This is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core action ('Creates'), and every word ('new persistent Hyperbrowser profile') adds meaningful context without fluff. This is optimally concise for the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a mutation tool (creates) with no annotations and no output schema, the description is incomplete. It lacks information on what the tool returns (e.g., profile ID, success status), error handling, or behavioral nuances like idempotency. The agent would struggle to use this effectively without trial and error.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, avoiding redundancy. A baseline of 4 is applied since the schema fully handles parameters, and the description doesn't add unnecessary 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 action ('Creates') and resource ('new persistent Hyperbrowser profile'), making the purpose unambiguous. It doesn't explicitly differentiate from sibling tools like 'list_profiles' or 'delete_profile', but the verb 'Creates' inherently distinguishes it from read/delete operations. A 5 would require explicit sibling 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 no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., whether a profile must not already exist), when it's appropriate versus using 'list_profiles' first, or any constraints. This leaves the agent without contextual usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_profileB
Deletes an existing persistent Hyperbrowser profile.
| Name | Required | Description | Default |
|---|---|---|---|
| profileId | Yes | ID of the profile to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While 'Deletes' implies a destructive operation, it doesn't specify whether deletion is permanent, requires specific permissions, affects associated data, or has confirmation steps. This is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's appropriately sized for a simple deletion tool and front-loads the essential information without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with no annotations and no output schema, the description is insufficient. It doesn't explain what happens after deletion, whether it's reversible, error conditions, or return values. Given the tool's complexity and lack of structured data, more behavioral context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema fully documents the single parameter 'profileId'. The description adds no additional parameter semantics beyond what the schema provides, maintaining the baseline score for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Deletes') and target resource ('an existing persistent Hyperbrowser profile'), distinguishing it from sibling tools like 'create_profile' and 'list_profiles'. It precisely communicates the tool's function without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, prerequisites, or constraints. It doesn't mention when deletion is appropriate versus updating or archiving, or reference sibling tools like 'create_profile' for context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_structured_dataC
Extract structured data from a webpage. This tool allows you to extract structured data from a webpage using a schema.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | The list of URLs of the webpages to extract structured information from. Can include wildcards (e.g. https://example.com/*) | |
| prompt | Yes | The prompt to use for the extraction | |
| schema | No | The json schema to use for the extraction. Must provide an object describing a spec compliant json schema, any other types are invalid. | |
| sessionOptions | No | Options for the browser session. Avoid setting these if not mentioned explicitly |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool 'allows you to extract structured data,' but fails to describe critical behaviors: what happens during extraction (e.g., browser automation, potential rate limits, error handling), whether it modifies the webpage, or what the output looks like. This leaves significant gaps for a tool with complex parameters like sessionOptions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, stating the core purpose in two sentences without unnecessary details. However, the second sentence is somewhat redundant ('This tool allows you to...') and could be merged for better efficiency, slightly reducing its impact.
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 (4 parameters, nested objects, no output schema, and no annotations), the description is incomplete. It doesn't address behavioral aspects like how extraction works, what errors might occur, or the format of returned data. For a tool with such rich input schema and sibling tools, more context is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning all parameters are documented in the input schema. The description adds no additional parameter semantics beyond what's in the schema—it doesn't explain how 'urls', 'prompt', or 'schema' interact, or provide examples. With high schema coverage, the baseline is 3, as the description doesn't compensate but also doesn't detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Extract structured data from a webpage using a schema.' It specifies the verb ('extract'), resource ('structured data'), and method ('using a schema'). However, it doesn't explicitly differentiate from sibling tools like 'scrape_webpage' or 'crawl_webpages', which likely have overlapping functionality, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'scrape_webpage' or 'crawl_webpages', nor does it specify scenarios where this tool is preferred or excluded. The only implied usage is for extracting structured data with a schema, but this is too vague for effective tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_profilesC
Lists existing persistent Hyperbrowser profiles, with optional pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (optional) | |
| limit | No | Number of profiles per page (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While 'Lists' implies a read-only operation, it doesn't explicitly state this. It mentions pagination but doesn't describe default behavior when parameters aren't provided, what format the results come in, or any limitations like rate limits or authentication requirements. The description provides minimal behavioral context beyond the basic operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that communicates the core purpose upfront. Every word earns its place - 'Lists' (action), 'existing persistent Hyperbrowser profiles' (resource), and 'with optional pagination' (key behavioral feature). There's no redundancy or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description is insufficiently complete. While it states what the tool does, it doesn't describe what the output looks like (list format, fields included), default behavior when parameters aren't provided, or any constraints or requirements. Given the lack of structured metadata, the description should provide more contextual information about the tool's behavior and results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents both parameters (page and limit). The description adds the context that pagination is 'optional,' which is useful but doesn't provide additional semantic meaning beyond what the schema's optional nature already indicates. This meets the baseline for high schema coverage scenarios.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Lists') and resource ('existing persistent Hyperbrowser profiles'), making the purpose immediately understandable. It distinguishes itself from siblings like create_profile and delete_profile by focusing on listing rather than creation or deletion. However, it doesn't explicitly differentiate from other listing/search tools that might exist in the broader context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'optional pagination' which provides some context about when to use parameters, but offers no guidance on when to use this tool versus alternatives. There's no mention of when to use list_profiles versus search functions or how it relates to other profile management tools like create_profile or delete_profile.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
openai_computer_use_agentA
This tool utilizes OpenAI's model to autonomously execute general-purpose browser-based tasks with balanced performance and reliability using a cloud browser. It handles complex interactions effectively with practical reasoning and clear execution.
Optimal for tasks requiring:
Reliable, general-purpose browser automation
Clear, structured interactions with moderate complexity
Efficient handling of common web tasks and workflows
Best suited use cases include:
Standard multi-step registration or form submissions
Navigating typical web applications requiring multiple interactions
Conducting structured web research tasks
Extracting data through interactive web processes
Provide a clear step-by-step description, necessary context, and expected outcomes. Returns the completed result or an error message if issues arise.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | The task to perform inside the browser | |
| sessionOptions | No | Options for the browser session. Avoid setting these if not mentioned explicitly | |
| returnStepInfo | No | Whether to return step-by-step information about the task.Should be false by default. May contain excessive information, so we strongly recommend setting this to false. | |
| maxSteps | No |
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 'balanced performance and reliability', 'practical reasoning', and that it 'Returns the completed result or an error message', which adds some context on outcomes and error handling. However, it lacks details on rate limits, authentication needs, or specific performance characteristics, leaving gaps for an AI agent to understand operational constraints.
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 moderately structured with sections for optimal use and best-suited cases, but it includes repetitive phrases like 'general-purpose browser automation' and could be more front-loaded. Sentences like 'It handles complex interactions effectively with practical reasoning and clear execution' are somewhat vague, reducing efficiency. Overall, it's adequate but not tightly written.
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 (autonomous browser automation with 4 parameters, nested objects, no output schema, and no annotations), the description is partially complete. It covers purpose and usage well but lacks details on behavioral traits, error specifics, or output format. Without annotations or output schema, more context on what 'completed result' entails would improve completeness for this non-trivial 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?
Schema description coverage is 75%, so the schema documents most parameters well. The description adds no specific parameter information beyond implying the 'task' parameter should be a 'clear step-by-step description', which provides minimal semantic value. Since coverage is high, the baseline is 3, as the description doesn't compensate for the 25% gap but doesn't detract either.
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 'autonomously execute[s] general-purpose browser-based tasks' using 'OpenAI's model' and a 'cloud browser', which specifies the verb (execute), resource (browser-based tasks), and technology. It distinguishes from siblings like 'scrape_webpage' or 'search_with_bing' by emphasizing autonomous, multi-step interactions, but could be more precise about its unique AI-driven automation versus 'browser_use_agent'.
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 it: 'Optimal for tasks requiring reliable, general-purpose browser automation' and lists specific use cases like 'multi-step registration' or 'structured web research'. It implicitly distinguishes from simpler tools like 'scrape_webpage' by mentioning 'complex interactions' and 'multiple interactions', but lacks explicit when-not-to-use guidance or named alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scrape_webpageB
Scrape a webpage and extract its content in various formats. This tool allows fetching content from a single URL with configurable browser behavior options. Use this for extracting text content, HTML structure, collecting links, or capturing screenshots of webpages.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL of the webpage to scrape | |
| sessionOptions | No | Options for the browser session. Avoid setting these if not mentioned explicitly | |
| outputFormat | Yes | The format of the output |
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. While it mentions 'configurable browser behavior options' and lists output formats, it doesn't address critical behavioral aspects like rate limits, authentication needs, potential for being blocked, whether it's read-only or destructive, or what happens with errors. For a web scraping tool with no annotation coverage, this is a significant gap.
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 three sentences that are front-loaded with the core purpose. Each sentence adds value: first states the purpose, second clarifies scope, third provides usage examples. There's minimal waste, though the third sentence could be slightly more 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 (web scraping with browser behavior options), no annotations, and no output schema, the description is moderately complete. It covers the basic purpose and usage examples but lacks details on behavioral constraints, error handling, and output structure. For a tool with this complexity and no structured safety/behavior annotations, it should do more to be fully 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 parameters thoroughly. The description adds minimal value beyond the schema by mentioning 'configurable browser behavior options' and listing some output formats, but doesn't provide additional syntax, format details, or usage examples. 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: 'Scrape a webpage and extract its content in various formats.' It specifies the verb (scrape/extract), resource (webpage content), and scope (single URL with configurable browser behavior). However, it doesn't explicitly differentiate from sibling tools like 'crawl_webpages' or 'extract_structured_data,' which would require a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some implied usage guidance with 'Use this for extracting text content, HTML structure, collecting links, or capturing screenshots of webpages,' giving examples of when to use it. However, it lacks explicit guidance on when NOT to use it or clear alternatives among sibling tools like 'crawl_webpages' (for multiple URLs) or 'extract_structured_data' (for structured extraction).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_with_bingC
Search the web using Bing. This tool allows you to search the web using bing.com
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The search query to submit to Bing | |
| sessionOptions | No | Options for the browser session. Avoid setting these if not mentioned explicitly | |
| numResults | No | Number of search results to return |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions nothing about rate limits, authentication requirements, what format results are returned in, whether this performs live web searches or uses cached data, or any other behavioral characteristics. The description is minimal and adds almost no behavioral context beyond the obvious 'searches the web'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just two sentences. However, the second sentence is redundant, merely restating the first with slightly different wording. While front-loaded with the core purpose, it could be more efficient by eliminating the repetition.
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 web search tool with no annotations and no output schema, the description is inadequate. It doesn't explain what format results are returned in, whether there are rate limits, authentication requirements, or how this differs from sibling scraping/crawling tools. The minimal description leaves significant gaps for the agent to navigate.
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 adds no parameter information beyond what's in the schema - it doesn't explain the relationship between parameters, provide usage examples, or clarify when to use advanced session options. With complete schema coverage, the baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool 'Search[es] the web using Bing' which is a clear verb+resource combination. However, it doesn't distinguish this from sibling tools like 'scrape_webpage' or 'crawl_webpages' - it's unclear when to use this versus those alternatives. The second sentence is redundant, merely restating the first.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives like 'scrape_webpage', 'crawl_webpages', or the various agent tools. The description doesn't mention any prerequisites, context requirements, or typical use cases. The agent must infer usage from the tool name alone.
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.
1 tool update
v1.0.0- Changed
create_profile1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
10 tool updates
- First observed
browser_use_agent - First observed
claude_computer_use_agent - First observed
crawl_webpages - First observed
create_profile - First observed
delete_profile - First observed
extract_structured_data - First observed
list_profiles - First observed
openai_computer_use_agent - First observed
scrape_webpage - First observed
search_with_bing
TDQS
Scored across 10 tools
The tool set has clear distinctions between core browser automation agents (browser_use_agent, claude_computer_use_agent, openai_computer_use_agent) and utility functions (crawl_webpages, scrape_webpage, extract_structured_data, search_with_bing, profile management). However, there is significant overlap between the three agent tools—all perform browser automation with different model backends—which could cause confusion about which to select for a given task. The descriptions help differentiate their strengths, but the fundamental purpose overlap remains.
Most tools follow a consistent snake_case pattern with clear verb_noun structures (e.g., crawl_webpages, create_profile, extract_structured_data, scrape_webpage, search_with_bing). The three agent tools deviate slightly with longer, descriptive names (e.g., browser_use_agent, claude_computer_use_agent), but they still maintain readability and a similar format. Overall, the naming is mostly predictable with only minor inconsistencies.
With 10 tools, the count is well-scoped for a browser automation server. It covers a range of functionalities from high-level agent-based interactions to lower-level utilities like scraping and searching, without feeling excessive. Each tool appears to serve a distinct role within the domain, making the number appropriate for the server's purpose.
The tool set provides comprehensive coverage for browser automation tasks, including agent-based interactions, web crawling, scraping, data extraction, searching, and profile management. Minor gaps exist, such as the lack of tools for managing browser sessions or handling cookies directly, but these are not critical for core workflows. Agents can likely work around these omissions using the available tools.
Maintenance
Related MCP Connectors
AI-powered web automation. Navigate websites using AI agents for one page or a thousand
AI-powered web automation. Navigate websites using AI agents for one page or a thousand
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
Undetectable cloud browser sessions for AI agents and scrapers. Navigate, extract, click, captcha.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceRemote browser instances for your AI agents. Reliably complete any browser-based task at scale. Fully-control agentic browsers that spin up in seconds.18 npm40Apache 2.0
- FlicenseNot gradedqualityBmaintenanceA semantic browser runtime for AI agents that replaces raw HTML with structured data and dynamic, page-specific tools. It features built-in site memory and automated bot detection bypass to enable efficient, self-healing web automation.1-
- AlicenseNot gradedqualityAmaintenanceReliable, scalable browser infrastructure for AI agents. Route, pool, and failover across any browser provider. 8 built-in browser tools using raw Chrome CDP - navigate, screenshot, snapshot, interact, evaluate. Zero-config with auto Chrome detection & concurrent sessions support518 npm10MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to control browsers with human-like behavior, stealth anti-detection, and 70 tools for navigation, interaction, and monitoring.5 npm1MIT