Browser[X]MCP
Server Quality Checklist
Latest release: v1.0.0-beta.1
- Disambiguation4/5
Most tools target distinct actions (navigate, input, scroll, start, etc.), and the two-step element workflow is clear. However, click_element_by_xpath and execute_atomic_action both can perform clicks, and evaluate_in_page could also replicate any action, creating minor overlap. Descriptions mostly clarify but ambiguity exists in action execution tools.
Naming Consistency4/5Almost all tools follow snake_case verb_noun pattern, with verbs like extract, navigate, input, scroll, start, list, get, execute, evaluate, click. Inconsistencies: 'compare_with_screenshot' uses preposition structure, and 'batch_actions' uses a noun as verb, but overall readable and predictable.
Tool Count5/514 tools is within the ideal range for a browser automation server, covering navigation, interaction, element inspection, and performance utilities without feeling bloated.
Completeness3/5The set covers navigation, interaction, element inspection, and even performance testing, but lacks a browser shutdown/close tool and explicit waiting/synchronization operations, which are common in browser automation. Core workflows are present but the lifecycle is incomplete.
Average 3.3/5 across 14 of 14 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 1 commit in the last 12 weeks
- 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.jsonto 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 must disclose behavioral traits. It only states 'Click' without mentioning side effects, error handling, waiting behavior, or the need for a loaded page. This is insufficient for a mutating action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundant words. It is tightly written and immediately communicates the core action and selector method.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the description is minimal but lacks important context such as what happens if the element is not found or if multiple elements match. It also does not mention the surrounding browser state, making it incomplete for robust agent decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes the xpath parameter as 'XPath selector for the element to click', covering 100% of the schema. The description's 'using XPath selector' adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Click'), the target ('an element'), and the locating method ('using XPath selector'). This distinguishes it from most siblings, though it does not explicitly mention the browser context or edge cases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to prefer this tool over alternatives like execute_atomic_action or get_element_details. The description implies usage for clicking, but there are no exclusions, prerequisites, or alternative references.
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 fails to mention whether the code's return value is surfaced, how errors are handled, whether execution is asynchronous, or if there are side effects like page state changes. The only extra context is 'in the browser page context', which is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is very concise and front-loaded. However, it is perhaps too brief, lacking context that would warrant a higher score. Still, for conciseness, it earns a high score as there is no wasted wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter, but it executes arbitrary JavaScript, which is powerful and potentially side-effectful. With no output schema and no annotations, the description should explain at least the return value and error behavior, but it does not. This leaves the agent uncertain about what happens after execution.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'code' parameter, which is described as 'JavaScript code to execute in the page'. The tool description adds no additional meaning beyond the schema, but the baseline for high coverage is 3, and there is nothing missing in parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Execute' with the resource 'JavaScript code in the browser page context', clearly identifying the tool's function. It distinguishes from sibling tools like navigate_browser and input_text, though it doesn't explicitly call out that distinction. The name and description align well.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 only states what it does, without mentioning exclusions, prerequisites, or scenarios where other tools like execute_atomic_action or click_element_by_xpath might be more appropriate. This is a clear gap.
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 disclosing side effects and behavior. It does not mention whether the tool is read-only, what specific details it returns, any error conditions, or whether it requires prior calls. The phrase 'precise action execution' hints at a preparatory role but does not disclose concrete 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and front-loaded with the 'Step 2' context. It conveys the core purpose without unnecessary words. The 'Step 2' prefix is useful but not essential, and the overall structure is clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, so the description should explain what 'detailed information' includes and what the return format is. It does not. It also lacks explicit context about how this step fits into a broader workflow beyond the 'Step 2' label. The description is adequate only as a minimal stub.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented. The description adds minimal context by linking action_intent to 'precise action execution', but it primarily relies on the schema's parameter descriptions. This matches the baseline of 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action (Get detailed information) and its resource (specific element) with a stated purpose (for precise action execution). It is a specific verb+resource combo that is distinguishable from siblings like execute_atomic_action, but it does not explicitly compare itself to other tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage hint is 'Step 2' which implies a sequence, but the description does not state when to use this tool vs alternatives, nor when not to use it. It lacks explicit guidance about prerequisites or relationships to sibling tools like list_navigation_elements or execute_atomic_action.
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, the description carries the full burden of behavioral disclosure. It only states 'Start browser instance' without revealing side effects (e.g., opening a new window, network access), whether it blocks, or what happens if called repeatedly. This is minimal and insufficient for an agent to anticipate consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. It is appropriately brief for a simple tool, though it could incorporate some usage hints without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's role as a likely entry point for browser automation, the description lacks essential context: no mention of when to invoke it, what it sets up for subsequent tools, or any prerequisites. It is incomplete for an agent trying to decide when and how to use it, even with a simple schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the only parameter 'headless' is fully described in the schema. The description adds no parameter-specific information, but the baseline of 3 is appropriate since the schema already documents the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Start' and resource 'browser instance', indicating the tool initializes a browser session. It implicitly distinguishes from sibling tools that perform navigation, input, or extraction, but the purpose is somewhat generic ('for testing') and could be more specific about the initialization role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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, nor any mention of prerequisites or typical sequencing (e.g., call before navigate_browser). The description simply states what it does without context on appropriate usage.
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 must convey behavioral expectations. The verb 'List' suggests a read-only operation, but the description does not explicitly state that the page will not be modified, nor does it disclose potential side effects, whether a page must be loaded, or any other 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence that immediately communicates the tool's purpose. There is no fluff or unnecessary detail, making it highly concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (two optional parameters, no output schema), the short description is mostly sufficient. However, it omits details about the output format or what 'descriptions' entail, and the ambiguity about 'interactive elements' vs. 'navigation elements' leaves a gap in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for both parameters (url and group_by), achieving 100% schema description coverage. The description itself adds no parameter-specific information, so it does not elevate beyond the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and resource ('all available interactive elements on the page'), with a mention of 'descriptions' for output. However, the tool name is 'list_navigation_elements' while the description says 'interactive elements', which is a broader scope; this slight mismatch could confuse an agent about exactly what is listed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternative guidance is provided. The prefix 'Step 1' implies it is a preliminary action, but it does not explain under what circumstances to call this tool versus siblings like 'get_element_details' or 'extract_virtual_canvas'.
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 must carry the full burden of behavioral disclosure. It only states the basic action without mentioning behavior such as whether the scroll is smooth or instant, whether it waits for page stability, how the 'amount' parameter interacts with viewport behavior, or any side effects. This is a significant gap even for a simple scroll 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence: 'Scroll the page in specified direction'. No filler words, front-loaded verb, and it is efficient for a simple tool. It could arguably be more detailed, but as a concise statement it earns full marks.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity tool with full schema coverage, the description is basic but sufficient to convey the core operation. However, it lacks usage guidelines, behavioral details, and information about edge cases (e.g., horizontal scroll support), making it adequate but not complete. The absence of annotations and output schema further limits completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for both parameters (direction with enum values, amount with default and unit), achieving 100% schema description coverage. The tool description adds no extra parameter semantics, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Scroll') and the target ('the page'), with a qualifier 'in specified direction' that outlines the core purpose. It is sufficiently specific and distinguishes from sibling navigation tools like navigate_browser, though it lacks explicit mention of scrolling to top/bottom or pixel-based control, which are captured in the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 such as navigate_browser or execute_atomic_action. There is no mention of context, exclusions, or prerequisites, leaving the agent to 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.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It merely restates the tool name in sentence form and does not disclose whether navigation waits for page load, whether it runs in the same tab or a new one, or any side effects. It adds little beyond the name itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence with no wasted words. It is front-loaded and easy to parse. However, it could have included a brief usage hint to add value without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple one-parameter tool, the description is minimally adequate: it states the core action and the schema covers the parameter. However, it misses guidance on when to use it compared to siblings and lacks behavioral expectations such as page load behavior, making it a bare minimum for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the 'url' parameter, which already says 'URL to navigate to'. The description adds the word 'specific' but no additional meaning. Baseline 3 is appropriate because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Navigate browser to a specific URL' clearly states the action (navigate) and resource (browser) with a clear object (URL). It distinguishes from sibling tools like scroll_page or click_element_by_xpath, which have different purposes. The verb is specific and the scope is well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention that this is for changing the current page, how it relates to start_browser for initializing a session, or any exclusions. The description only states what it does, not when to prefer it.
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 disclosing side effects. It only says 'execute' with no mention of browser state changes, navigation, permissions, return values, or error behavior. For a tool that performs actions on a live page, this is a significant transparency 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence directly states the core function with no filler or repetition. It is front-loaded and appropriately sized for a tool that relies on the schema for parameter details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a core execution tool with no output schema and no annotations, yet the description does not explain supported action types, how text_input is used, what a successful execution looks like, or potential side effects. Given the tool's moderate-to-high complexity, this is under-specified and depends heavily on external knowledge of get_element_details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers both parameters with descriptions (100% coverage), so the baseline applies. The description adds a minor contextual cue that the action object comes from get_element_details, but it does not explain parameter interrelationships or constraints beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'execute' with the resource 'atomic action' and states it originates from get_element_details, which clearly distinguishes it as the counterpart to that tool. However, it does not define what an atomic action is, leaving some ambiguity for agents unfamiliar with the workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says the action must be 'generated by get_element_details', establishing a clear before/after relationship and indicating when to use it. It does not mention alternatives or when not to use this tool, but the source constraint gives solid context.
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 only states that the tool gets metrics and statistics, but does not mention whether it is read-only, whether it requires an active browser session, what specific metrics are returned, or any potential side effects. For a tool with no annotations, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately states the action ('Get') and the target ('server performance metrics and statistics'). It contains no filler words and is fully front-loaded. Every word contributes to understanding, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no required parameters, no nested objects, no output schema), the description is minimally adequate but lacks detail about what specific metrics are included or how the output is formatted. Since there is no output schema, the description should provide some overview of return values; 'metrics and statistics' is too vague to be fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has a single dummy parameter with a clear description ('Dummy parameter for no-parameter tools'), and schema coverage is 100%. The description adds no further parameter explanation, but the schema alone is sufficient because the parameter is a placeholder and requires no semantic enrichment. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: getting performance metrics and statistics. The verb 'Get' is specific, the resource 'Browser[X]MCP server performance metrics and statistics' is clear, and it is distinguished from all sibling tools which focus on navigation, interaction, and element inspection. No ambiguity exists about what this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives, but the name and content imply it is for retrieving server performance information. There are no sibling tools that offer similar functionality, so context is implicit rather than explicitly guided. This falls into 'implied usage'.
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 must carry the full burden of behavioral disclosure. It only says 'Get detailed usage instructions and workflow examples' without explaining side effects, return format, or whether the tool is strictly read-only. This lack of behavioral context is a significant gap, especially with no annotations to fall back on.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the verb 'Get', and contains zero waste. Every word contributes to conveying the tool's core function, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one optional enum parameter and no output schema. The description is accurate but minimal; it does not explain what each topic covers or what the response looks like. Given the lack of annotations and output schema, the description is adequate but not fully complete, so a score of 3 is fitting.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage with a clear description for the 'topic' parameter and its enum values. The description adds no additional parameter-specific meaning, but the schema already documents the parameter well, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get detailed usage instructions and workflow examples for Browser[X]MCP'. It uses a specific verb ('Get') and identifies the resource (usage instructions and workflow examples). This distinguishes it from sibling browser automation tools, making its role as a help/instruction tool unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage—it's a help tool for obtaining instructions—but does not explicitly state when to use it over other tools or mention any alternatives. There are no exclusions or contextual triggers provided. The usage guidance is implied rather than explicit, which fits a score of 3.
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?
The description discloses the 5-action limit and performance rationale, but it omits critical behavioral details such as execution order, error handling, atomicity, and whether actions share state. With no annotations to cover safety or side effects, the description leaves the agent without essential operational knowledge.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that immediately conveys the main action and a useful constraint. It contains no extraneous words and is easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the schema is detailed, the description fails to explain when batch execution is preferred over individual sibling tools, what the tool returns, or how it handles partial failures. No output schema exists, so the description should at least indicate the response format. The performance hint alone is insufficient for operational decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage for the 'actions' parameter, including nested fields and descriptions. The tool description adds no parameter-specific meaning beyond restating the maxItems=5 constraint already present in the schema, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Execute multiple actions in batch' with an explicit limit of 5 actions. This distinguishes it from sibling tools that handle single actions such as input_text or scroll_page.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'up to 5 actions for performance' provides clear context that batch execution is intended for efficiency when bundling multiple actions. It does not explicitly name alternatives or edge cases, but the performance rationale makes the use case evident.
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, the description carries the full burden of behavioral disclosure. It fails to mention whether navigation occurs, potential side effects, permissions, or the format of the returned data. This is a significant gap for a tool with optional parameters like url and wait_for.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that starts with the action verb and contains no filler. Every word contributes meaning, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is insufficiently complete. It does not explain what 'virtual canvas data' includes, how the extraction works, or what the agent should expect as a result. The minimal context is adequate for basic understanding but leaves many operational questions unanswered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all parameters, so the baseline is 3. The tool description adds no extra parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'extract' with a specific resource 'virtual canvas data' and context 'from current page'. It also differentiates from taking a screenshot, which helps distinguish it from screenshot-related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'instead of taking screenshot' provides a clear usage context: use this tool when you need data rather than a visual capture. However, it does not explicitly mention when not to use it or name alternative sibling tools, so it falls short of a 5.
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, the description carries the full burden of behavioral disclosure. It only hints at a dependency on 'virtual canvas data' and does not explain key behaviors such as default clearing (though schema mentions it), focus handling, side effects, or failure modes. This is a significant gap for a mutation-like 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that front-loads the action ('Input text') and specifies the context ('form field', 'virtual canvas data'). It is concise and contains no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description should clarify prerequisites and error conditions. It vaguely references 'virtual canvas data' but does not explicitly mention that extract_virtual_canvas should be called first or what constitutes a valid element_id. It also omits what happens on failure, leaving important gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already well-documented. The description merely echoes the schema's element_id reference and adds no extra constraints, format details, or relationships. It meets the baseline for high coverage but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('Input'), a target resource ('form field'), and a distinctive data source ('virtual canvas data'). This distinguishes it from sibling tools like click_element_by_xpath, which handles clicks, not text entry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool—entering text into form fields—and the mention of 'virtual canvas data' implies it works in conjunction with canvas extraction tools. However, it does not explicitly discuss alternatives or when not to use it, so it falls short of a top score.
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, yet the description does not disclose behavioral traits such as return format, side effects, or whether it is read-only. It only states the comparison purpose, leaving the agent uninformed about what happens when the tool is invoked.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that conveys the core purpose without redundancy. Every word contributes to understanding, making it highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks information about output or return value, which is critical since there is no output schema. It also does not clarify what 'compare' yields (e.g., pass/fail, metrics) or how it relates to performance testing, leaving a significant completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema provides no parameter information and the baseline is 4. The description does not need to add parameter semantics, and it correctly omits any since there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'compare' and identifies the resources (virtual canvas data size, screenshot) and the context (performance testing), making it clear what the tool does. It distinguishes itself from sibling tools like get_performance_metrics by focusing on comparison rather than measurement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context (performance testing) but does not explicitly state when to use this tool over siblings or any exclusions. There is no mention of alternatives, so it earns a 4 for clear context without explicit exclusions.
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
Copy to your README.md:
Score Badge
Copy to your README.md:
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/rnd-pro/browser-x-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server