Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation4/5

    Each tool has a generally distinct purpose: status, tab listing, page reading, navigation, typing, clicking, and social composing/publishing. There is mild overlap between type_text and draft_social_post, and click could theoretically be used in place of publish_social_post, but the descriptions clarify the intended specialized use.

    Naming Consistency3/5

    Most tools follow a verb_noun snake_case pattern (list_tabs, read_page, open_url, type_text, draft_social_post, publish_social_post), but browser_status is a noun phrase and click is a bare verb. The naming is readable and consistently lowercase, but the pattern is not uniform.

    Tool Count5/5

    Eight tools is well-scoped for a browser automation assistant. Each tool has a clear role with no obvious filler or redundant duplicates, making the count appropriate for the server's purpose.

    Completeness3/5

    The set covers core browsing actions like open, read, type, click, plus a guarded social-posting workflow. However, it lacks standard browser controls such as switching or closing tabs, scrolling, refreshing, and waiting for page conditions, which are notable gaps for browser automation.

  • Average 3.6/5 across 8 of 8 tools scored. Lowest: 2.9/5.

    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.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 all responsibility for behavioral disclosure. It notes the confirmation prerequisite but omits side effects (e.g., publishing publicly), error states, or whether navigation happens. The post-click outcome is entirely undisclosed.

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

    Conciseness4/5

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

    Two sentences, front-loaded with the action and confirmation requirement. No fluff. The core instruction is clear and quick to scan.

    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?

    Without an output schema or annotations, this tool leaves out success/failure behavior, prerequisites like being logged in or on the right tab, and how to obtain publishButtonRef. Minimal description for a side-effectful action.

    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 coverage is low (only 'confirmed' has a description). The tool description adds little beyond restating the confirmed requirement, and does not explain publishButtonRef (presumably a selector) or tabId (which page). Agents can't infer correct values from the description.

    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?

    States a specific action (click a publish button) on a social site, distinguishing it from generic click and draft_social_post siblings. However, it doesn't explicitly name these alternatives, so the differentiation is implied rather than stated.

    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?

    Provides a usage condition: 'Requires confirmed=true after the user has reviewed the draft.' This tells when the tool can be invoked, but it doesn't mention when not to use it, what prior steps are needed, or when the alternative draft_social_post or click should be used instead.

    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 carries the behavioral transparency burden. It does disclose a key behavioral trait: it fills without publishing, and it implies a dependency on an existing read_page result. But it does not mention overwriting behavior, side effects, visibility requirements, or response/return behavior, so the disclosure is only partial.

    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?

    Two short sentences with no filler. The main action is front-loaded, and the prerequisite is stated immediately after. Every word contributes useful information.

    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 description gives the critical prerequisite and non-publishing behavior, but with no annotations, no output schema, and 0% parameter schema coverage, there are significant gaps: tabId semantics, return value, error conditions, and what happens to pre-existing draft content. It is not complete enough for an agent to invoke confidently in all cases.

    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%, and the description only partially compensates. It explains that composerRef comes from read_page, and 'text' is implied as the post content by 'Fill a social-media composer,' but the tabId parameter is entirely unexplained, and no parameter-specific details are given. The description is not enough to fully disambiguate the three parameters.

    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 states a clear action ('Fill a social-media composer') and a resource, and explicitly notes it does not publish. It implicitly distinguishes itself from publish_social_post and type_text, but does not explicitly name sibling alternatives, so it falls just short of a 5.

    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?

    It gives a direct prerequisite and dependency: 'Call read_page first and pass its composer ref.' This tells the agent when and how to prepare inputs. However, it does not mention when not to use this tool or explicitly compare against siblings like type_text or publish_social_post, so it's clear but not fully exhaustive.

    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. It discloses the core behavior (opening a URL) and the tab behavior (active vs new tab), but doesn't mention side effects like navigation, potential page load delays, or whether the tool waits for page load. For a simple action, this is adequate but not rich.

    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 front-loads the action and target. No wasted words; it earns its place.

    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?

    For a simple two-parameter tool with no output schema, the description covers the essential action and tab behavior. However, it doesn't mention error cases (e.g., invalid URL, unsupported scheme) or whether the tool returns any status. Given the simplicity, it's mostly complete but could add a note on validation.

    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 0%, so the description must compensate. It mentions the URL and the newTab option implicitly ('active tab or a new tab'), but doesn't explain the url format beyond 'http(s)' or the default behavior of newTab. The schema already defines the parameters, so the description adds minimal extra meaning.

    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 states a specific verb ('Open') and resource ('an http(s) URL') and clarifies the target ('active tab or a new tab'). It is clear and distinguishes from siblings like read_page or click, though it doesn't explicitly name alternatives.

    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 when to use it (opening URLs) but provides no explicit guidance on when not to use it or alternatives. For example, it doesn't mention that read_page is for reading content or that type_text is for input. The context is clear but exclusions are absent.

    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?

    Since no annotations are provided, the description must inform the agent about side effects and behavior. It discloses that 'sensitive input values are omitted', which is a valuable behavioral trait. However, it does not mention whether this is a read-only operation (likely safe, but not stated) or any other side effects, so the burden is only partially met.

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

    Conciseness4/5

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

    The description is extremely concise—a single sentence with essential information. The key point about omitting sensitive inputs is front-loaded after the main purpose. It is efficient and avoids redundancy, though it could benefit from a brief mention of parameters, but given the schema has defaults, this is acceptable.

    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?

    Given the tool's simplicity (only two optional parameters, no output schema), the description is largely adequate. It covers the core purpose and a key behavioral nuance (omission of sensitive values). However, it does not clarify what 'compact' means in terms of output format or whether it returns plain text or structured data, which could be useful for an agent deciding how to use the result.

    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 schema provides parameter names, types, defaults, and constraints but no descriptions (0% coverage). The description adds meaning by implying that the parameters control the snapshot's scope (e.g., 'maxChars' likely limits the returned text length, 'tabId' selects the tab). Despite not specifying exact semantics, the description helps interpret the parameters beyond the bare schema.

    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 states a specific verb ('read') and resource ('page'), and notes it is a 'compact accessibility-oriented snapshot', which distinguishes it from navigation or interaction tools. It clearly indicates what the tool does, but does not explicitly list sibling tools for differentiation beyond the general phrasing.

    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 that it is used to read the content of the active tab, which is a clear use case compared to siblings like click or open_url. However, it does not provide explicit guidance on when to choose this over alternatives (e.g., when you need a lightweight read vs. a full page). The context of 'active tab' is clear, but exclusions are absent.

    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 behavioral burden. It discloses the replace-by-default behavior and the visible-editable constraint, but omits failure conditions, focusing behavior, or any side effects. This is a start but not comprehensive.

    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?

    Two sentences with no filler, and the core action is front-loaded. Every sentence earns 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?

    For a tool with four parameters and no output schema, the description is incomplete. It lacks parameter semantics and any error or edge-case behavior, leaving an agent to infer too much from parameter names alone.

    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 coverage is 0%, and the description provides no explanation for ref, text, or tabId. It only hints at the append parameter through the 'replaced by default' phrase, leaving most parameters semantically unexplained.

    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 action (type) and the target (visible editable element), and the note about replacing existing text distinguishes it from the click sibling. This leaves no ambiguity about what the tool does.

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

    Usage Guidelines3/5

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

    The description implies use for text entry but provides no explicit guidance on when to prefer this over alternatives like click, nor does it state exclusions or prerequisites. The context is clear but lacks differentiation.

    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 carries the full burden, and it does convey a read-only, non-destructive status check through the verb 'Check'. However, it does not say what the result looks like, whether it returns a boolean/status value, or what happens if the extension is disconnected, so transparency is only partial.

    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, clear sentence with no filler. The verb and object are front-loaded, making the tool's intent immediately obvious.

    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 parameterless status check, the description is largely complete: an agent can invoke it without any input. It lacks explicit details about the response format and when to use it, but these are minor gaps given the tool's minimal complexity and empty schema.

    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 schema coverage is 100%, so there is no parameter documentation burden. Per the 0-params baseline of 4, no additional semantic explanation is needed.

    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 ('Check') and names a specific resource ('whether the local Chrome extension is connected'). This clearly distinguishes it from sibling tools that operate on tabs, pages, or content, so an agent can tell exactly 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 Guidelines2/5

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

    There is no guidance about when to run this check, whether it is a prerequisite for other browser tools, or what to do if the extension is not connected. The description only states the tool's purpose, leaving usage context to inference.

    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. It discloses that the element must be visible and that the ref originates from read_page, but does not mention other behavioral traits such as whether the click triggers navigation, waits for page load, or has side effects. This is minimal but not misleading.

    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 entire description is a single, front-loaded sentence with no filler. It efficiently states the action, target, and dependency without redundancy.

    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?

    For a simple click tool, the description gives the essential info (what to click and where the ref comes from), but it omits behavior after clicking, any special handling for the optional tabId, and the return value (no output schema). Given the simplicity, the gaps are manageable, but an agent would need to infer some operational details.

    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 description explains the primary parameter 'ref' by stating its purpose and source, which adds value over the bare schema. However, the optional 'tabId' parameter is not mentioned at all, and schema description coverage is 0%, so the description only partially compensates for the lack of parameter documentation.

    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 action (click), the target (a visible element), and how to identify it (via ref returned from read_page). It differentiates from siblings like type_text and read_page by specifying a distinct verb and resource.

    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 conveys a clear prerequisite: the ref must come from read_page, so the tool is to be used after reading the page. It implies contexts where clicking is appropriate but does not explicitly state when not to use it or contrast with alternatives beyond the source of the ref.

    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 carries the full burden of behavioral disclosure. It usefully states that URLs are only returned to the local MCP client, addressing a privacy-relevant behavior. Yet it does not explicitly confirm the operation is read-only or describe any other side effects, though 'List' strongly implies a non-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/5

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

    The description is remarkably efficient: a single action statement followed by a one-sentence behavioral note. Every word contributes meaning, with the core purpose front-loaded and no filler or redundant schema repetition.

    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 parameterless tool, the description gives enough to invoke it correctly: what it lists, which tabs it covers, and a privacy constraint on the returned URLs. It does not describe return structure beyond URLs, but the absence of an output schema means some details are left unspecified; this is a minor gap for such a simple tool.

    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 parameter semantics are essentially moot. The description provides all necessary context for invocation, and the schema's 100% coverage of an empty parameter set requires no further elaboration.

    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 ('List') and resource ('normal Chrome tabs'), making the tool's function immediately clear. It also adds a meaningful scope qualifier ('normal') and a privacy note about URLs, which helps distinguish it from broader browser-state tools like browser_status.

    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 phrase 'normal Chrome tabs' implies when the tool is appropriate, suggesting it is meant for ordinary tab enumeration rather than special or internal tabs. However, it gives no explicit guidance about alternatives or when not to use it, leaving the agent to infer usage context from sibling tool names.

    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

browserlemon MCP server

Copy to your README.md:

Score Badge

browserlemon 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/mkseo1012-pixel/browserlemon'

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