Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a distinct, well-explained purpose with clear use cases. Despite the large number, overlap is minimal (e.g., pilot_get vs pilot_navigate/snapshot, pilot_screenshot variants) and resolved by detailed descriptions and guidance on when to use each.

    Naming Consistency4/5

    All tools share the 'pilot_' prefix, and subdomains like page (pilot_page_*), tab (pilot_tab_*), and frame (pilot_frame_*) use consistent patterns. Minor inconsistencies exist (e.g., 'pilot_tabs' vs 'pilot_tab_new', 'pilot_screenshot' vs 'pilot_annotated_screenshot') but overall the naming is predictable.

    Tool Count2/5

    61 tools is excessive for a browser automation server. While the domain is broad, many tools could be consolidated (e.g., page attribute tools into one, screenshot variants into one with parameters). The count exceeds typical well-scoped servers and would benefit from trimming to improve coherence.

    Completeness5/5

    The tool surface covers the full browser automation lifecycle: navigation, interaction, state inspection, visual capture, session management, tabs, frames, device configuration, network blocking/interception, debugging, assertions, and waiting. No significant gaps are evident.

  • Average 4.5/5 across 61 of 61 tools scored. Lowest: 3.2/5.

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

    • 1 of 1 community issues answered or closed in the last 6 months
    • 4 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

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

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

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

  • If you are the author, simply .

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

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

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

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

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

How is the quality score calculated?

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

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

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

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

Tool Scores

  • Behavior2/5

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

    With no annotations, the description must disclose behavior but only states 'Get all links'. It omits important details like whether URLs are absolute/relative, handling of duplicates, or the default truncation at 20000 characters (from max_chars param).

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

    Conciseness5/5

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

    The description is a single sentence that conveys the core functionality without any extra words. It is perfectly concise 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?

    Despite a simple schema and no output schema, the description is too minimal. It does not explain the return format (e.g., array of objects), the effect of max_chars, or any edge cases. Siblings like pilot_page_text provide more context.

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

    Parameters3/5

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

    Schema coverage is 100% (max_chars described). The description adds no extra meaning beyond the schema, so baseline 3 is appropriate. The parameter is simple and well-documented in 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?

    The description clearly states 'Get all links on the page as text + href pairs', providing a specific verb and resource. It distinguishes itself from siblings like pilot_page_text (gets text) and pilot_page_html (gets HTML) by focusing on links.

    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. There is no mention of prerequisites, when not to use, or comparison with related tools like pilot_find or pilot_click.

    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 should disclose behavioral traits. It mentions stripping but not whether it waits for page load, handles dynamic content, or returns only visible text. The max_chars limits are noted, but overall transparency is limited.

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

    Conciseness5/5

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

    The description is a single sentence that is clear and front-loaded. Every word is meaningful with no unnecessary information.

    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?

    No output schema is provided, so the description should explain the return format (plain text) and handle edge cases (empty page, very large pages). It mentions max_chars but lacks specifics on output structure or error behavior.

    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%, and the description adds context: default value of 20000 and the purpose of preventing token bloat. This goes beyond the schema's 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 extracts clean text and specifies what it strips (script/style/noscript/svg), distinguishing it from siblings like pilot_page_html or pilot_page_links.

    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 pilot_page_html or pilot_find. An agent would benefit from knowing this is for plain text extraction, not for structured content.

    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 bears full responsibility. Only states basic operation without disclosing potential issues like performance impact, error behavior (e.g., if ref doesn't exist), or that max_chars may truncate HTML. Lacks sufficient behavioral detail.

    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, front-loaded with verb, no redundant words. Maximally concise while conveying essential information.

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

    Completeness4/5

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

    For a simple read tool with two optional parameters and no output schema, the description is sufficient. Could mention max_chars default, but schema covers it. Overall adequately complete.

    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. The description adds value by clarifying that omitting 'ref' returns full page HTML, which is not in the schema. Enhances understanding 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 action ('Get innerHTML') and the resource ('selector/ref or full page HTML'). Distinguishes from sibling tools like pilot_page_text (text) and pilot_snapshot (structured snapshot) by focusing on raw HTML.

    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 context (get HTML of element or full page) but does not explicitly state when to use this tool versus alternatives like pilot_page_text or pilot_snapshot. No exclusions or prerequisites.

    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; description burdens transparency. It discloses auto-redaction of sensitive values and claims no errors, but lacks info on overwrite behavior or persistence across navigation.

    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 well-structured with clear sections (use when, parameters, return, errors). Slightly verbose but front-loaded with purpose.

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

    Completeness4/5

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

    For a simple 2-param tool with no output schema or annotations, the description covers purpose, usage, parameter examples, return format, and error handling. Adequately complete.

    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% with basic descriptions. The description adds concrete examples ('Authorization', 'Bearer token123'), adding meaning 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?

    The description clearly states the tool sets a custom HTTP request header for subsequent requests, with examples (Authorization, API key, Accept-Language). It distinguishes from sibling tools like pilot_set_cookie and pilot_auth.

    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 when to use ('when the user wants to add an authorization header...'), but does not mention when not to use or alternatives. Still, it provides clear context.

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

  • Behavior3/5

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

    With no annotations provided, the description must fully disclose behavior. It states the tool returns a list and that no errors occur, but does not explicitly confirm it is read-only or describe any side effects. The non-destructive nature is implied but not stated.

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

    Conciseness5/5

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

    The description is concise at three short sentences, each adding value: purpose, usage, return format, and error handling. It is front-loaded with the core action and information.

    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 covers purpose, usage, and return format, but lacks output schema to confirm the structure. It does not specify if tabs are from the current window or all windows, which could be ambiguous. Slight gap for a simple listing tool.

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

    Parameters4/5

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

    The tool has zero parameters, and the description explicitly notes 'Parameters: (none)'. Since schema coverage is 100% and no parameters exist, the description adds clarity that no input is required.

    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 all open browser tabs with their IDs, URLs, titles, and active status. It distinguishes itself from sibling tab tools (e.g., pilot_tab_close, pilot_tab_new) by focusing on listing rather than manipulation.

    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 when to use the tool: to see what tabs are open, find a specific tab, or check the active tab. It does not explicitly state when not to use it, but the context of listing makes it clear this is for observation, not for tab management.

    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?

    Describes connection behavior, port parameter, how to start Chrome, and errors. No annotations provided so description carries full burden; adequately transparent.

    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 sections, front-loaded purpose. Each sentence adds value, though could be slightly more concise.

    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?

    Covers purpose, usage, parameters, setup instructions, return value, and errors. Complete for a connection 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?

    Only one parameter (port) with full schema coverage. Description adds default value and usage hint but schema already describes 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?

    Clearly states the tool connects Pilot to a real Chrome browser via CDP. Distinguishes from siblings as it's about connecting to an external browser, not performing automation actions.

    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?

    Explicitly advises use when bot detection blocks headed mode, providing context. Does not list alternatives but the context 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?

    With no annotations, the description carries full burden and covers key behaviors: returns title, body text (up to 1500 chars), interactive elements, and timeout error. It does not mention non-destructive nature, but the read-only implication is clear.

    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 concise and well-structured with clear sections for parameters, returns, and errors. Every sentence adds value, and the main action is front-loaded.

    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 no output schema and no annotations, the description sufficiently explains the tool's purpose, return values (with constraints), and error conditions. It could be more specific about the format of interactive elements, but overall it is complete.

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

    Parameters3/5

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

    The schema already describes the single 'url' parameter with 'URL to navigate to'. The description adds only 'The URL to fetch', which is equivalent, providing minimal extra value 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?

    The description clearly states that the tool navigates to a URL and returns readable content plus interactive elements. It explicitly differentiates from siblings like 'pilot_navigate' and 'pilot_snapshot' by combining navigation and extraction into one call.

    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 states 'Use this as the primary tool for 'go to X and find Y' read tasks' and notes it eliminates the need for a separate snapshot call, providing clear guidance for read scenarios.

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

  • Behavior4/5

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

    With no annotations provided, the description must disclose behavior. It explains interception persists until cleared, describes add and clear modes, and lists possible errors. However, it does not clarify whether adding a new intercept clears existing ones or how multiple intercepts interact.

    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 well-structured with sections for purpose, parameters, returns, and errors. It is front-loaded with core functionality. However, some parameter descriptions repeat schema content, and the examples could be more concise.

    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 no output schema, the description clearly explains return values for both add and clear modes, lists errors, and details all parameters including nested objects. It provides sufficient context for an AI to invoke the tool correctly.

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

    Parameters3/5

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

    Input schema has 100% description coverage, so baseline is 3. The description adds some extra context (default status, examples) but largely reiterates schema descriptions. Value added is moderate.

    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 intercepts network requests and allows custom responses. It provides specific use cases (mock API, simulate errors, test loading) that distinguish it from other browser automation tools like pilot_navigate or pilot_click.

    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 states when to use the tool (mock API responses, simulate error states, test loading states) but does not provide when-not-to-use or mention alternative tools. However, the context is clear and sufficient for typical use cases.

    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 behavioral traits. It discloses the return type (JSON object) and error handling but does not explicitly state that the operation is read-only and non-destructive, which is important for a read tool.

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

    Conciseness5/5

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

    The description is concise and well-structured: purpose, usage, parameters, returns, errors. Every sentence adds value, and key information is front-loaded.

    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?

    The tool has one required parameter and no output schema; the description explains the return format and error conditions adequately. It could mention that the element must exist in the DOM, but overall it is complete for its complexity.

    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% for the single parameter 'ref'. The description expands on the schema by giving examples ('@e3' and CSS selector), adding clarity beyond the schema's minimal 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 explicitly states 'Get all HTML attributes of a specific element as a JSON object,' providing a clear verb and resource. It distinguishes from sibling tools that retrieve other page properties (CSS, HTML, text, links, forms).

    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 advises when to use the tool (inspect attributes, check custom data, debug) and includes error conditions (stale ref). It does not explicitly exclude scenarios, but the sibling list implies context.

    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 carry the full behavioral disclosure. It describes return values and an error condition, but does not explicitly state that the tool is read-only or has no side effects. It implies a need for prior navigation, but overall disclosure is adequate but not thorough.

    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 well-structured into clear paragraphs: purpose/use, parameters (none), returns, and errors. It is concise, front-loaded with the main purpose, and every sentence adds value without redundancy.

    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 tool with no parameters and no output schema, the description covers the return metrics and a common error scenario. It is complete enough for an agent to invoke correctly, though additional context on interpreting the metrics would be welcome but not essential.

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

    Parameters4/5

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

    The tool has zero parameters, and the description correctly states 'Parameters: (none)'. With no parameters, the baseline score is 4, and the description adds clarity by listing the output and error cases, which suffices.

    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 explicitly states that the tool measures page load performance metrics from the Navigation Timing API, with clear use cases like diagnosing slow page loads and identifying bottlenecks. It lists the specific metrics returned, leaving no ambiguity about what the tool does.

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

    Usage Guidelines4/5

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

    The description tells users when to use the tool (to diagnose performance issues) and provides a critical prerequisite: first navigate and reload the page. It includes an error message guiding users to that prerequisite. However, it does not explicitly mention when not to use it or suggest alternative tools, though the sibling list has no direct competitors.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden. It describes two actions and their returns, and an error case, but lacks details on security implications, headless mode limitations, or user interaction requirements.

    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 concise and well-structured: main purpose first, then parameters, returns, and errors. 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.

    Completeness5/5

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

    For a simple 2-parameter tool, the description covers purpose, parameters, return values, and error handling. No output schema exists, but returns are adequately described. No missing context.

    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% and the schema already describes parameters well. The description adds value by explaining usage examples (e.g., 'share links, API keys') and return values per action, going 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?

    The description clearly states 'Read from or write to the browser clipboard,' using a specific verb and resource. It uniquely identifies the tool's function among siblings, as no other sibling appears to handle clipboard 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 states when to use the tool (e.g., reading content like API keys, pre-populating clipboard) and mentions an error scenario with a suggested workaround (headed mode). It does not exclude alternatives but provides clear context.

    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, so description carries full burden. Discloses resource release and error condition 'No browser to close' as safe to ignore. Does not elaborate on irreversibility or impact on other windows, but for a close operation it is adequate.

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

    Conciseness5/5

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

    Description is short, front-loaded with the primary action, and includes use cases, parameter list, return value, and error handling. Every sentence is useful and none are redundant.

    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 no parameters, the description covers purpose, usage, return type, and errors. No output schema exists, but the stated return ('Confirmation') is sufficient.

    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?

    No parameters in schema, description simply states 'Parameters: (none)'. This adds no significant meaning beyond the schema, but for zero-parameter tools a baseline of 3 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?

    Description clearly states 'Close the browser instance and release all associated resources.' The verb 'close' and resource 'browser instance' are specific. It distinguishes itself from sibling pilot_tab_close by referring to the entire browser.

    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?

    Explicitly states when to use: 'when the user wants to end the browsing session, clean up after completing a task, or start fresh with a new browser session.' Does not mention alternatives, but context implies not for tab-level closing.

    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 cover behavioral traits. It includes error cases and return values but does not disclose details like whether it overwrites existing files, handles multiple files simultaneously, or any permission/auth requirements. The description 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?

    The description is concise, well-structured with clear sections (Usage, Parameters, Returns, Errors), and every sentence is informative without redundancy.

    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?

    Despite no output schema, the description explains the return value (confirmation with file names and sizes) and lists all possible errors. For a two-parameter tool with straightforward behavior, this is complete and actionable.

    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%, but the description adds value by clarifying that 'ref' can be an element ref or CSS selector and that 'paths' are absolute file paths, with examples. This goes beyond the schema's basic 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 explicitly states 'Upload one or more files to a file input element on the page.' It uses a specific verb and resource, and the tool's purpose is clearly distinct from siblings (e.g., no other upload tool).

    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 says 'Use when the user wants to attach files, upload images, or submit documents through a file input field.' This provides clear context for when to use it, though it does not explicitly mention when not to use or name alternatives (but no direct alternatives exist among siblings).

    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, so description carries full burden. Discloses simulation, clear option, and accuracy default. However, lacks details on persistence, page-specific effects, or HTTPS requirement beyond a brief error mention.

    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?

    Description is well-structured with sections (purpose, parameters, returns, errors). Every sentence adds value; no fluff or redundancy.

    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 return behavior is described as confirmation. Errors are listed. The tool is simple, so completeness is high, though could mention whether location is overridden per session or permanently.

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

    Parameters5/5

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

    Schema covers all 4 params with descriptions. Description adds examples for latitude/longitude, clarifies default for accuracy, and explains clear behavior, providing significant added value.

    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 'Set or clear browser's reported GPS coordinates' with specific resource (geolocation). It distinguishes from siblings as no other tool simulates location.

    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 use cases (testing location-aware apps, simulating different locations). Lacks explicit when-not-to-use or alternatives, but errors give some guidance (e.g., navigate first).

    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?

    Discloses trigger events (hover states, tooltips), return type (confirmation with ref), and two error conditions (stale ref, timeout). No annotations provided, so extra burden carried well.

    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 sections for purpose, usage, parameters, returns, and errors. Some redundancy; could be slightly more concise but overall 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?

    Covers essential aspects: purpose, when to use, parameter meaning, return value, and common errors. No output schema, so description compensates adequately.

    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 100% (baseline 3). Description adds value by clarifying parameter format: 'Element reference from snapshot (e.g., @e7) or a CSS selector', explaining source and usage.

    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?

    Describes specific action (hover) and resource (element), with explicit triggering of hover states, tooltips, and dropdowns. Clearly distinguishes from sibling tools like click, fill, 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?

    States when to use: to reveal hidden content, trigger :hover, or inspect tooltip text. Lacks explicit when-not-to-use or alternatives, but sufficient for context.

    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 explains the decryption process, lists return values for each mode, and documents common errors including decryption failures on Linux. It doesn't cover potential side effects (e.g., impacting existing cookies) but the import operation is clearly described.

    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 somewhat verbose with a paragraph and multiple bullet lists. While well-structured, it could be more concise. The purpose paragraph is front-loaded, but the extensive error list adds length.

    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 no output schema, the description sufficiently covers return values for all modes and common errors. Parameters are all documented with practical examples. The tool's behavior across different modes (import vs. list) is fully explained.

    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% with descriptions. The description adds extra context: browser auto-detection, domains as array, profile default, and list flags. It also explains the behavior of omitted parameters (e.g., import all cookies if domains omitted).

    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 that the tool imports cookies from real Chromium browsers by decrypting their database, providing a specific verb (import) and resource (cookies from real browser). It distinguishes from sibling tools like pilot_cookies and pilot_auth by focusing on transferring authentication state from a local browser.

    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 gives explicit use cases: 'transfer authentication state from their real browser, avoid re-login, access authenticated pages, or work with session cookies.' It also mentions modes like list_browsers for discovery, but doesn't explicitly contrast with alternatives.

    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 fully explains behavior: captures tree, returns refs, mentions timeout errors, output file option. No contradictions. Discloses read-only nature implicitly.

    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 purpose, usage, parameters, returns, errors. Front-loaded key info. Slightly lengthy due to detailed parameter explanations, but justified for 10 parameters.

    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?

    Comprehensive for tool with 10 parameters and no output schema: covers usage, parameters, return format, errors, relationship to siblings. Could mention performance but sufficient.

    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%, but description adds value by explaining purpose and token-saving tips for each parameter (e.g., interactive_only, compact, depth). Exceeds baseline.

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

    Purpose5/5

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

    The description clearly states the tool captures an accessibility tree snapshot with @eN refs for element selection. It distinguishes itself as the primary method to understand page structure and source for interaction tool refs.

    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?

    Clearly indicates when to use: for seeing structure, finding elements, getting refs. Described as primary way to understand the page. Does not explicitly exclude alternatives but provides strong context.

    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?

    Since no annotations are provided, the description fully discloses the first-call baseline storage, subsequent diffing, error conditions ('No baseline snapshot', timeout), and return format, ensuring the agent understands the tool's behavior.

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

    Conciseness5/5

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

    The description is concise, well-structured into paragraphs, and front-loaded with the primary purpose. Every sentence adds value without redundancy.

    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 no output schema, the description covers return type, usage, parameters, and errors, leaving no critical gaps for the agent to use the tool correctly.

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

    Parameters3/5

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

    Schema coverage is 100%, so baseline is 3. The description adds slight context for 'selector' (scopes 'both snapshots') and 'interactive_only' ('diff interactive elements'), but 'lean' is not mentioned, providing marginal value over 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?

    The description clearly states the verb 'compare' and resource 'page state vs snapshot', and distinguishes from sibling 'pilot_page_diff' by focusing on snapshots specifically.

    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 lists when to use the tool (verify action effects, check dynamic content) and explains the first-call baseline behavior, but does not mention 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?

    Without annotations, the description discloses return values (tab ID and URL) and error conditions (invalid URL). It does not detail if the tab is focused or other behaviors, but covers key aspects.

    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 concise with a clear main action. It then lists parameter, returns, and errors, which is structured but slightly verbose given the simple tool.

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

    Completeness4/5

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

    For a simple tool with no output schema or annotations, the description covers purpose, parameter, returns, and errors. It is complete enough for an agent to use correctly, though behavioral details like tab focus are missing.

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

    Parameters4/5

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

    The schema covers the parameter 100%, and the description adds meaningful context: 'url is optional, omit for blank about:blank tab'. This clarifies usage beyond the schema's 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 opens a new browser tab with an optional URL. It distinguishes from siblings like pilot_tab_select and pilot_tab_close by focusing on creation.

    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 lists use cases: opening a link in a new tab, creating a blank tab, or working with multiple pages. It provides clear context but does not mention when not to use or alternative 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?

    The description discloses that text_present waits up to 5s and returns a structured error on failure. No annotations are provided, so the description carries full burden. It does not specify whether other assertions have wait behavior, but overall behavioral detail is good.

    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 well-structured with clear sections for parameters, returns, and errors. It includes a parameter list that could be trimmed given the schema, but the added behavioral notes justify the length. No redundant sentences.

    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 complexity (6 parameters, no output schema), the description fully explains parameter semantics, return value format, and error handling. It covers all necessary aspects for an agent to use the tool correctly in test verification flows.

    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 descriptions cover all parameters at 100%, but the description adds contextual hints (e.g., 'waits up to 5s' for text_present, 'fails with structured error') that enhance understanding beyond the schema. This adds value while being concise.

    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: asserting conditions about page state with a structured error on failure. It identifies the specific use cases (URL, text, element state/value) and is distinct from sibling tools like pilot_click or pilot_navigate.

    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 tells when to use: 'to verify the outcome of an action' and lists common assertion scenarios. It lacks explicit when-not-to-use or alternative tools, but provides clear usage context for verification tasks.

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

  • Behavior4/5

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

    No annotations are provided, so the description carries the full burden. It discloses the drag operation, a 5-second timeout, and error conditions (element not found, timeout). It also notes that elements must support drag-and-drop. This is sufficient for a straightforward action tool.

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

    Conciseness5/5

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

    The description is concise and well-structured: it starts with the action, then usage context, then parameters, returns, and errors. Every sentence adds value without redundancy.

    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 and the presence of a good input schema, the description covers the essential behavior, error handling, and return value. It lacks an output schema, but the stated return type ('Confirmation with source and target refs') is sufficient.

    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 input schema has 100% coverage with descriptions. The description goes beyond by providing examples of refs ('@e3') and stating that they can be CSS selectors. This adds practical guidance over the schema's basic 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 that the tool drags one element and drops it onto another, using a specific verb and resource. It distinguishes itself from sibling tools like pilot_click or pilot_hover, which involve clicking or hovering rather than drag-and-drop.

    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 when to use the tool: 'when the user wants to move an element, reorder items in a drag-and-drop list, or interact with a drag-and-drop UI.' It does not specify when not to use it, but the context is clear and helpful.

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

  • Behavior4/5

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

    No annotations are provided, so the description carries full weight. It discloses that data comes from a circular buffer, the clear parameter behavior, return format (method, URL, status, duration, size), and error handling (returns empty message). It does not mention buffer size or concurrency effects, but overall it is transparent.

    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 succinct and well-structured: a summary sentence, usage guidance, parameter explanation, return description, and error handling. Every sentence provides value without redundancy.

    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 of the tool (one parameter, no output schema), the description covers purpose, usage, parameters, return format, and errors. It does not mention buffer capacity or retention policy, but it is sufficient for typical debugging scenarios.

    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%, providing baseline 3. The description adds meaning for the 'clear' parameter: 'useful for isolating new requests after an action', which helps in deciding when to set it to true.

    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 states 'Retrieve network requests (XHR, fetch, navigation, static assets) from a circular buffer.' The verb 'retrieve' and resource 'network requests' are specific. Among siblings like pilot_intercept and pilot_console, this tool's purpose is distinct and unambiguous.

    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 lists use cases: debug API calls, check status codes, monitor network activity, verify requests after actions. It does not explicitly mention when not to use it or alternatives, but the given contexts are clear and actionable.

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

  • Behavior4/5

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

    No annotations are present, so the description carries full burden. It discloses default behavior (A4 format, default output path), return value (confirmation with file path), and error conditions ('Output path must be within ...', 'Page is not HTML'). It does not explicitly state that the tool does not modify browser state, but the mutation is limited to file system write, which is implied.

    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 concise, front-loading the main purpose, then providing clear sections for parameters and errors. It is appropriately sized for the tool's simplicity, though the error list could be slightly trimmed without losing value.

    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 no output schema and one parameter, the description adequately covers usage, return value, and errors. It could mention that the PDF uses default print settings and that the page must be HTML, but those are already implied by the error list. Overall, it provides sufficient context for correct invocation.

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

    Parameters5/5

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

    The input schema provides minimal description for 'output_path' ('Output file path'). The description adds significant value: default value (/tmp/pilot-page.pdf), directory constraint, and implied usage. With 100% schema coverage, the description elevates understanding beyond the schema's minimal 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 'Save the current page as a PDF document in A4 format' which specifies the action, resource (current page), and format. This distinguishes it from other pilot tools like pilot_screenshot (image) or pilot_page_text (text extraction).

    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 provides use cases: 'Use when the user wants to export the page as a downloadable PDF, save a receipt, or archive a page for offline reading.' It does not, however, mention when not to use or alternative tools, but given the sibling context, the differentiation 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?

    Describes returns (confirmation) and errors ('Unknown key') with reference to Playwright docs. Since no annotations exist, this covers basic behavior well, though side effects (e.g., form submission) are implied but not explicit.

    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?

    Concise with clear sections (parameters, returns, errors). Every sentence adds value; appropriately structured.

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

    Completeness5/5

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

    Given a single parameter, no output schema, and no annotations, the description fully covers purpose, usage, parameters, returns, and errors without gaps.

    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 100%, but description adds value by providing examples (e.g., 'Shift+Enter') and explaining error handling, going 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?

    The description clearly states it presses a keyboard key or combination, listing common use cases (Enter, Tab, Escape, etc.) and distinguishing from siblings like pilot_type and pilot_click.

    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?

    Explicit examples of when to use (submit form, move fields, close modal) but does not name alternatives; however, the sibling list provides context. Clear guidance.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden. It explains that the tool switches the active browser context, returns a confirmation with the tab ID, and lists an error case ('No such tab'). This covers the key behavior, though it could mention that the tab remains open and no data is lost, which is implicit.

    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 concise with front-loaded purpose, followed by usage guidance, parameter explanation, returns, and errors. Every sentence adds value and there is no redundancy. It is well-structured for quick parsing.

    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 of the tool (one parameter, no output schema), the description is largely complete. It covers purpose, usage, parameter, and error handling. However, without an output schema, it could more precisely describe the return format (e.g., a JSON object). The description is adequate but not exhaustive.

    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 input schema has 100% coverage with one parameter 'id' described as 'Tab ID to switch to.' The description adds value by specifying that the ID comes from pilot_tabs output, providing context beyond the schema. While the schema already explains the parameter, the description clarifies its source.

    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 'Switch the active browser context to a specific tab by its ID.' This is a specific verb+resource, and it distinguishes itself from siblings like pilot_tab_new, pilot_tab_close, and pilot_tabs by focusing on switching to an existing tab.

    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 advises using this tool when the user wants to work in a different tab, bring a background tab to the foreground, or continue automation in a previously opened tab. It also explicitly directs to use pilot_tabs to find tab IDs, providing a clear alternative. However, it does not explicitly state when not to use it, which would elevate clarity.

    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 explains the circular buffer, clear parameter effect, return format (timestamped list or empty message). It does not mention any destructive implications beyond clearing, which is described.

    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 well-structured with a clear overview, usage context, parameter explanations, return value, and error note. Each sentence adds value without redundancy.

    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?

    Covers purpose, parameters, return format, and error behavior. No output schema exists, so description adequately explains return values. Parameters are fully documented.

    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 meaning: explains level filter (e.g., error includes warnings) and clear usage (useful for checking new messages). This goes beyond the schema's enum 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 specifies that the tool retrieves browser console messages from a circular buffer, listing types like console.log, console.warn, console.error. It clearly distinguishes from siblings, as no other tool deals with console messages.

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

    Usage Guidelines4/5

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

    The description provides explicit usage scenarios: 'Use when the user wants to debug JavaScript errors, check application logs, inspect warnings, or see what the page is printing to the console.' It does not include when-not-to-use, but the context is clear enough.

    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?

    Describes circular buffer behavior, clear parameter effect, return format (timestamped list) and empty case. No annotations exist, so description handles behavioral disclosure well. Minor omission: buffer size not mentioned.

    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?

    Concise, well-structured: purpose, usage, parameter, return, errors. Every sentence adds value; no redundancy.

    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 1 parameter and no output schema, description fully covers usage, return, and edge cases. References sibling for complementary behavior.

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

    Parameters3/5

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

    Schema covers parameter 100% with description 'Clear the buffer after reading'. Tool description repeats this with 'Set to true to clear the buffer after reading'. Adds no significant new meaning; baseline 3 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?

    Clearly states it retrieves captured browser dialogs (alert, confirm, prompt) from a circular buffer. Unlike siblings like pilot_handle_dialog which configures handling, this tool retrieves past dialogs.

    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?

    Explicitly says to use when viewing dialogs, checking prompt text, or verifying dialog trigger. References sibling pilot_handle_dialog for auto-handling, providing clear when-to-use guidance.

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

  • Behavior4/5

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

    No annotations provided, so description carries full burden. It discloses that it returns a boolean string, lists possible errors, and implies non-destructive read operation. Could mention absence of 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?

    Description is concise and well-structured: purpose, usage, parameters, return, errors. Each sentence adds value with no redundancy.

    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 2 required parameters and no output schema, description fully covers return type, error handling, and parameter usage. No gaps for a simple query tool.

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

    Parameters4/5

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

    Schema coverage is 100% (baseline 3). Description adds meaning by explaining ref sources (snapshot or CSS selector) and giving usage examples for property, exceeding schema details.

    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 checks element state (visible, hidden, etc.) and lists all possible states. It distinguishes itself from sibling tools like pilot_assert by focusing on querying state rather than asserting conditions.

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

    Usage Guidelines4/5

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

    The description provides explicit when-to-use scenarios (e.g., verify condition before interaction, debug failure) but does not explicitly state when not to use or suggest alternatives.

    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, the description fully discloses behavior: it is a read-only check returning connection status, port, and installation instructions. No side effects or contradictions are present.

    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?

    Three sentences front-load the purpose, then explain the benefit, and finally list return values. No waste, every sentence serves a clear role.

    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?

    The description is complete for a simple zero-parameter tool: it states the purpose, the behavioral context (bypassing detection), and the return values. No gaps given the lack of output schema or complex parameters.

    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 zero parameters with 100% coverage, so the description adds no new parameter information. It redundantly states 'Parameters: (none)' but does not add value beyond what the schema shows.

    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 tool as checking if the Pilot Chrome extension is connected and routing commands, specifying the benefit of bypassing Cloudflare and bot detection. It distinguishes itself from sibling action tools (e.g., pilot_click, pilot_navigate) by being a status check.

    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 the context (when connected, commands route through Chrome) which implies using this tool before performing other actions. It does not explicitly state when not to use it or provide alternatives, but the context is clear enough for an AI agent.

    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: replaces content, faster than type, 5s timeout, and common errors. Lacks details on event firing or custom elements, but sufficient for primary 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?

    Well-structured with clear sections: purpose, usage, parameters, return, errors. No redundant sentences; front-loaded with primary action.

    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 fill tool with 2 required params and no output schema, the description covers all needed context: purpose, use cases, parameter meaning, return, and errors. Complete for task execution.

    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 3. Description adds examples for ref but no additional semantic meaning 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?

    The description clearly states the tool fills an input or textarea, replacing existing content, and explicitly distinguishes it from sibling pilot_type by noting speed and auto-clearing.

    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 when-to-use scenarios (form field, search box, editable element), recommends preferring over pilot_type, and includes error handling guidance for element not found or not editable.

    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?

    Discloses that all refs are cleared and that the tool always succeeds. With no annotations, this provides necessary behavioral context for a state-reset operation.

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

    Conciseness5/5

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

    Description is concise, front-loads purpose, then covers usage, side effects, and return value. Every sentence adds value without redundancy.

    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?

    Covers behavior, side effects (refs cleared), follow-up action, return value, and error behavior. No gaps for a simple tool with no parameters or 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?

    No parameters exist, so the description correctly states that. Baseline score of 4 is appropriate as schema is empty and description does not need to add param details.

    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 switches browser context back to the main page frame after working inside an iframe. Distinguishes from sibling pilot_frame_select by focusing on resetting context.

    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?

    Explicitly says when to use (after interacting with an iframe) and provides a follow-up action (run pilot_snapshot). Could be improved by stating when not to use, but context is sufficient.

    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 explains it is a configuration-only call that always succeeds, captures dialog messages in buffer, and default behavior for prompt_text. Sufficient for a read-like configuration 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?

    Four well-organized sentences covering purpose, usage, parameters, return, and errors with no redundancy or fluff.

    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 2-parameter configuration tool with no output schema and no annotations, the description covers all needed aspects: purpose, usage, parameter details, return, and error behavior.

    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%, but description adds value by clarifying prompt_text defaults to empty string when omitted and the effect of accept boolean on all dialog types.

    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 configures automatic handling of native browser dialogs (alert, confirm, prompt) that block page interaction, using strong verb 'configure' and distinguishing it from sibling pilot_dialog which captures messages.

    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?

    Explicitly says 'Use when the user wants to pre-configure dialog behavior...' and references pilot_dialog for message capture, providing clear context and differentiation, though no explicit when-not-to-use.

    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 burden. Discloses returns final computed value after inheritance, error conditions (stale ref), and return format. Omits that it is read-only, but for a read operation this is adequate.

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

    Conciseness5/5

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

    Well-structured: purpose in first sentence, then usage guidance, parameter details, return value, errors. No redundant sentences. Front-loaded and efficient.

    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 read tool with no output schema, the description covers purpose, usage, parameters, return, and errors. No gaps given complexity.

    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 has 100% coverage; description adds value by explaining ref can be snapshot ref or CSS selector with examples, and property accepts kebab-case or camelCase with examples. Baseline 3 plus extra context yields 4.

    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 'Get the computed CSS property value for a specific element.' Uses specific verb+resource, distinguishes from siblings like pilot_page_attrs (attributes) and pilot_element_state (state). Lists use cases: styling details, debug CSS, verify styles.

    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?

    Explicitly says when to use ('Use when user wants to check styling details...'). Does not explicitly exclude alternatives like pilot_element_state for visibility, but context 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 provided, so the description carries full burden. It discloses that password field values are redacted for security and explains error handling (returns empty array). This is transparent, though additional details on performance or side effects could be added.

    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 concise with well-organized sections: purpose, usage, parameters, return, and errors. Every sentence adds value without redundancy or fluff.

    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 has no parameters and no output schema, the description fully documents return structure and error behavior. It is complete for its low complexity.

    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 input schema has no parameters, and the description confirms 'Parameters: (none)'. It adds value by describing the return format in detail, which compensates for zero parameters.

    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 extracts all form elements as structured JSON, specifying the data fields (types, names, IDs, current values) and differentiates it from sibling tools like pilot_page_text or pilot_page_links that handle other page content.

    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 lists use cases: understanding form structure, checking input values, form methods/actions, and planning automation. While it doesn't list when not to use it or name alternatives, the context is clear and sufficient.

    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 fully discloses behavior: captures three sizes, restores original viewport, and lists possible errors. It covers side effects (viewport restoration) and file naming. No contradictions.

    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?

    Well-structured, front-loaded with purpose, followed by usage, parameters, and errors. 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.

    Completeness5/5

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

    Despite no output schema, description details return format and covers errors. Sufficient for full understanding of tool behavior and output.

    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?

    Single parameter with 100% schema coverage. Description adds default value and naming convention beyond the schema, enhancing usability.

    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 captures full-page screenshots at three responsive breakpoints with specific dimensions. It differentiates from sibling tools like pilot_screenshot and pilot_annotated_screenshot by specifying multi-viewport capture.

    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?

    Explicitly states when to use: 'preview how a page looks across different screen sizes, test responsive design, or generate viewport comparison screenshots.' Provides behavioral context (viewport restoration) but does not explicitly state when not to use or name alternatives.

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

  • Behavior4/5

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

    No annotations are provided, so the description carries full burden. It describes the selection action, returns confirmation, and lists errors. However, it does not disclose whether change events are triggered or if there are side effects, which would be beneficial for a complete behavioral picture.

    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 concise and well-structured: purpose, usage, parameter details, return value, and errors. Every sentence contributes meaning without unnecessary wordiness.

    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?

    The description is complete for a simple tool with two parameters. It covers return confirmation and two common error conditions, which compensates for the lack of an 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?

    The input schema covers all parameters with descriptions. The description adds extra context: 'Select element ref (@e3) or CSS selector' and 'Option value, label, or text to select', providing more detail than the schema alone. Given 100% schema coverage, the description adds marginal value.

    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 selects an option from a <select> dropdown by value, label, or visible text. It distinguishes from clicking by noting that clicking an <option> in pilot_snapshot is auto-routed here.

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

    Usage Guidelines4/5

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

    The description provides clear usage context: 'Use when the user wants to choose a dropdown option, select from a combobox, or pick from a list.' It also mentions auto-routing from pilot_snapshot. However, it does not explicitly state when not to use this tool versus alternatives like pilot_click.

    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?

    Description discloses the screenshot creation with overlays, return format (base64 + file path), and errors. With no annotations, it adequately covers behavioral aspects, though it could explicitly state non-destructive nature.

    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?

    Well-structured with clear sections: action, usage, parameters, return, errors. Front-loaded purpose. No unnecessary sentences.

    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 prerequisite, errors, return type. Could mention format of base64 output, but sufficient for typical use.

    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 single parameter output_path is described in schema (100% coverage). Description adds default behavior (temp directory), providing value 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?

    The description clearly states the tool takes a PNG screenshot with red overlay boxes and ref labels at element positions. It distinguishes itself from the sibling pilot_screenshot by specifying the debug overlay nature.

    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?

    Explicitly states when to use (visual debug overlay, verify element positions) and when not to use (for clean capture, use pilot_screenshot). Also mentions prerequisite of pilot_snapshot.

    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, the description fully discloses behavior: it clears refs after switching, requires a fresh snapshot, and lists error conditions. This provides the agent with necessary behavioral context.

    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 well-structured with sections for use, parameters, return, and errors. It is clear but slightly verbose; some sentences could be condensed. Overall, it earns a 4.

    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 and no output schema, the description covers expectations (return value, error cases, post-conditions) adequately. It is complete for an agent to use correctly.

    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%, but the description adds meaning by specifying that index comes from pilot_frames output and that name is an alternative. It clarifies the relationship between parameters.

    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 ('Switch the browser context into an iframe') and the specific tools affected (pilot_snapshot, pilot_click, etc.). It distinguishes from sibling tools like pilot_frame_reset and pilot_frames.

    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 says when to use the tool (interacting with iframes, reading content, filling forms) and advises using pilot_frames first and running pilot_snapshot after. It does not explicitly state when NOT to use it, but the guidance is sufficient.

    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, the description fully discloses behavior: it strips scripts, styles, and SVG before comparing. It describes the return format (unified diff text with '---' and '+++') and lists error scenarios (Invalid URL, timeout). This provides rich behavioral context beyond the schema.

    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 well-structured with a clear purpose sentence, use cases, behavioral note, parameter definitions, return description, and errors. It is concise but not overly terse; every sentence earns its place. Could be slightly more compact but excellent overall.

    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 (2 params, no nested objects, no output schema), the description is complete. It covers purpose, usage, behavior, errors, parameter semantics, and return format. No output schema exists, so the return description is necessary and provided.

    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 description coverage is 100%, but the description adds significant value by explaining that url1 corresponds to removed lines and url2 to added lines, and by detailing error conditions. This goes beyond the schema's minimal 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 generates a text diff comparing visible content of two URLs. It uses specific verbs ('Generate a text diff') and identifies the resource ('visible content of two URLs'). It distinguishes from siblings like `pilot_snapshot_diff` by focusing on raw URL content rather than snapshots.

    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 provides use cases (comparing staging vs production, before vs after deployments) and tells the agent when to use it ('when the user wants to see what text differs'). It lacks explicit 'when not to use' but the given context is sufficient. No direct comparison to sibling `pilot_snapshot_diff` but implied.

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

  • Behavior4/5

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

    No annotations are provided, so the description carries full burden. It discloses the domain scope ('on the domain of the currently active page'), security redaction of value in return, and an error case ('Cannot set cookie without a page'). Minor omission: no mention of expiration or overwrite behavior.

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

    Conciseness5/5

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

    Well-structured with sections for description, usage, parameters, returns, and errors. Every sentence is informative and concise, with no redundancy.

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

    Completeness4/5

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

    For a simple cookie setter without output schema, the description covers return behavior (confirmation with redacted value) and a key error scenario. Could optionally mention cookie attributes like path, but not essential for basic use.

    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 descriptions are present (100% coverage) but the tool description adds concrete examples (e.g., 'session_id', 'theme', 'abc123', 'dark'), enhancing meaning beyond the schema alone.

    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 explicitly states 'Set a cookie on the current page's domain with a given name and value,' clearly indicating the verb, resource, and scope. It distinguishes from the sibling pilot_import_cookies by contrasting manual vs bulk import.

    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 usage context: 'Use when the user wants to manually set a cookie for authentication, testing, or session management.' Also names a clear alternative: 'For bulk cookie import from a real browser, use pilot_import_cookies.'

    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, the description fully covers behavior: recreates browser context, preserves cookies and page state, but may interrupt in-progress requests. It also mentions error warnings about state preservation.

    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 front-loaded with the main purpose, followed by use cases, notes, and parameter details. It is reasonably concise, though the structure could be slightly tighter.

    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 there is no output schema, the description provides return value ('Confirmation with the new User-Agent string') and error conditions (context recreation warnings). It covers all essential aspects for a single-parameter tool.

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

    Parameters4/5

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

    Schema coverage is 100% and description provides an example User-Agent string ('Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15'), adding practical context beyond the basic schema type 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 'Set a custom browser User-Agent string' and provides specific use cases (simulate browser/device, bypass bot detection, test mobile user agents). It effectively distinguishes this tool from siblings like pilot_set_header by focusing on the User-Agent header.

    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 lists applicable scenarios (simulate browser/device, bypass bot detection, test mobile) and includes a caveat about context recreation. However, it does not explicitly state when not to use this tool or mention alternatives.

    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 specifies return format, attributes, and error behavior (empty array). Implicitly read-only but could explicitly state no side effects. Slightly room for improvement.

    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?

    Concise, front-loaded with purpose, then usage, then return details. Every sentence is informative.

    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 zero parameters and no output schema, the description covers purpose, usage, return format, and error handling. Sufficient for a simple retrieval tool.

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

    Parameters4/5

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

    Zero parameters, baseline 4. Description explicitly states 'Parameters: (none)' and schema coverage is 100%, so no additional value needed.

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

    Purpose5/5

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

    Clear verb 'Retrieve' + resource 'cookies for the current page context'. Explicitly distinguishes from siblings like pilot_set_cookie and pilot_import_cookies.

    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?

    Lists specific use cases (inspect, debug, check tokens, verify) and provides explicit alternatives for setting and importing cookies.

    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, the description fully covers behavior: async/await support, auto-wrapping in IIFE, return format (string or JSON), and two error types with causes. This provides comprehensive transparency.

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

    Conciseness5/5

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

    The description is well-structured with clear sections: purpose, usage guide, parameter details, return values, errors. Every sentence adds value without redundancy.

    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 no output schema, the description adequately explains return values and errors. With only one parameter, all necessary information is present for correct usage.

    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%, so baseline 3. The description adds value with concrete examples (document.title, fetch) and async usage context, beyond the schema's maxLength 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 'Execute a JavaScript expression or function in the browser page context', providing a specific verb and resource. It distinguishes this tool from siblings as it is the only one that runs custom JavaScript.

    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 lists use cases: 'when the user wants to run custom JavaScript, read/modify DOM, extract data, perform calculations'. It does not explicitly state when not to use, but the positive guidance 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 provided, but description discloses that it preserves state, requires manual intervention, and that pilot_resume must follow. Misses potential side effects like automation pause, but still good.

    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?

    Three concise sentences, front-loaded with main action, then usage, then returns and errors. No extraneous content.

    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?

    Covers purpose, usage, return value, and error conditions. No output schema needed given description's scope.

    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?

    No parameters exist, so description adds no param info beyond schema coverage (100%). Baseline score of 4 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 it opens a headed browser preserving state, and distinguishes from sibling tools like pilot_resume. The verb 'open' and resource 'headed browser window' are specific.

    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?

    Explicitly says to use when blocked by CAPTCHAs, bot detection, or complex auth flows, and instructs to call pilot_resume after. Includes error handling instructions.

    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, but description discloses wait for DOM content, return value (status code, preview, interactive elements), and errors with timeouts and security restrictions. Lacks detail on side effects like page history or cookies.

    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?

    Description is concise, front-loaded with purpose, and structured into clear sections (usage, parameters, returns, errors) with no wasted 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?

    Covers all necessary aspects for a navigation tool: purpose, alternative usage, parameter, return value, and common errors. No output schema, but return format is described adequately.

    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 has 100% coverage with url parameter. Description adds value by mentioning relative paths and linking to error guidance, going 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?

    Description states specific verb (navigate) and resource (browser to a URL), and differentiates from sibling pilot_get for read tasks.

    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?

    Explicitly states when to use (going to a webpage) and when not to (prefer pilot_get for read tasks), with clear alternatives.

    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?

    Describes the return value and that any valid pixel dimensions are accepted. Lacks mention of potential side effects (e.g., resize affecting current tab only, no zoom change), but sufficient for a simple action.

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

    Conciseness5/5

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

    Brief, well-structured description with separate sections for purpose, usage, parameters, return, and errors. No 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?

    Covers all necessary aspects: purpose, when to use, parameters with examples, return value, error handling, and sibling differentiation. Complete for this simple tool.

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

    Parameters4/5

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

    Adds example values for desktop and mobile beyond the schema's description, clarifying units and providing context for typical use.

    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 action (set viewport size), resource (browser viewport), and simulation goal. Distinguishes from sibling pilot_responsive by noting the multi-viewport screenshot alternative.

    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?

    Explicitly states when to use (responsive testing, simulating screen sizes) and provides an alternative tool for multi-viewport screenshots.

    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?

    Discloses that the tool captures a PNG screenshot, defaults to full page, saves to disk, and returns base64 and file path. Includes common errors and their resolutions. However, no annotations exist, and the description could mention potential side effects or prerequisites (e.g., page must be loaded).

    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?

    Concise yet comprehensive: two sentences cover purpose and alternatives, followed by clear parameter descriptions and error handling. No 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?

    Despite no output schema, the description explains return values (base64 PNG and file path) and common errors. All four parameters are well-documented. Completeness is high for a screenshot tool with clear side effects.

    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 description coverage is 100%, but the description adds value beyond schema by clarifying ref types (element ref vs CSS selector), full_page behavior (viewport-only vs scrollable), output_path constraints (allowed directory), and clip format (pixel coordinates).

    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: 'Take a PNG screenshot of the current page or a specific element.' It distinguishes from the sibling pilot_annotated_screenshot by directing users to use that tool for debug overlays.

    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?

    Explicitly provides usage guidelines: 'Use when the user wants to capture what the page looks like visually, save a screenshot to disk, or capture a specific element's appearance.' Also mentions when not to use (pilot_annotated_screenshot for debug overlay) and includes error messages that guide user actions.

    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 behavior: character-by-character typing, return value (character count and whether Enter pressed), and error conditions (no focused element, timeout). This is comprehensive for a tool with no annotations.

    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 well-structured with a clear first sentence stating purpose, followed by usage guidance, then parameter list, returns, and errors. Every sentence adds value, and the entire description is succinct.

    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 moderate complexity (2 params, no output schema), the description covers purpose, usage guidelines, parameters, return values, and errors. It provides sufficient information for an AI agent to invoke the tool correctly.

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

    Parameters3/5

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

    Schema description coverage is 100%, so baseline is 3. The description minimally adds context: 'text' as 'the text string to type' and 'submit' as 'set to true to press Enter', but these are nearly identical to the schema descriptions ('Text to type' and 'Press Enter after typing').

    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 types text character-by-character into the focused element, simulating real keyboard input. It distinguishes itself from sibling pilot_fill by noting the appropriate use cases (contenteditable, rich text editors, keystroke-reactive fields) versus standard inputs.

    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?

    The description explicitly provides when to use (contenteditable, rich text, fields reacting to keystrokes) and when not to use (prefer pilot_fill for standard inputs). It also gives a prerequisite hint (use pilot_click first if no focus) and explains the submit parameter usage.

    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 blocked requests are aborted before reaching the network, resulting in faster loads and smaller snapshots. Also notes that invalid patterns are silently ignored. With no annotations, the description fully handles transparency.

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

    Conciseness5/5

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

    Well-structured into a summary, usage advice, parameter details, return info, and error note. Every sentence is informative with no wasted 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?

    Covers all aspects: purpose, parameters, behavior, return values, and errors. With no output schema, the description provides complete context for the agent to use the tool correctly.

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

    Parameters5/5

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

    Adds meaning beyond the schema: provides examples for patterns, explains the 'ads' preset blocks ~20 networks, and clarifies the clear mode. Also describes return values for add and clear modes, which is not in 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 tool blocks network requests to speed up page loads and reduce token noise. Uses specific verb 'block' and resource 'network requests'. Differentiates from siblings by focusing on ad/tracker blocking.

    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?

    Explicitly says when to use: when user wants to block ads, trackers, analytics scripts. Mentions the 'ads' preset for a common use case. Does not mention when not to use or alternatives among siblings, but provides clear 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?

    No annotations provided, so description carries full burden. It discloses double-click capability, mouse button choices, return value (confirmation with ref and URL), and three specific errors with causes and remedies. 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?

    Well-structured: purpose first, then usage context, parameter details, return value, and errors. No redundant sentences, each sentence serves a purpose. Appropriately sized.

    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 3 parameters, no output schema, no annotations, the description covers all necessary aspects: purpose, usage, parameters, return, errors, and sibling routing. Complete and actionable.

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

    Parameters5/5

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

    Schema coverage is 100%, but description adds value beyond schema: explains ref can be from snapshot or CSS selector with examples, clarifies button enum values, and describes double_click effect. Adds parameter semantics.

    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 'Click an element on the page using a ref from pilot_snapshot or a CSS selector.' It specifies the action (click) and resource (element). Mentions auto-routing for <option> to pilot_select_option, distinguishing from siblings.

    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?

    Explicitly says when to use: 'when the user wants to press a button, follow a link, check a checkbox...' Also hints at alternatives via errors (e.g., use pilot_scroll for non-clickable elements). Lacks explicit when-not-to-use statements.

    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 that the tool returns a @eN ref immediately usable, is lightweight (no full snapshot), and lists possible errors. It doesn't mention idempotency or side effects, but as a find operation 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 well-structured with a clear intro, use case, parameter list with examples, return info, and errors. Every sentence adds value without being verbose. It's appropriately sized for the complexity.

    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?

    Despite no output schema, the description covers return value (a @eN ref and description), lists errors with guidance, and explains how the tool fits with siblings. This is sufficient for an agent to invoke correctly.

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

    Parameters5/5

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

    Schema coverage is 100%, but the description adds significant value with examples for each parameter (e.g., 'Sign in', 'Email address'), explains the 'exact' parameter, and suggests combining role with text for precision. This exceeds the schema's basic 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 it finds an element by visible text, label, placeholder, or role without a full snapshot, distinguishing it from pilot_snapshot. The verb 'find' and resource 'element' are specific, and the scope is well-defined.

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

    Usage Guidelines5/5

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

    The description explicitly tells when to use ('when you know what you want to click or fill but don't need to see the entire page tree') and notes it saves tokens compared to pilot_snapshot. It also lists sibling interaction tools that use the returned ref, providing clear context for selection.

    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?

    Describes waiting for DOM content, 15s timeout, and return value. No annotations, but behavior is well covered.

    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?

    Very concise: three sentences plus bullet list. Purpose front-loaded, no redundant information.

    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?

    Covers purpose, usage, behavior, errors, and return value. Complete for a simple tool with no parameters or output schema.

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

    Parameters5/5

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

    No parameters; correctly states none. Schema coverage is 100%, no additional info needed.

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

    Purpose5/5

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

    Clear verb (reload) and resource (current page). Distinguishes from siblings like pilot_navigate and pilot_back/forward.

    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?

    Explicitly lists use cases: refresh page, clear dynamic state, retry failed load. Also provides error conditions.

    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?

    No annotations, but description fully discloses behavior: automatic redaction of sensitive values, returns empty objects on no data, error-free operation, security patterns for redaction.

    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?

    Well-organized sections (usage, parameters, returns, errors, security). Every sentence adds value; no waste.

    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 no output schema or annotations, the description covers purpose, parameter behavior, return values, error handling, and security. Complete for agent use.

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

    Parameters5/5

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

    Schema coverage 100%, but description adds crucial semantics: how set_key and set_value interact (omit set_value to read), and what parameters are for.

    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 it reads or writes browser web storage (localStorage and sessionStorage). Distinguishes from sibling tools like cookies tools by specifying web storage.

    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?

    Explicitly enumerates use cases: inspect app data, check feature flags, debug session state, set localStorage value. Does not explicitly state when not to use, but context is 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?

    With no annotations, description fully discloses behaviors: three actions, what is stored (cookies+localStorage+sessionStorage), return values per action, and two specific error conditions. No contradictions or omissions.

    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 well-organized into paragraphs covering purpose, usage, parameters, returns, and errors. Every sentence adds value, though slightly verbose in listing return values. Front-loaded with core purpose.

    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 complexity (three actions, file I/O, session state), description covers all necessary aspects: purpose, usage, parameters, returns, errors, and sibling differentiation. No output schema, but return values are described. Complete for agent invocation.

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

    Parameters5/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 goes beyond schema by explaining the meaning of each action, when path is required, giving an example path, and detailing return values per action. Adds significant value.

    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 'Save, load, or clear browser session state (cookies + localStorage + sessionStorage) to/from a JSON file.' Provides specific verb+resource and explicitly differentiates from sibling tool pilot_import_cookies.

    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?

    Explicitly describes when to use: 'when user wants to authenticate once and reuse credentials across sessions, skip re-login flows, or transfer session state between runs.' Also contrasts with sibling pilot_import_cookies, giving clear guidance on alternatives.

    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?

    No annotations provided, but the description thoroughly covers behavior: returns URL after navigation, lists two errors (no previous page, timeout after 15s), and implies the action is non-destructive and reversible.

    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?

    Description is extremely concise with no wasted words: purpose, usage, parameters, returns, errors all in a few sentences. Well-structured and front-loaded.

    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 no output schema, the description explains the return value and covers all errors and alternatives. For a parameterless navigation tool, this is fully complete.

    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?

    No parameters exist (zero), baseline is 4. Description explicitly states 'Parameters: (none)', which adds no extra meaning but is clear. Schema coverage is trivial 100%.

    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 'Navigate back to the previous page in browser history', using a specific verb and resource. It distinguishes from sibling tools like pilot_forward and pilot_navigate.

    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?

    Explicitly says 'Use when the user wants to go back to the prior page they visited' and provides an alternative (pilot_navigate) for the 'No previous page in history' error, offering clear when-to-use and 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.

  • Behavior5/5

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

    Despite no annotations, the description discloses behavior (navigates forward, returns URL), timeout (15s), and error conditions, giving full transparency for a simple tool.

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

    Conciseness5/5

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

    The description is concise and well-structured with sections for usage, parameters, returns, and errors. Every sentence adds value without redundancy.

    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 zero-parameter, simple tool, the description covers purpose, usage guidance, return value, and errors. It is complete and references sibling tools appropriately.

    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?

    No parameters exist, and schema coverage is 100% by default. The description correctly notes 'Parameters: (none)', adding no extra information but meeting baseline for zero-param tools.

    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 ('Navigate forward to the next page in browser history') and distinguishes from siblings by referencing pilot_back and pilot_navigate.

    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?

    It explicitly says when to use ('after using pilot_back') and what to do if there is no next page ('use pilot_navigate instead'), providing clear alternatives.

    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?

    Describes exactly what the tool returns (numbered list with index, type, URL, active frame arrow) and what happens when no iframes exist. States 'Errors: None', so the user knows it's safe. Even without annotations, the description fully discloses behavior.

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

    Conciseness5/5

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

    The description is very concise, with each sentence adding value. It is front-loaded with the main purpose, then usage guidance, then returns. No extraneous text.

    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 tool with zero parameters and no output schema, the description fully explains the return format and edge cases. No additional information 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?

    No parameters exist, and schema coverage is 100%. Per rules, baseline is 4. The description adds no parameter detail because none are needed.

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

    Purpose5/5

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

    The description clearly states that the tool lists all frames on the current page with indices, names, and URLs. It distinguishes itself from sibling tools like pilot_frame_select by explicitly mentioning that tool for switching contexts.

    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 when-to-use scenarios: to see existing iframes, find one to interact with, or verify page structure before switching. Also tells the user to use pilot_frame_select to switch, giving clear alternatives.

    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?

    No annotations are provided, so the description carries the full burden. It discloses that it returns a fresh accessibility snapshot and what error to expect if handoff wasn't called. This is sufficient and transparent.

    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, using short sentences. It is structured with sections for parameters, returns, and errors, making it easy to parse. 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?

    Given no parameters, no output schema, and the simplicity of the action, the description is complete. It explains the return format and error case. No additional context seems 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?

    No parameters exist, and schema coverage is 100%. The description states 'Parameters: (none)', which is accurate. With zero parameters, the baseline is 4, and no extra semantic value is needed.

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

    Purpose5/5

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

    The description clearly states the tool resumes automated control after a pilot_handoff session. The verb 'resume' is specific and the resource 'automated control' is well-defined. It distinguishes itself from siblings by being the counterpart to pilot_handoff.

    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?

    Explicitly says when to use: after manual interaction (e.g., CAPTCHA, auth) and wanting to return to automated control. Lists an error case ('No browser to resume') which guides proper usage.

    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?

    No annotations are provided, so the description carries full burden. It states return value ('Confirmation of what was scrolled and in which direction'), explains both modes (with/without ref), lists possible errors (element not found, timeout of 5s), and implies non-destructive behavior (scrolling). This is comprehensive for a scrolling tool.

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

    Conciseness5/5

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

    The description is concise and well-structured: introductory sentence, usage guidance, bulleted parameters, return value, and errors. Every sentence adds value with no redundancy or filler. It is easy to scan and understand.

    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 2 parameters and no output schema, the description covers all necessary aspects: purpose, when to use, parameter details with defaults, return type, and error conditions. It is complete and leaves no ambiguity.

    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 fully (100% coverage). The description adds value by stating the default for direction ('bottom') and explaining the interplay: direction only applies when no ref is provided. This clarifies usage beyond the schema, so a score of 4 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: 'Scroll the page or a specific element into view.' It distinguishes between scrolling with a ref (element) and without (page), which is specific and unambiguous. Among siblings, no other tool handles scrolling, so it is easily distinguishable.

    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?

    The description provides explicit usage scenarios: 'Use when the user wants to scroll down a long page, scroll to the bottom, scroll to the top, or scroll a specific element into the viewport.' It also differentiates behavior based on the ref parameter, giving clear guidance on when to provide a ref vs. not.

    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, the description fully covers behavioral traits: default close of active tab, confirmation return, and two specific error conditions ('No such tab' and 'Cannot close last tab'). It discloses all key behaviors.

    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 concise, with clear sections for purpose, parameters, returns, and errors. Every sentence adds value without redundancy.

    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 (1 optional parameter, no output schema), the description is complete: includes purpose, usage guidance, parameter behavior, and error handling. No gaps remain.

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

    Parameters5/5

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

    Schema coverage is 100%, and the description adds meaning beyond the schema: explains that omitting id closes the active tab, and directs to pilot_tabs for valid IDs. This provides actionable guidance.

    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 'Close a browser tab by its ID, or close the currently active tab if no ID is specified,' providing a specific verb and resource, and distinguishing behavior from sibling tools like pilot_tab_new and pilot_tab_select.

    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?

    Explicitly states when to use: 'when the user wants to close a popup, remove an unwanted tab, or clean up after finishing work in a tab.' It also references sibling tool pilot_tabs for listing IDs, providing clear context and alternatives.

    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?

    Despite no annotations, the description discloses all key traits: waits for element states, network idle, page load; default timeout of 15000ms; returns confirmation; lists common errors. No contradictions.

    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?

    Description is well-structured with sections for parameters, returns, and errors. It is concise, using clear language without unnecessary repetition.

    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 no output schema, the description adequately explains return values and potential errors. It covers all parameters and usage scenarios, making it complete for effective tool invocation.

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

    Parameters5/5

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

    Schema coverage is 100%, but description adds meaningful context: explains ref as 'element reference from snapshot (e.g., '@e10') or CSS selector', details each state option, and provides default timeout. This adds significant value 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?

    The description clearly states the tool waits for a condition (element appearance, network idle, page load) with specific verbs and resources. It distinguishes itself from siblings like pilot_navigate or pilot_click, which perform 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 Guidelines5/5

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

    Explicitly provides when to use: 'when the user wants to wait for a dynamic element to load, wait for AJAX/fetch requests to complete, or wait for a modal/spinner to appear or disappear.' It also mentions error handling and troubleshooting.

    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

Pilot MCP server

Copy to your README.md:

Score Badge

Pilot 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/TacosyHorchata/Pilot'

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