Skip to main content
Glama
Himangguo
by Himangguo

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation5/5

    Each tool targets a distinct aspect of browser inspection: layout, tabs, DOM query, DOM tree, ancestors, styles, box model, JS execution, console, and network. Even the two style-related tools (computed vs. matched) are clearly differentiated.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern (get_, list_, query_, evaluate_), making the API predictable and easy to reason about. No mixed conventions or vague verbs.

    Tool Count5/5

    11 tools is well-scoped for a browser debugging server. Each tool covers a distinct capability without unnecessary overlap, and the count feels appropriate for the intended breadth.

    Completeness4/5

    The surface covers DOM, CSS, layout, JS evaluation, console, and network inspection, which are core for debugging. Missing interaction features (e.g., click, navigate, modify styles) suggest a read-only inspector, but that's consistent with the tool descriptions; minor gaps like screenshots or performance tracking could be added.

  • Average 3.8/5 across 11 of 11 tools scored. Lowest: 2.9/5.

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

    • No community issues in the last 6 months
    • 2 commits 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 Apache 2.0.

  • 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?

    No annotations are provided, so the description carries the full burden. It discloses the type of data returned (dimensions list) but does not specify the return format, behavior on missing selector, whether it returns the first matching element, or any potential side effects. Since it's a 'get' operation, read-only is implied, but not explicitly stated.

    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 sentence, front-loaded with the action and resource, and lists all relevant dimensions concisely in parentheses. Every word earns its place with no filler.

    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?

    The tool has no output schema, no annotations, and only one required parameter, making the description the primary source of information. It lacks return structure, edge cases, and differentiation from 'get_layout_metrics'. This is insufficient for an agent to reliably predict the tool's behavior.

    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 coverage is 100%: the single 'selector' parameter is documented as 'CSS 选择器'. The tool description adds no extra information about the parameter, so it relies entirely on the schema. This meets the baseline of 3.

    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 tool's function: '获取元素盒模型尺寸' (get element box model dimensions) and lists the specific dimensions (width/height/margin/padding/border/content). This is a specific verb+resource construction. However, it does not explicitly differentiate from the sibling 'get_layout_metrics', which may overlap.

    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 usage guidance is provided. There is no mention of when to use this tool versus alternatives, nor any exclusions or prerequisites. Given the sibling 'get_layout_metrics', an explicit distinction would help, but it is absent.

    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. It mentions 'MCP 连接后产生的日志,' which hints that only logs after the MCP connection are returned, but it does not disclose return format, ordering, potential side effects, or other traits like whether logs are cleared on retrieval. This is insufficient for a tool with no annotation support.

    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 sentence that is concise and front-loaded with the core purpose. No fluff or redundant information. It earns its place by clearly stating the tool's function in minimal space.

    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?

    With no output schema and no annotations, the description needs to explain behavior and return expectations. It only provides a terse statement of purpose and a vague qualifier about MCP connection. For a tool that returns console logs, it lacks details about the log structure, events, or limitations, making it incomplete for an agent to use confidently.

    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 provides 100% coverage for both parameters (level and limit) with descriptions in the schema itself. The tool description does not add any parameter information beyond what the schema already states, 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.

    Purpose4/5

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

    The description clearly states the tool gets page console logs ('获取页面控制台日志'), using a specific verb and resource. It is distinct from sibling tools like get_network_requests, though it does not explicitly name alternatives. The parenthetical 'MCP 连接后产生的日志' adds a scoping detail but could be clearer.

    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?

    There is no guidance on when to use this tool versus alternatives. It does not mention that network logs are handled elsewhere or provide any context for choosing console logs over other inspection tools. The description only says what it does, not when to use it.

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

  • Behavior3/5

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

    No annotations are provided, so the description bears the full burden of behavioral disclosure. It usefully notes that only requests after the MCP connection are included, which is a non-obvious temporal constraint. However, it does not explicitly state read-only behavior, retention limits, side effects, or return format, leaving gaps.

    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, front-loaded sentence with zero redundant words. It immediately states the core function, then adds a useful filtering ability, making it concise and well structured for quick comprehension.

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

    Completeness3/5

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

    The tool is simple with only two optional parameters and no output schema, but the description does not explain what fields are returned (e.g., URL, status, timing) or whether results are paginated. The 'after MCP connection' note adds context, yet the absence of return-format guidance leaves the description incomplete for 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% for both parameters (limit and url_filter), so the schema already fully describes them. The description adds a brief mention of URL keyword filtering but no additional depth or syntax beyond what the schema provides, matching the baseline for high schema coverage.

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

    Purpose5/5

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

    The description uses a specific verb+resource structure ('Get page network request records') and clearly distinguishes this from sibling tools like get_console_logs and get_dom_tree by focusing on network activity. It also adds a precise scope ('requests that occurred after MCP connection'), which makes the tool's purpose 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/5

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

    The description implies the tool is for inspecting network requests but does not explicitly state when to use it over alternatives or mention exclusion cases. It mentions URL filtering as a usage option, but there is no 'when not to use' or comparison with get_console_logs or other sibling tools.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden. It adds meaningful behavioral context by explaining 'browser final computed values' and that it returns a complete set of property:value pairs, which goes beyond the tool name. It does not explicitly state read-only safety, but as a getter, this is strongly implied and the description is sufficiently transparent for a simple read operation.

    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 concise sentence that states the tool's purpose and return format without any unnecessary words. It is front-loaded and contains zero waste.

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

    Completeness4/5

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

    For a simple tool with one parameter and no output schema, the description adequately explains what is returned (complete property:value pairs for computed styles). It does not mention edge cases like multiple matching elements or error behavior, but these are not critical for a tool of this simplicity. The description is complete enough for an agent to use it correctly.

    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 covers 100% of the parameter (selector, described as 'CSS selector'). The description adds no additional meaning about the selector beyond implying it targets an element, which is already evident from the schema and tool name. Baseline of 3 is appropriate since 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/5

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

    The description clearly states the tool gets all computed styles for an element with a specific verb and resource, and explicitly mentions it returns complete property:value pairs. This distinguishes it from sibling tools like get_matched_styles (matched rules) and get_layout_metrics (layout measurements).

    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, nor any exclusions or prerequisites. It is implied that you use it when you need computed styles, but no explicit context or comparison is provided.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden for behavioral disclosure. It adds useful details like maximum depth (10) and default depth (3), and that selector is optional. However, it does not describe the return format, potential side effects, or edge cases (e.g., empty selector match). This is moderate transparency.

    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, front-loaded sentence that covers purpose and key parameters without waste. Every phrase contributes meaning.

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

    Completeness4/5

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

    For a relatively simple read tool with only two optional parameters and no output schema, the description is sufficient to guide selection and invocation. It covers main behavior and constraints (depth max 10, selector default). Minor gaps like return structure are not critical given the tool's simplicity and schema coverage.

    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% for both parameters (depth, selector), and the schema already provides clear descriptions. The main description essentially restates what the schema says without adding new semantic meaning. Baseline 3 is appropriate since schema does the heavy lifting.

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

    Purpose5/5

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

    The description clearly states the tool's function: '获取 DOM 子树结构' (get DOM subtree structure), with a specific verb and resource. It also mentions key capabilities (selector for root node, depth control) and is distinct from sibling tools like get_ancestors and query_selector.

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

    Usage Guidelines3/5

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

    The description implies usage context: you can specify a selector to start from a particular node and depth to control recursiveness. However, it does not explicitly state when to use this tool over alternatives (e.g., get_ancestors, query_selector) or provide exclusions. Usage is implied but not fully guided.

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

  • Behavior3/5

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

    With no annotations, the description must carry the burden of behavioral disclosure. It clearly implies a read-only operation via 'get' and specifies the returned properties, but it does not explicitly state that it has no side effects or what the units are. The property list adds transparency, but more context (e.g., content size meaning the scrollable document area) would be better.

    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?

    A single sentence that is front-loaded with the verb and resource, and the parenthetical list of properties adds specificity without padding. No wasted words.

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

    Completeness4/5

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

    For a simple getter with no output schema, the description is largely sufficient. It names all required return fields (viewportWidth/viewportHeight/contentWidth/contentHeight). However, it does not clarify the semantics of 'content size' (e.g., whether it refers to the full scrollable area), which could cause ambiguity for an AI agent.

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

    Parameters4/5

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

    The tool has zero parameters, so the schema is trivial. The description provides relevant context by naming the returned metrics, which indirectly explains why no input is needed. Baseline for 0 params is 4, and this description meets that baseline.

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

    Purpose5/5

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

    The description uses a specific verb (获取/get) with a clear resource (页面视口尺寸和内容尺寸/page viewport and content size) and even lists the exact property names. This distinguishes it from sibling tools like get_box_model or get_computed_styles, which focus on element-specific metrics.

    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, such as get_box_model for element dimensions or get_dom_tree for overall structure. The description implies its use for page-level metrics but does not state exclusions or conditions.

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

  • Behavior3/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 transparency. It does disclose the content of the returned list (selector, source file, line number, properties), which adds value. However, it does not clarify behavior for ambiguous inputs (e.g., selector matching multiple elements), error handling, or any limitations. The relationship between the 'selector' parameter and the 'element' mentioned is also unclear.

    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 concise sentence in Chinese that front-loads the action and includes essential output details. There is no redundant information, and every element (verb, resource, output contents) earns its place.

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

    Completeness4/5

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

    Given the tool's simplicity (one parameter, no output schema), the description covers the core purpose and what is returned. However, it lacks any usage guidance relative to the many sibling tools, and the ambiguity about whether the selector identifies an element or matches multiple elements leaves a minor gap in understanding the exact behavior.

    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 coverage is 100%: the only parameter, 'selector', is described as 'CSS 选择器' (CSS selector). The description adds no additional meaning beyond the schema, so the baseline 3 applies. The parameter's purpose is clear, but no extra syntax or formatting details are given.

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

    Purpose5/5

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

    The description clearly states the tool's function: retrieving a list of CSS rules matched by an element, including specific fields (selectors, source files, line numbers, and all properties). The verb 'get' and resource 'matched styles' is specific, and it distinguishes itself from sibling tools like 'get_computed_styles' by focusing on matched rules rather than computed values.

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

    Usage Guidelines3/5

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

    The description provides no explicit guidance on when to use this tool versus alternatives such as 'get_computed_styles' or 'query_selector'. The usage is implied by the tool's purpose, but there is no mention of recommended scenarios, exclusions, or how it relates to sibling tools.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden of behavioral disclosure. It states the operation is to '获取' (get) the ancestor chain, implying a read-only action, and mentions that each node contains specified style property values. However, it does not clarify whether these are computed styles or inline styles, nor does it mention behavior around max depth or error cases. The purpose is clear, but transparency is limited.

    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 only two sentences, front-loaded with the tool's primary purpose and then a second sentence stating its intended use case. There is no redundant or filler content; every word contributes to understanding the tool's function and rationale.

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

    Completeness4/5

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

    For a read-only get tool with no output schema, the description adequately covers the key aspects: what it does, what data it returns (ancestor chain with style property values), and its intended use case. It does not detail the exact return structure or potential edge cases, but these are not necessary for a simple query tool. The contextual information provided is sufficient for an agent to invoke it appropriately.

    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 already describes all three parameters with 100% coverage, making the schema self-sufficient. The description adds context about the use of styleProperties (each ancestor includes specified style property values) but does not elaborate on selector or maxDepth beyond what the schema provides. With full schema coverage, 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/5

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

    The description uses the specific verb '获取' (get) with a clear resource: the complete ancestor chain of an element, including style property values. It also explicitly states the tool's specialized use case for diagnosing sticky/overflow/z-index stacking issues, which distinguishes it from siblings like get_computed_styles or get_dom_tree.

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

    Usage Guidelines4/5

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

    The description provides clear when-to-use guidance by indicating the tool is '专为 sticky/overflow/z-index 层叠问题根因定位设计' (specifically designed for locating root causes of sticky/overflow/z-index stacking issues). However, it does not explicitly mention when not to use it or name alternative tools, leaving some gap in guidance.

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

  • Behavior4/5

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

    With no annotations, the description carries the disclosure burden. It transparently conveys a read-only operation ('find', 'return') and specifies output fields and that all matching elements are returned. It does not address edge cases like invalid selectors, but for a simple DOM query this is adequate.

    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 sentence, front-loaded with the action verb 'find', and contains no redundant wording. It efficiently conveys the tool's purpose and output.

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

    Completeness4/5

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

    For a simple tool with one parameter and no output schema, the description sufficiently covers purpose and return shape (tagName/id/classList for all matches). It lacks explicit mention of the return type (e.g., array) or behavior on zero matches, but the core information is present and unambiguous.

    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 already fully documents the 'selector' parameter at 100% coverage (description: 'CSS 选择器'). The description adds little semantic detail beyond restating that the selector is used for matching, 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/5

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

    The description clearly states the tool finds all DOM elements matching a CSS selector and returns basic element info (tagName, id, classList). This distinguishes it from sibling tools like get_dom_tree (whole tree) or get_computed_styles (styles).

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

    Usage Guidelines3/5

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

    The description implies usage for locating elements by selector, but does not explicitly state when to use it over alternatives like get_dom_tree or get_computed_styles, nor when not to use it. With a list of sibling tools provided, adding explicit alternative guidance would improve this dimensions.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden. It discloses that execution happens in page context, returns the result, and prohibits access to sensitive APIs like cookie/localStorage/fetch. This is valuable safety context, though it does not mention potential side effects, promise handling, or error behavior.

    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 two sentences: the first states the core action, the second states a critical restriction. It is front-loaded, concise, and every sentence serves a purpose with no unnecessary information.

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

    Completeness4/5

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

    For a simple one-parameter tool with no output schema or annotations, the description covers the action, the return value, and a key constraint. It omits details about return formatting, async scenarios, or side effects, but these are less critical given the tool's straightforward nature. It is reasonably complete for its complexity.

    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 the only parameter 'expression' described as 'the JavaScript expression to execute.' The description does not add any extra syntax, format, or usage details beyond what the schema already provides, so it meets the baseline without enhancing parameter understanding.

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

    Purpose5/5

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

    The description clearly states the tool executes JavaScript expressions in the page context and returns the result. This specific verb+resource combination distinguishes it from sibling tools that read DOM metrics or inspect tabs, which do not execute arbitrary code.

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

    Usage Guidelines4/5

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

    The context is clear: use this tool when you need to run JavaScript in the page. However, it does not explicitly mention alternatives or exclusions relative to sibling tools, though the prohibition on sensitive APIs provides a form of 'when not to do X' guidance.

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

  • Behavior4/5

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

    No annotations are provided, so the description carries the transparency burden. It discloses the scope ('current browser') and the behavioral filter ('only page type'), which fully describes the tool's behavior for a non-destructive list operation. There is no hidden side effect or additional trait that needs disclosure.

    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, front-loaded sentence that includes the action, scope, and filter. Every word earns its place; there is no redundancy or filler, 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.

    Completeness5/5

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

    Given the tool's simplicity (no parameters, no output schema, no complex side effects), the description is sufficiently complete. It defines the exact scope (current browser, page-type tabs) and the action (list), which fully prepares an agent to invoke the tool correctly. No additional context is needed.

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

    Parameters4/5

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

    The tool has zero parameters, and the schema coverage is 100% (empty object). The baseline for 0-param tools is 4, and the description correctly adds no unnecessary parameter information while still conveying the tool's purpose and constraints.

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

    Purpose5/5

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

    The description clearly states the verb 'list' and the resource 'debuggable Tabs in current browser', and includes a specific filter ('only page type'). This distinguishes it from sibling DOM inspection tools, which focus on page elements rather than tabs.

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

    Usage Guidelines4/5

    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 the tool (enumerate browser tabs) and notes the page-type filter. It does not explicitly name alternatives or state when not to use it, but the tool's unique role among siblings makes the usage obvious. This aligns with 'clear context, no 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

chrome-devtools-mcp MCP server

Copy to your README.md:

Score Badge

chrome-devtools-mcp 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/Himangguo/chrome-devtools-mcp'

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