Skip to main content
Glama
browsercat

BrowserCat MCP Server (Browser Automation)

Official
by browsercat

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: click, evaluate, fill, hover, navigate, screenshot, and select target specific browser automation actions. An agent can easily distinguish between them based on their unique functions.

    Naming Consistency5/5

    All tools follow a consistent 'browsercat_verb' pattern with snake_case, using descriptive verbs like click, evaluate, fill, hover, navigate, screenshot, and select. This predictable naming makes the set easy to understand and use.

    Tool Count5/5

    With 7 tools, this server is well-scoped for browser automation, covering essential actions like navigation, interaction, and capture. Each tool earns its place without feeling too sparse or bloated for the domain.

    Completeness4/5

    The toolset covers core browser automation workflows including navigation, element interaction, and screenshot capture. Minor gaps exist, such as missing tools for scrolling, waiting, or handling alerts, but agents can work around these with the provided tools.

  • Average 2.9/5 across 7 of 7 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No issues in the last 6 months
    • No commit activity data available
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    With no annotations, the description carries full burden but only states the action without behavioral details. It doesn't disclose if this requires a loaded page, handles errors (e.g., invalid selector), affects page state, or has side effects. This is inadequate for a mutation tool in browser automation.

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

    Conciseness5/5

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

    The description is a single, efficient sentence with zero waste. It's front-loaded and appropriately sized for a simple tool, though it could benefit from more detail given the lack of annotations.

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

    Completeness2/5

    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 mutation tool in a browser automation context, the description is incomplete. It doesn't cover behavioral aspects like error handling, prerequisites, or return values, leaving significant gaps for agent understanding.

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

    Parameters3/5

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

    Schema description coverage is 100%, so parameters 'selector' and 'value' are fully documented in the schema. The description adds no additional meaning beyond implying these parameters are used for filling, which the schema already covers. Baseline 3 is appropriate as the schema does the heavy lifting.

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

    Purpose3/5

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

    The description 'Fill out an input field' clearly states the action (fill) and target (input field), but it's vague about scope and doesn't differentiate from siblings like 'browsercat_select' which might also interact with input fields. It's a basic functional statement without specificity about browser automation context.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a page loaded), exclusions, or comparisons to siblings like 'browsercat_click' for other interactions. The agent must infer usage from context alone.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden but only states the basic action. It doesn't disclose behavioral traits such as whether navigation waits for page load, handles errors, requires specific browser state, or has rate limits. This leaves significant gaps for a tool that likely interacts with a browser.

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

    Conciseness5/5

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

    The description is extremely concise with a single sentence that directly states the tool's purpose. It's front-loaded and wastes no words, making it efficient for quick understanding.

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

    Completeness2/5

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

    Given the complexity of browser navigation (likely involving state changes, loading, errors) and no annotations or output schema, the description is incomplete. It doesn't cover return values, error conditions, or behavioral details needed for effective use in an automation context.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate but adds no parameter semantics beyond the schema. It mentions 'URL' which aligns with the 'url' parameter, but doesn't explain format expectations, validation, or examples (e.g., must include protocol like http://).

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

    Purpose4/5

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

    The description clearly states the action ('Navigate to') and target ('a URL'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like browsercat_click or browsercat_fill beyond the basic navigation concept, which prevents a perfect score.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites, context for navigation (e.g., after page load), or comparison to sibling tools like browsercat_click for interaction versus navigation.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action but doesn't describe what happens after clicking (e.g., page navigation, form submission, errors if element isn't clickable), safety implications, or performance considerations like timeouts.

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

    Conciseness5/5

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

    The description is a single, direct sentence with zero wasted words. It's front-loaded with the core action and target, making it highly efficient and easy to parse at a glance.

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

    Completeness2/5

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

    For a tool that performs an interactive action like clicking with no annotations and no output schema, the description is incomplete. It lacks details on behavioral outcomes, error conditions, or what constitutes success, leaving gaps in understanding how to use it effectively in context.

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

    Parameters3/5

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

    The schema description coverage is 100%, with the 'selector' parameter fully documented in the schema. The description adds no additional meaning beyond implying the selector targets a clickable element, which is already inferred from the tool's purpose. 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.

    Purpose4/5

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

    The description clearly states the action ('click') and target ('an element on the page'), which is specific and unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'browsercat_hover' or 'browsercat_select', which might involve similar element interactions but different actions.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a page loaded), exclusions, or comparisons to siblings like 'browsercat_hover' for hovering or 'browsercat_select' for selecting options.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Execute JavaScript' implies a mutation operation (potentially changing page state), the description doesn't specify whether this is safe/reversible, what permissions are needed, how errors are handled, or what the execution context is (e.g., same-origin restrictions). It lacks critical behavioral details for a tool that can arbitrarily modify browser state.

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

    Conciseness5/5

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

    The description is a single, clear sentence with zero wasted words. It's front-loaded with the core action ('Execute JavaScript') and specifies the context ('in the browser console'). Every word contributes directly to understanding the tool's purpose.

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

    Completeness2/5

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

    Given the complexity of executing arbitrary JavaScript in a browser (a potentially dangerous operation with no annotations and no output schema), the description is insufficient. It doesn't cover safety considerations, error handling, execution context, or what happens to the script's return value. For a tool with such significant behavioral implications, more context is needed.

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

    Parameters3/5

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

    The schema description coverage is 100% (the 'script' parameter is fully documented as 'JavaScript code to execute'), so the baseline is 3. The description doesn't add any parameter semantics beyond what the schema provides—it doesn't explain script format, return value handling, or execution constraints. However, with only one parameter that's well-documented in the schema, this is adequate.

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

    Purpose4/5

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

    The description 'Execute JavaScript in the browser console' clearly states the action (execute) and target (JavaScript in browser console). It distinguishes this tool from its siblings (click, fill, hover, navigate, screenshot, select) by focusing on code execution rather than UI interaction. However, it doesn't specify what kind of JavaScript execution this is (e.g., evaluation, injection, or console command).

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

    Usage Guidelines2/5

    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., requires an active browser session), appropriate use cases (e.g., for dynamic content extraction vs. UI automation), or when other tools like browsercat_select might be more suitable. The agent must infer usage from the tool name and sibling context alone.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It states the action but doesn't explain what happens after hovering (e.g., whether it triggers events, waits for effects, or has side effects like page changes). It also omits details like error handling, timing, or prerequisites (e.g., page must be loaded). This leaves significant gaps for a mutation-like interaction tool.

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

    Conciseness5/5

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

    The description is a single, clear sentence with zero wasted words. It's front-loaded with the core action and target, making it easy to parse. Every word earns its place, achieving maximum efficiency without sacrificing clarity.

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

    Completeness2/5

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

    Given the tool's complexity (interactive browser action) and lack of annotations or output schema, the description is incomplete. It doesn't cover behavioral outcomes, error cases, or integration with sibling tools. For a tool that likely triggers UI changes, more context is needed to guide effective use, making this inadequate.

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

    Parameters3/5

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

    The input schema has 100% description coverage, with the 'selector' parameter fully documented in the schema itself. The description adds no additional meaning beyond what the schema provides (e.g., no examples of valid selectors, no constraints). Since schema coverage is high, the baseline score of 3 is appropriate, as the description doesn't compensate but doesn't need to.

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

    Purpose4/5

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

    The description clearly states the action ('hover over') and target ('an element on the page'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'browsercat_click' or 'browsercat_select', which also interact with page elements. The purpose is unambiguous but lacks sibling distinction.

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

    Usage Guidelines2/5

    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 scenarios where hovering is appropriate (e.g., triggering dropdowns, tooltips) versus when clicking or other interactions might be better. There's no reference to sibling tools or contextual exclusions, leaving usage entirely implicit.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what the tool does but lacks critical details: it doesn't specify output format (e.g., image data, file path), whether it requires an active browser session, potential side effects (e.g., page state changes), or error handling. For a 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.

    Conciseness5/5

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

    The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part of it contributes directly to understanding the tool's function.

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

    Completeness2/5

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

    Given the complexity of a screenshot tool with no annotations and no output schema, the description is incomplete. It fails to explain what the tool returns (e.g., image data, file location), how it interacts with the browser context, or any behavioral nuances, leaving significant gaps for an AI agent to infer.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the schema already documents all parameters (name, selector, width, height) with descriptions. The description adds no additional meaning beyond implying optional element targeting ('or a specific element'), which aligns with the selector parameter but doesn't provide extra syntax or usage details.

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

    Purpose4/5

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

    The description clearly states the action ('Take a screenshot') and target ('current page or a specific element'), which is a specific verb+resource combination. However, it doesn't explicitly distinguish this from sibling tools like browsercat_click or browsercat_hover, which might also involve page interaction but for different purposes.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a page loaded first), exclusions, or comparisons to sibling tools like browsercat_navigate for page setup or browsercat_evaluate for other page operations.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It states the action but lacks behavioral details such as whether it waits for the dropdown to appear, handles dynamic content, requires specific page states, or provides error feedback. This is a significant gap 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.

    Conciseness5/5

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

    The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, with every part earning its place.

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

    Completeness2/5

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

    Given the complexity of a browser automation tool with no annotations and no output schema, the description is incomplete. It doesn't cover behavioral aspects like error handling, dependencies on page state, or what happens after selection, leaving gaps for effective agent use.

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

    Parameters3/5

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

    Schema description coverage is 100%, with both parameters (selector and value) clearly documented in the schema. The description doesn't add any meaning beyond what the schema provides, such as examples or constraints, so it meets the baseline score 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.

    Purpose4/5

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

    The description clearly states the action ('Select an option') and target ('from a dropdown menu'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like browsercat_fill (which might handle form inputs) or browsercat_click (which might handle general clicking), so it doesn't reach the highest score.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a page loaded), exclusions (e.g., not for non-dropdown elements), or comparisons to siblings like browsercat_fill for text inputs or browsercat_click for general interactions.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

browsercat-mcp-server MCP server

Copy to your README.md:

Score Badge

browsercat-mcp-server MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/browsercat/browsercat-mcp-server'

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