Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose, organized by domain (VM, snapshot, file, desktop, browser, web). There is no overlap; actions are easily distinguishable even with many tools.

    Naming Consistency5/5

    All tool names follow a consistent snake_case pattern with domain prefixes (vm_, snapshot_, fs_, desktop_, browser_) plus a few standalone names (exec, web_search, file_upload). No mixing of conventions.

    Tool Count4/5

    36 tools is on the higher side, but the server covers a broad scope (VM management, filesystem, desktop, browser automation, web search). Each tool serves a needed function, making the count reasonable for the domain.

    Completeness5/5

    The tool surface is comprehensive, covering full VM lifecycle, snapshot management, file operations, desktop interaction, and browser automation with advanced features (CDP, Playwright tests, console/network logs). No obvious gaps for computer use tasks.

  • Average 3.4/5 across 36 of 36 tools scored. Lowest: 1.6/5.

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

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • 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

  • Behavior1/5

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

    Description provides no behavioral details beyond the action. No mention of scroll speed, direction, amount limitations, or edge behavior. With no annotations, agent has no safety cues.

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

    Conciseness2/5

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

    Extremely concise (3 words) but at the cost of completeness. Structure is missing; no separation of purpose, usage, or parameters.

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

    Completeness1/5

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

    With 5 parameters and no output schema, the description is grossly inadequate. Agent lacks information to correctly invoke the tool.

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

    Parameters1/5

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

    Schema coverage is 0%. Description only hints at x,y coordinates but fails to explain 'amount', 'direction', or 'id' parameters. Agent cannot infer parameter meanings from this description.

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

    Purpose3/5

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

    The description 'Scroll at (x,y)' clearly identifies the action (scroll) and basic resource (coordinates), but lacks specificity about what is being scrolled (e.g., screen vs. active window), which reduces clarity.

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

    Usage Guidelines1/5

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

    No guidance on when to use this tool vs. siblings like desktop_click or desktop_drag. Missing context for prerequisites or alternatives.

    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 that the tool kills processes, implying destructiveness, but does not elaborate on consequences (e.g., loss of unsaved data, need for caution). With no annotations, this is insufficient for a destructive tool.

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

    Conciseness2/5

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

    While compact (one sentence), the description is underspecified, omitting critical details about the parameter and usage. Efficiency is not achieved when key information is missing.

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

    Completeness1/5

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

    Given one unexplained parameter, no output schema, and a destructive operation, the description is starkly incomplete. It fails to explain what the parameter does, what happens after execution, or any warnings.

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

    Parameters1/5

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

    The sole parameter 'id' is undefined in the description. Schema coverage is 0%, and the description adds no semantic value about what 'id' represents (e.g., browser instance ID, session).

    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 the action (kill all Chrome processes) and target (inside the sandbox), making the purpose clear. However, it does not differentiate from sibling browser tools beyond the name.

    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 on when to use this tool versus similar tools like browser_navigate or browser_snapshot. The description lacks contextual recommendations or prerequisites.

    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 provided, so the description carries full burden. It does not disclose whether the tool is read-only, what happens to the captured list after calling, or the effect of the 'clear' parameter. Minimal behavioral disclosure.

    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 a single, focused sentence that immediately communicates the tool's purpose. It is concise and front-loaded, though it omits important details.

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

    Completeness1/5

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

    Given no output schema, no annotations, and 2 parameters with no explanation, the description is severely incomplete. It fails to explain the 'id' parameter, the format of returned failures, or the behavior of 'clear'. Does not provide enough information for correct use.

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

    Parameters1/5

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

    The input schema has two parameters (id, clear) with no description. The tool description adds no meaning to these parameters; 'id' is unexplained and 'clear' is not mentioned. With 0% schema coverage, this is a significant gap.

    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?

    Description clearly states it returns captured network request failures and gives examples (404s, CORS errors). The verb 'Return' and resource 'network request failures' are specific. However, it does not differentiate from sibling tools like browser_console_logs which also deal with errors.

    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 on when to use this tool versus alternatives. The description only states what it does, without context about when it's appropriate or when to avoid 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 must cover behavioral traits. It states the mechanism (xdotool) but does not disclose whether it sends to the active window, any prerequisites, or side effects (e.g., key repeat behavior).

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

    Conciseness3/5

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

    The description is very short (one sentence) and includes examples, but it lacks structure (no parameter details). It is concise but not optimally informative.

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

    Completeness2/5

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

    Given two required parameters and no output schema, the description fails to explain the 'id' parameter or any return value. An agent would struggle to determine correct usage without additional context.

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

    Parameters1/5

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

    Schema coverage is 0%, but the description only elaborates on 'key' with examples. The 'id' parameter is completely unexplained—no hint of its purpose, format, or constraints.

    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 presses a key combo via xdotool, with examples like 'Return', 'ctrl+l'. This distinguishes it from sibling desktop interaction tools (click, type, scroll, drag). However, the purpose of the 'id' parameter is unclear.

    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 on when to use this tool versus alternatives like desktop_type or desktop_click. The examples imply common usage but no explicit conditions or exclusions.

    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 full burden. It mentions the use of xdotool but does not disclose behavioral details such as whether it appends or replaces text, handles special characters, or requires the window to be focused. This is inadequate for safe invocation.

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

    Conciseness3/5

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

    The description is a single short sentence, making it concise. However, it is too brief and lacks critical information, which is not a virtue of conciseness but of under-specification. It could be slightly longer to clarify parameters and behavior.

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

    Completeness2/5

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

    Given no output schema and low complexity (2 params), the description should still cover prerequisites (e.g., xdotool installed, window focused) and return behavior. It does not, leaving agents to guess. Siblings likely have more detail.

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

    Parameters1/5

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

    Neither the description nor the input schema explains the parameters. Schema coverage is 0%, and the description only implies 'text' is the text to type while leaving 'id' ambiguous (e.g., window ID, process ID). This is a critical gap.

    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 types text into the focused window using xdotool. The verb 'type' and resource 'focused window' are specific, and it is distinguishable from siblings like desktop_key (sends key presses) and desktop_click (mouse clicks). However, it does not explicitly differentiate itself.

    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 like desktop_key or desktop_type. There are no usage contexts, prerequisites, or exclusions mentioned. The description is purely functional.

    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 only states the action ('click') but does not reveal side effects (e.g., navigation, form submission), whether it waits for page loads, error conditions, or what happens after the click. This is insufficient for safe invocation.

    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 a single, concise sentence that directly conveys the core functionality with no extraneous words. While it could benefit from additional details, it earns a high score for efficiency and lack of verbosity.

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

    Completeness2/5

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

    Given the absence of annotations, output schema, and parameter descriptions, the description is markedly incomplete. It does not cover return values, error conditions, or the relationship between 'ref' and the snapshot. For a click tool that likely interacts with a live browser page, more context is essential.

    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?

    The input schema has two parameters ('id' and 'ref') with zero description coverage. The description adds minimal meaning by stating that 'ref' is a 'ref number from the most recent browser_snapshot', which hints at its source. However, it does not explain the 'id' parameter (likely a tab or session identifier), leaving the agent with incomplete understanding.

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

    Purpose4/5

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

    The description clearly states the action ('click') and the target ('element by its ref number from the most recent browser_snapshot'). It distinguishes itself from sibling tools like 'browser_type_ref' and 'desktop_click' by specifying the use of a reference number from a snapshot. However, it does not explain what a 'ref' number is or how it relates to the snapshot.

    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 compared to alternatives such as 'desktop_click' or 'browser_type_ref'. It does not mention prerequisites like having a recent 'browser_snapshot' or the need to identify an element's ref beforehand. The description implies a specific workflow but offers no explicit usage 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?

    Without annotations, the description should disclose behavioral details. It only says 'run JavaScript expression' without mentioning side effects, permissions, async behavior, or error handling. Minimal transparency.

    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 a single concise sentence. It is well-structured and front-loaded with the primary action, though slightly lacking in detail.

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

    Completeness1/5

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

    Given the tool runs arbitrary JavaScript and has no output schema, the description fails to explain return value format, execution context, or potential errors. This is inadequate for safe and correct usage.

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

    Parameters1/5

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

    Schema description coverage is 0%, yet the description adds no explanation for the 'id' or 'expression' parameters. The agent is left guessing what 'id' refers to (likely a tab ID) and how to format the expression.

    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 in the browser page context and returns the result. It distinguishes from sibling tools like browser_navigate or browser_click_ref, which have different actions.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives like exec for VM commands or other browser tools. There are no explicit usage contexts or exclusions.

    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 provided, so the description carries full burden. It only maps button numbers to mouse buttons but omits side effects (e.g., focus changes), error handling, or out-of-bounds behavior.

    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 a single sentence with a clear mapping, avoiding unnecessary words. It front-loads the main action. Could benefit from slightly more detail without becoming verbose.

    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 4 parameters, no output schema, and no annotations, the description is insufficient. It lacks details on coordinate system, return values, error conditions, and preconditions, leaving significant gaps for correct usage.

    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?

    With 0% schema description coverage, the description adds meaning only for the 'button' parameter via the mapping. The 'id', 'x', and 'y' parameters are not explained beyond their implied roles, leaving ambiguity about coordinate system and identifier usage.

    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 verb 'Click' and the resource 'sandbox desktop' with coordinates, distinguishing it from sibling tools like desktop_type or desktop_drag. However, it does not explicitly differentiate from desktop_drag, which also involves clicking.

    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 on when to use this tool versus alternatives like desktop_drag or desktop_screenshot. Prerequisites (e.g., desktop visibility, coordinate system) are not mentioned.

    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 for behavioral disclosure. It mentions returning 'up to 8 organic results' but omits critical details like authentication requirements, rate limits, whether the operation is read-only, or any side effects.

    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 a single concise sentence that front-loads the action and result format. However, it is so brief that it sacrifices informative detail for brevity.

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

    Completeness2/5

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

    Given the lack of annotations, no output schema, 0% schema description coverage, and two undocumented parameters, the description is severely incomplete. It fails to explain what 'id' is for or provide usage context, leaving critical gaps for an agent.

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

    Parameters1/5

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

    Schema description coverage is 0%, yet the description adds no meaning to the two required parameters 'id' and 'query'. It only describes the output, leaving the purpose of 'id' completely 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 verb 'Search Google' and the resource 'organic results', specifying the output format as {title, url, snippet}. This distinguishes it from sibling tools like browser_navigate and browser_snapshot.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It does not mention any prerequisites, exclusions, or alternative tools for different search needs.

    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 provided, so description must fully disclose behavior. It states logs are 'captured' but does not explain capture mechanism, whether it clears logs, or if browser must be open. Missing read-only or destructive hints.

    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?

    Single sentence with no filler, but sacrifices completeness for brevity. Could include parameter explanations without significant length increase.

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

    Completeness2/5

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

    Given 3 parameters, no output schema, and no annotations, the description is insufficient. Missing explanation of required 'id' parameter, behavior of 'clear', and whether logs persist across calls.

    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 has 3 params with only 33% coverage. Description mentions 'errors, warnings, info' which partially explains the 'level' param, but fails to describe 'id' (required) and 'clear' (default false). Does not compensate for low 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?

    Description clearly states verb 'Return', resource 'browser console logs', and scope 'from the current page'. Distinct from sibling tools like browser_network_errors and browser_snapshot.

    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 on when to use this tool vs alternatives such as browser_network_errors. Does not mention prerequisites, limitations, or exclusions.

    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 traits. It fails to mention what happens if the file doesn't exist, file size limits, encoding, or return format. The minimal statement lacks necessary disclosure for safe usage.

    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 a single sentence, very concise. However, it might be too brief for a file read operation that could benefit from output format or error handling notes.

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

    Completeness2/5

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

    Given the tool's simplicity (2 params, no output schema, no annotations), the description should provide more context about the sandbox environment, how to obtain the id, and error behaviors. The current description is incomplete for an agent to use reliably alongside 25+ sibling tools.

    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?

    The input schema has two parameters: id (no description) and path (described as 'Absolute path inside the sandbox'). The description adds no extra meaning beyond the schema for path, and does not explain the id parameter (likely a sandbox identifier). Schema description coverage is only 50%.

    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 identifies the action ('Read') and the resource ('a file inside the sandbox'). It differentiates from sibling tools like fs_write, fs_edit, fs_list, and fs_search, which involve different operations on files.

    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, such as fs_list for listing or fs_search for content search. No prerequisites or context are mentioned.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden but only states the basic operation. It does not disclose important behavioral traits like button defaults (left-click), hold duration, or whether the action blocks.

    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 efficiently conveys the core action without unnecessary words or repetition. It is well-structured and front-loaded.

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

    Completeness2/5

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

    Given the tool has 7 parameters and no output schema, the description is insufficiently complete. It leaves out important context such as return values, default behaviors, and the purpose of all parameters.

    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%, so the description must explain all parameters. It only clarifies four coordinate parameters (from_x, from_y, to_x, to_y) but omits explanations for 'id', 'button', and 'hold_ms', which are critical for correct invocation.

    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 'Drag' and the resource 'sandbox desktop', specifying the start and end coordinates. It distinguishes itself from sibling tools like desktop_click and desktop_scroll by describing a unique mouse drag operation.

    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 when a drag operation is preferred over a click or scroll. The description lacks context for appropriate usage scenarios.

    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?

    Without annotations, the description carries the full burden. It discloses that it returns a JPEG screenshot and handles both opening and navigating, but lacks details on screenshot scope (full page vs viewport), potential side effects, or required permissions.

    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 a single sentence with no fluff, but it could be structured to separate the two use cases (opening vs navigating) for clarity. Still efficient.

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

    Completeness2/5

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

    Given the tool's complexity (2 params, many sibling tools, no output schema), the description covers basic functionality but misses usage guidance, parameter details, and comprehensive behavioral traits, leaving gaps for an AI agent.

    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%, so the description must compensate. It mentions 'at the given URL' (referring to url param) but does not explain the required 'id' parameter (likely sandbox identifier) or its format. Incomplete 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 tool opens or navigates Chrome in a sandbox at a given URL and returns a JPEG screenshot, specifying verb, resource, and outcome, distinguishing it from siblings like browser_navigate or browser_snapshot.

    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 explicit guidance on when to use this tool versus alternatives such as browser_navigate (if only navigation is needed) or browser_snapshot (if only a screenshot is needed). No prerequisites mentioned, e.g., sandbox must be running.

    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 provided, so description carries burden. Discloses available Playwright objects but omits side effects (e.g., does it affect VM state?), timeout behavior (though param exists), error handling, or return value. Not enough for safe invocation.

    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 concise, front-loaded sentences with no wasted words. Each sentence adds essential context (purpose and available scope).

    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?

    Despite lack of output schema, description does not explain return value, error propagation, or prerequisites (e.g., VM must be running). Critical gaps for a tool that executes arbitrary code.

    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 (33% - only script has description). Description adds that script is Playwright body in async context, but fails to explain 'id' (presumably VM ID) or 'timeout_ms' beyond default. Insufficient for a 3-parameter tool with no enums.

    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?

    Description clearly states verb (run), resource (Playwright test script), and environment (browser inside a VM). Lists available variables, distinguishing it from other browser interaction tools that are more granular.

    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?

    Implies usage for running custom Playwright scripts, but no explicit when-to-use or when-not-to-use compared to siblings like browser_eval or browser_click_ref. No guidance on prerequisites (e.g., VM must be running).

    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 discloses one behavioral detail (creates parent dirs) but lacks information on overwrite behavior, error conditions, or return value.

    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 of 13 words, efficiently front-loading the main action and a key behavior without waste.

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

    Completeness2/5

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

    Given no output schema and low parameter coverage, the description is incomplete. It does not clarify overwrite behavior, success/error responses, or additional constraints.

    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 low (33%). The description adds context for 'path' but not for 'id' or 'content'. It fails to compensate for the missing parameter descriptions.

    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 'Write' and resource 'file inside the sandbox', and adds a key behavior 'creates parent dirs as needed', which distinguishes it from siblings like fs_read.

    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 writing to files but does not explicitly state when to use it versus alternatives like fs_edit, nor does it provide when-not-to-use guidance.

    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?

    Describes return values and implies redirect handling via 'final URL', but lacks details on side effects (waiting for load, error handling, timeout). No annotations are provided, so description bears full burden; it is adequate 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?

    Extremely concise single sentence that effectively communicates the tool's purpose and output. Front-loaded with key action and technology used.

    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 zero annotations and no output schema, the description is minimal but covers core function and returns. However, it misses important context like when this tool is valid (e.g., after browser_open) and the meaning of 'id'. For a tool with 2 required parameters, more completeness would be expected.

    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%, meaning description does not explain parameters. While 'url' is obvious from context, 'id' is ambiguous (likely a browser instance or session ID). The description should clarify what 'id' represents.

    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?

    Description clearly states the action: navigate Chrome to a URL using CDP (Playwright). It specifies the return value (final URL and page title), which distinguishes it from other browser tools that may open or close the browser.

    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 on when to use this tool versus alternatives like browser_open or browser_snapshot. It does not mention prerequisites (e.g., browser must be open) or state when not to use 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?

    With no annotations, description carries full disclosure burden. It mentions focusing before typing and submit option, but lacks details on error handling (e.g., if element not found), whether it clears existing text, or behavior on non-input elements.

    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?

    Description is short and front-loaded with the main action. Every sentence adds value, but could be slightly more structured (e.g., listing parameters). No wasted words.

    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 (no output schema, 4 parameters) and no annotations, description covers core action and one option, but misses documentation for 'id' parameter and behavioral details, leaving gaps.

    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 0%, so description must compensate. It explains 'ref', 'text', and 'submit' but omits 'id' entirely, leaving one of four parameters without semantic context in the description.

    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?

    Description clearly states it focuses an element by ref and types text into it. It distinguishes from siblings like browser_click_ref (click) and desktop_type (desktop typing). The verb-resource pair ('type text into element identified by ref') is specific.

    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?

    Description conveys when to use: to type text into a focused element, with optional submit. However, it doesn't mention when not to use or provide alternatives, such as browser_eval for JavaScript or browser_extract for getting text.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It mentions the conditions waited for but does not disclose behavior on timeout, whether it blocks execution, or what happens on failure. This lack of detail leaves significant behavioral ambiguity.

    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, well-structured sentence that immediately conveys the core purpose. It is concise with no wasted words, and the conditions are clearly listed in parentheses.

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

    Completeness2/5

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

    Given the lack of output schema and 0% schema coverage, the description should provide a complete picture. It fails to explain the 'id' and 'timeout_ms' parameters, the return value, error behavior, or whether multiple conditions can be combined. The tool is under-documented for effective use by an AI agent.

    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 add meaning. It links three conditions (selector, text, networkidle) to their roles, but does not explain the 'id' parameter (likely identifying a browser tab) or 'timeout_ms' (default behavior). It partially compensates for the missing schema descriptions.

    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 action ('Wait until a condition holds') and lists the specific conditions it handles (selector visible, text appears, network idle), making it distinct from sibling browser tools like browser_click_ref or browser_navigate.

    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 by listing conditions, but does not explicitly state when to use this tool versus alternatives or provide exclusions. The sibling tools suggest a context where waiting is needed before interactions, but no direct guidance is given.

    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?

    Description lacks details about permissions, side effects (e.g., overwrite behavior), or rate limits. With no annotations provided, the description carries full burden but only mentions a size constraint.

    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, front-loaded purpose, then constraint. No redundant information. Every sentence adds value.

    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?

    Despite low complexity, the description is incomplete. No output schema, no annotations, and missing return value, error handling, or confirmation of success. For a write operation, more 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?

    Schema coverage is 67% (2 of 3 params have descriptions). Description adds the 50MB size limit for content_base64, which is valuable beyond schema. However, the 'id' parameter lacks any semantic context.

    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?

    Description clearly states 'Upload a file into a VM', using a specific verb and resource. It distinguishes itself from sibling file operations like fs_write and browser_open by focusing on VM file upload.

    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 explicit guidance on when to use this tool vs alternatives. For example, it doesn't clarify how file_upload differs from fs_write or whether it requires certain VM states. Only implied usage by name.

    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 burden of behavioral disclosure. The 'grep -rn' analogy effectively communicates that the search is recursive and outputs line numbers. While it does not explicitly mention read-only behavior or edge cases (no matches, binary files), the analogy provides reasonable transparency for a search tool.

    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 a single, concise sentence that quickly conveys the tool's behavior. It is front-loaded with the key action. However, it could be slightly more structured (e.g., stating output format) without losing conciseness.

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

    Completeness2/5

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

    Given the lack of output schema, the description should explain the return value (e.g., list of matching files with line numbers). It does not. The sibling tools list suggests a rich environment, but the description is too minimal to fully contextualize the tool's place and output.

    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 only 25% (only file_pattern has a description). The tool description does not explain the 'id' or 'pattern' parameters, nor does it clarify that 'path' defaults to '/workspace'. The grep analogy implicitly explains 'pattern' but leaves 'id' and 'file_pattern' ambiguous. The description fails to compensate for the low 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 'grep -rn for a pattern in a directory' clearly states the tool's purpose: searching for a string pattern recursively in a directory. It uses a well-known command analogy, making it immediately understandable and distinguishing it from sibling tools like code_search, which may offer more features.

    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 like code_search or fs_read. It does not mention any prerequisites, limitations, or when not to use it. The agent is left to infer usage context from the name and analogy 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?

    No annotations are provided, so the description carries full burden. It only states 'Read text content' without detailing non-destructive behavior, page load waiting, dynamic content handling, or if navigates the browser. More behavioral context is needed.

    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 deliver key information efficiently. No fluff, front-loaded with action and variations.

    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 read tool, the description covers basic functionality. Missing details like id parameter purpose, error behavior, page loading guarantees, and output structure. With no output schema or annotations, more completeness would help.

    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 selector parameter's behavior is explained ('returns innerText of matching elements'), adding value beyond the schema. However, the required id parameter lacks description in both schema and description, leaving its purpose unclear (likely tab/window ID). 50% coverage is partially compensated.

    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 it reads text content, with or without a CSS selector, and specifies the output (innerText). This distinguishes it from siblings like browser_snapshot (screenshot) and browser_eval (JavaScript execution).

    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 the tool (extracting text), but lacks explicit guidance on when to include a selector vs. not, and does not compare to alternatives like browser_eval for text extraction. No when-not or alternative tool mentions.

    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 full burden. It discloses the tool captures a JPEG screenshot of the XFCE desktop, but does not state whether it captures the full screen or active window, if any prerequisites exist (e.g., desktop must be running), or if there are side effects. Adequate but gappy.

    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 with no wasted words, efficiently conveying the core purpose and the return type.

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

    Completeness2/5

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

    Given no output schema, the description is vague about the return format ('image content' – base64? URL?). It also lacks information about prerequisites, typical use with other desktop tools, and the sandbox context. For a tool with 3 parameters and no output schema, more completeness is needed.

    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 67% (id parameter has no description). The tool's description does not add meaning beyond the schema: it does not explain what 'id' refers to (likely sandbox ID), nor provides additional context for 'quality' or 'max_width' parameters. Parameters are not mentioned in the description.

    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 takes a JPEG screenshot of the sandbox desktop and returns it as image content. It specifies verb, resource, format, and environment, distinguishing it from sibling tools like browser_snapshot and desktop interaction tools.

    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 when a screenshot of the sandbox desktop is needed, but provides no explicit guidance on when to use this versus alternatives like browser_snapshot, nor any exclusion criteria.

    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 must convey behavior. It mentions two listing modes (non-recursive detailed and recursive limited depth), but lacks details on permissions, side effects, hidden file handling, or return format. Adequate but not detailed.

    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?

    Single sentence that is front-loaded with the action and immediately clarifies the two modes. No wasted words.

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

    Completeness2/5

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

    Given no output schema, the description should explain what the output looks like (e.g., list of filenames, full details). It does not cover error handling, depth configurability, or the mysterious 'id' parameter. Incomplete for an agent to properly use.

    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?

    Input schema has 3 parameters with only 33% coverage (only path has a description). The description mentions 'directory path' (path) and implies 'recursive' through 'recursive find', but does not explain the required 'id' parameter at all. Insufficient compensation for the schema gap.

    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 lists files in a directory and gives two concrete modes: ls -la (non-recursive with details) and recursive find with depth 3. It distinguishes itself from sibling fs_* tools that write, read, edit, or search file content.

    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 when you need to list files, but does not explicitly state when to use this tool vs alternatives like fs_read or other list methods. No when-not or exclusion criteria are provided.

    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 present, so the description carries the full burden. It only states that it lists snapshots and that they can be resumed, but does not disclose any further behavioral traits (e.g., whether it's read-only, rate-limited, or has side effects).

    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 concise sentences with no wasted words. The first sentence states the purpose, and the second adds useful context about how to use the results.

    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 (no parameters, no output schema), the description covers the essential information: what it lists and how the results can be used. Minor omission: it doesn't mention the return format, but that's implied.

    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 100% schema coverage (vacuously). The baseline for no parameters is 4, and the description does not need to add parameter-specific meaning.

    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 'List all saved snapshots' – a specific verb and resource. It also explains that snapshots can be resumed via vm_create, which differentiates it from sibling tools like snapshot_delete or vm_list.

    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 you use this tool to list snapshots before resuming them, but it does not explicitly state when to use it versus alternatives (e.g., vm_list lists VMs, not snapshots) or when not to use it.

    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 provided; description compensates by disclosing that renaming does not migrate existing snapshots, a key behavioral side effect.

    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, front-loaded with the primary action, no wasted words. Efficient and clear.

    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?

    No output schema, but the description covers the main effect and a critical side effect (snapshot behavior). Adequate for a simple rename tool.

    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%, so baseline is 3. Description adds minimal extra meaning beyond schema definitions (e.g., 'New label' is self-explanatory).

    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 pair ('Rename a running VM by changing its label'), clearly distinguishing it from sibling tools like vm_create, vm_destroy, etc.

    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 explicit guidance on when to use this tool vs alternatives. The description does not mention prerequisites or when not to use it.

    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 provided, so description must convey behavior. It states failure condition and the replace_all parameter. It implicitly indicates destructive nature (modifies file) without explicitly saying so. Lacks warnings about permissions or file creation, but sufficient for common use.

    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, no filler. Every sentence adds value: first defines purpose, second adds constraints and usage details.

    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?

    Despite simple nature, missing crucial context: no explanation of id vs path (likely file identifier and filesystem path), no return value, no mention that it modifies the file in-place. For a tool with 5 parameters and no output schema, this is insufficient.

    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 only 20% (only replace_all has a description in schema). Description adds no additional meaning for id, path, old_string, or new_string beyond what the schema provides (which lacks descriptions). It does not clarify what 'id' or 'path' refer to, nor the expected format of old_string/new_string.

    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?

    Clearly states the tool does a string replacement in a file. The verb 'replace' and resource 'string in a file' are specific and distinguishable from sibling tools like fs_write (write entire file) or fs_search (search pattern).

    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?

    Provides explicit behavior: fails if old_string is not found, and the replace_all option for multiple occurrences. No alternatives or when-not-to-use mentioned, but for a simple replacement tool, this is adequate.

    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 discloses key behaviors: overlays injection, screenshot capture, and dual return. It does not detail potential side effects (e.g., scroll behavior) but covers the main traits adequately.

    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 concise sentences that front-load the core action and follow-up steps. Every sentence adds value with no 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?

    The description explains the tool's purpose and output usage but omits explanation of the 'id' parameter and return format details (e.g., base64 or URL). Given the absence of output schema and annotations, more detail would improve completeness.

    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?

    The schema has 3 parameters (id, quality, max_width) but the description adds no explanation. Schema coverage is 0%, so the description should clarify these parameters, especially 'id' (likely a tab reference). The defaults for quality and max_width are in the schema but their meaning is not explained.

    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 specifies the tool injects overlays on interactive elements, takes a screenshot, and returns the screenshot and element refs. It clearly distinguishes from siblings like desktop_screenshot by focusing on browser interaction and Set-of-Mark prompting.

    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 explicitly advises using browser_click_ref / browser_type_ref to interact after obtaining the snapshot, providing clear follow-up steps. However, it lacks explicit when-not-to-use or alternatives for non-interactive pages.

    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 full burden. It discloses that output is combined stdout+stderr, but does not mention error handling, timeouts, permissions, or the `bash -c` execution context (though that appears in the schema). Additional behavioral details (e.g., side effects, safety) are missing.

    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 long, front-loaded with purpose and examples. Every sentence adds value: first for definition, second for usage context. 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?

    Given the absence of output schema, the description explains the return format. It covers main use cases (CLI tools). However, it lacks details on working directory, environment, or exit codes, but is sufficient for basic usage with sibling tools.

    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% with both parameters described ('Sandbox id', 'Shell command to run (executed via bash -c)'). The description adds no parameter-specific detail beyond the schema, so baseline 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's purpose: 'Run a shell command inside the sandbox.' It specifies the verb (run), resource (sandbox), and return format (combined stdout+stderr). The examples of CLI tools differentiate it from sibling tools like browser or file operations.

    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 explicitly says 'Use for any CLI work: git, npm, pip, apt, curl, etc.' which provides clear guidance on when to use. It does not mention when not to use or list alternatives, but the examples cover common cases.

    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 provided, so description carries full burden. It mentions ripgrep and features, indicating a read-only search operation. It does not disclose potential performance impacts or concurrency limits, but for a search tool this is acceptable.

    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 very concise: only two sentences, front-loaded with the main purpose, and no unnecessary 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?

    Given high schema coverage and the simplicity of a search tool, the description covers the essential aspects. It could mention the output format (file paths and lines), but overall it is sufficiently complete for an agent to understand.

    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 90%, so baseline is 3. The description adds general context but does not elaborate on individual parameters 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/5

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

    The description clearly states the tool searches codebase content using ripgrep, and distinguishes it from the sibling fs_search by highlighting speed, regex support, and additional features.

    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 explicitly compares to fs_search and highlights advantages, implying when to use this tool. However, it does not explicitly state when not to use it or provide alternatives beyond the comparison.

    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?

    Despite no annotations, the description discloses destructive behavior ('frees disk space') and downstream effects on vm_create, offering sufficient transparency for a simple deletion tool.

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

    Conciseness5/5

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

    Two concise sentences, front-loaded with the core action, containing zero 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?

    Given the tool's simplicity (one parameter, no output schema), the description adequately covers the purpose and effect, though it omits error behavior for missing labels.

    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% with a clear description for 'label'. The tool description adds no extra meaning beyond the schema, meeting the baseline but not exceeding it.

    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 ('Delete') and resource ('saved snapshot by label'), clearly distinguishing it from sibling tools like snapshot_list.

    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 explains when to use the tool ('frees disk space', 'next vm_create... start fresh'), providing clear context, though it lacks explicit guidance on when not to use or alternatives.

    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 provided, so description carries full burden. It states the tool lists active sandboxes but does not describe the format or content of the list. For a simple listing tool, this is acceptable but minimal.

    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 with zero waste, perfectly front-loaded with the action and resource.

    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 simplicity (no input/output schema, no parameters), the description is adequate. It could be slightly improved by indicating what details are in the list (e.g., names or IDs), but not necessary.

    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 no parameter description is needed. Baseline score of 4 applies.

    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 'List' and clearly identifies the resource as 'active sandboxes created in this MCP session.' It effectively distinguishes from sibling tools like vm_create (creates) and vm_destroy (destroys).

    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 clearly states the scope ('in this MCP session') but does not explicitly exlude other contexts or mention when not to use it. Sibling differentiation is implicit.

    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 present, so description carries full burden. Discloses backend auto-detection, return values (sandbox id, VNC URL), and snapshot resumption behavior. Could mention cleanup or error handling.

    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?

    Well-structured with important points upfront and critical warnings (IMPORTANT). Slightly verbose with repeated emphasis but overall concise for the complexity.

    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?

    Covers creation process, snapshot handling, backend selection, return values, and URL usage. Lacks error conditions or rate limits, but adequate for a creation tool with no output 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?

    Schema coverage is 100% (baseline 3). Description adds meaningful context: label must be user-chosen, extra_ports exposes guest ports, use_snapshot resumes from snapshot. Enhances understanding beyond schema.

    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?

    Clearly states 'Create a new sandbox' with specific verb and resource. Distinguishes from sibling tools like vm_list and vm_destroy by focusing on creation and returning an ID used by 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 Guidelines4/5

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

    Provides explicit guidance: check snapshots before creating, ask user about resuming, present VNC URL as-is. Lacks explicit alternative tool references but sibling list provides context.

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

  • Behavior5/5

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

    With no annotations provided, the description fully discloses behavioral traits: it stops and starts the container, preserves files/databases/packages, and only restarts processes. This is comprehensive and leaves no ambiguity about side effects.

    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, front-loading the main action and efficiently adding essential details. Every sentence earns its place without unnecessary words.

    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 (one parameter, no output schema, no annotations), the description fully covers what the agent needs to know: what happens, what is preserved, and what is restarted. No gaps remain.

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

    Parameters3/5

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

    The input schema has 100% coverage with one parameter (id) described as 'Sandbox id to restart.' The description adds no additional meaning beyond the schema; a baseline of 3 is appropriate when schema coverage is high.

    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 what the tool does: 'Restart a sandbox.' It provides specific details about the behavior (stops/starts container, preserves files/databases/packages, only restarts processes) and distinguishes from siblings like vm_destroy and vm_reset that have different effects.

    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 when a restart without data loss is needed but does not explicitly state when not to use it or mention alternatives like vm_reset. More explicit guidance could help an agent decide between similar 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, the description carries full burden. It discloses the read nature and specific data returned (CPU, memory, etc.), implying safety. Does not mention permissions or side effects, but is transparent enough for a read-only diagnostic tool.

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

    Conciseness5/5

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

    Two sentences that are front-loaded with the tool's purpose and followed by usage context. Every sentence adds value with no redundant or vague wording.

    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 single parameter, no output schema, and the tool's simplicity, the description fully covers what the tool does and when to use it. No gaps in essential information.

    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 'id' parameter described as 'Sandbox id'. The tool description adds no additional parameter semantics beyond what the schema provides, meeting the 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?

    Description explicitly states 'Get resource usage (CPU, memory, disk, uptime, top processes) and port mappings for a sandbox', providing a specific verb and resource. Clearly distinguishes from sibling tools like vm_list, vm_create, etc.

    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?

    Description includes 'Use to diagnose OOM, high CPU, or check available disk space', giving clear use cases. Does not state when not to use or provide alternatives, but context is sufficiently clear.

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

  • Behavior5/5

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

    Discloses that the tool destroys the current VM AND deletes its saved snapshot, making the destructive nature fully transparent. No annotations were provided, so the description carries the full burden and meets it thoroughly.

    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 front-loaded with the action and effects. No extraneous words, every sentence adds value.

    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?

    For a simple tool with one parameter and no output schema, the description adequately covers purpose, side effects, and post-condition. Includes needed context without over-explaining.

    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?

    Only one parameter 'id' with schema description 'Sandbox id to reset'. Schema coverage is 100%, so baseline is 3. Description adds no extra information beyond the schema.

    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?

    Clearly states the verb 'Reset', the resource 'VM', and specifies 'to a clean state'. Distinguishes from sibling tools like vm_destroy (which only destroys) and vm_create (which creates) by describing the combined destruction of VM and snapshot.

    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?

    Implicitly conveys when to use: to get a clean state from the base image. Mentions the effect on subsequent vm_create, providing context. Does not explicitly contrast with alternatives like manual destroy+snapshot delete, but the intent is clear.

    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 exist, so description carries full burden. It explains default snapshot saving, opt-out behavior, and links to vm_reset. Could mention irreversibility when save_snapshot=false, but overall 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?

    Two sentences with zero waste. First sentence is the core action, second adds key nuance, third references sibling. Front-loaded and efficient.

    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 2-param tool with no output schema or annotations, description explains behavior, default, and alternative. Could note destruction is immediate, but overall complete enough.

    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?

    Schema covers both parameters with descriptions (100% coverage). Description adds value by stating default for save_snapshot and giving a use case (sensitive data). Exceeds baseline 3.

    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 it destroys a sandbox and frees ports, using specific verb and resource. It distinguishes itself from vm_reset, which handles snapshot deletion.

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

    Usage Guidelines5/5

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

    Provides explicit context for when to use save_snapshot=false (sensitive data) and references vm_reset as an alternative for snapshot management. This helps the agent choose correctly.

    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

taw-computer MCP server

Copy to your README.md:

Score Badge

taw-computer 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/tawgroup/taw-computer'

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