web-scraper-server
Server Quality Checklist
Latest release: v0.3.5
- Disambiguation2/5
Multiple overlapping tool pairs exist, such as `screenshot` vs `browser_screenshot`, `click_element` vs `browser_click`, `get_sitemap` vs `crawl_site`, and `save_pdf` vs `download_file`. The split between browser-based and non-browser-based workflows adds confusion, forcing agents to choose between near-equivalent tools based on session state.
Naming Consistency4/5Tool names are predominantly snake_case with a verb_noun convention (`scrape_url`, `get_metadata`, `list_jobs`). The `browser_` prefix provides a consistent subgroup, and most deviations are minor (e.g., `health_check` instead of `check_health`). Long diagnostic tool names are slightly awkward but still follow the general pattern.
Tool Count1/5With 62 tools, the server far exceeds a coherent scope. Many tools are highly specialized diagnostics or configuration variants that could be consolidated. The sheer volume makes the surface overwhelming and dilutes the clarity of the core scraping workflow.
Completeness5/5The tool set covers the full web scraping lifecycle: URL validation, fetching, content extraction, crawling, browser automation, job scheduling, configuration, caching, session management, and diagnostics. No major scraping capability appears to be missing, making the server functionally comprehensive.
Average 3.3/5 across 62 of 62 tools scored. Lowest: 1.8/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 1 commit in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only says 'Configure browser settings' and gives no indication of side effects, persistence, whether it modifies current sessions, or what state changes occur. This is completely inadequate for a 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.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but under-specified. It does not convey what settings are configurable or how to use the tool, so it is not effective conciseness; it's a placeholder-level description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool having 18 parameters, no annotations, no output schema details, and no parameter descriptions, the description provides almost no context. It fails to explain what each configuration option does, what the expected inputs are, or the effect of calling this tool, making it completely inadequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description provides no parameter details. With 18 parameters including headless, timeout_ms, browser_type, and various profile paths, the description adds no meaning beyond the raw schema names and types. The complete lack of parameter information fails to compensate for the poor schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose3/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states the general purpose ('Configure browser settings') with a verb and resource, but it is vague and does not differentiate from sibling tools like configure_stealth or configure_runtime, which also configure browser-related settings. It does not mention the scraper context or any specific settings area.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the many sibling configuration tools. There are no mention of use cases, prerequisites, or alternatives, so the description has no usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. The description only states that it crawls a sitemap to discover pages, but doesn't disclose whether it follows nested sitemaps, respects robots.txt, handles errors, or what the actual output looks like. This is completely non-transparent about side effects, rate limits, or read-only guarantees.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is succinct but severely under-specified. It is not merely concise; it omits critical details about parameters, behavior, and output. The extreme brevity resembles a placeholder rather than a well-crafted tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has two parameters, no annotations, and an output schema, but the description fails to provide any additional context. It doesn't explain the expected input format, the nature of the output, possible limitations, or error scenarios. For a moderately complex crawling tool, this description is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate by explaining the parameters. However, the description does not mention 'url' or 'timeout_profile' at all. It's ambiguous whether 'url' is the sitemap URL or the site's base URL, and 'timeout_profile' is entirely unexplained. The description adds no value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('crawl') and the target ('a site's sitemap') with the purpose ('discover pages'). This distinguishes it from sibling tools like get_sitemap (which likely only retrieves the sitemap) and scrape_url (which scrapes a specific page). However, it doesn't specify the output format or mention whether it returns the discovered pages directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. For example, it doesn't explain when to prefer crawl_site over get_sitemap or extract_links, nor does it mention any prerequisites or exclusions. The purpose is implied but no explicit context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It gives no information about how multiple tables are handled, the effect of table_selector, network dependencies, or whether extraction is a read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, front-loaded with the core function and containing no wasted words. However, it is so terse that it sacrifices informative value, balancing conciseness with under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three parameters, no annotations, and no parameter descriptions, this description is severely incomplete. It does not explain the return format, the purpose of defaults, or any practical usage context, leaving the agent guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description fails to mention any of the three parameters (url, table_selector, timeout_profile). Agents are left without any hints about what these parameters control or how to set them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool extracts structured table data from a webpage, specifying the action and resource. However, it does not differentiate from sibling extraction tools like extract_contacts or extract_links, which also extract specific data types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as scrape_url or extract_links. The description provides no context about appropriate scenarios, prerequisites, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It only states the basic action without any side effects, limitations, performance considerations, or failure modes. For instance, it doesn't indicate whether JavaScript rendering is involved or whether the output is a binary file, making the tool's behavior opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately conveys the primary action without any wasted words. It is well-structured and front-loaded, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, one with a default, and an output schema), the description is too sparse. It doesn't address the timeout_profile parameter or mention any prerequisites for the URL (e.g., must be publicly accessible). It also lacks context on when to use this tool over siblings like download_file, making it incomplete for reliable selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 3 parameters with 0% description coverage, and the description adds no meaning beyond the parameter names. It doesn't explain what 'path' refers to, what values are valid for 'timeout_profile', or how they relate to the PDF generation. The description fails to compensate for the lack of schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb 'Save' and a specific object 'URL as a PDF file', which unambiguously identifies the core function. It is distinct in its clarity, but it doesn't explicitly differentiate from sibling tools like download_file or screenshot, so it doesn't reach a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as download_file, screenshot, or scrape_url. There are no prerequisites, use cases, or exclusions mentioned, leaving the agent without direction for selecting the appropriate tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It reveals that the tool performs search, crawl, and report generation, but does not mention whether it runs asynchronously, how results are returned (e.g., via a job ID), or any side effects or rate limits. Given the existence of sibling tools like start_job and poll_job, the description should clarify these 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler or repetition. It is front-loaded and easy to parse. However, it is so terse that it sacrifices necessary detail, making it slightly under-specified rather than optimally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is moderately complex (search + crawl + report) and has no annotation support. Although an output schema exists, the description does not explain the execution model, how to retrieve the report, or whether it uses the job system (siblings include start_job and poll_job). The description is insufficient for an agent to understand the full workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the lack of parameter documentation. It does not mention the 'query' parameter or the 'timeout_profile' parameter at all. The phrase 'Deep Research' implies the query is the research topic, but this is not explicitly stated, and 'timeout_profile' is entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Perform') and resource ('Deep Research') with a parenthetical clarifying that it combines Search, Crawl, and Report. This clearly communicates the tool's core function and distinguishes it from more granular siblings like search_web and crawl_site, though it does not explicitly name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention use cases, prerequisites, or mention sibling tools like search_web or crawl_site for narrower tasks. The usage context is only implied by the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only says 'Reload runtime settings from config files' without explaining what happens to current settings, whether invalid config files are handled, or whether the reload persists. The description hints at a side effect (overwriting runtime settings) but does not state it explicitly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler words. It communicates the action and source efficiently. However, it may be too terse for the underlying complexity, but for pure conciseness and structure it earns high marks.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has two optional parameters, no annotations, and only a two-line description. While an output schema exists (so return values are covered), the description does not explain key behavioral aspects like config file discovery, path precedence, or error handling. This is insufficient for a tool that reloads runtime settings, especially with siblings like 'configure_runtime' present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the two parameters ('config_path' and 'local_config_path') or their relationship. Names are somewhat self-descriptive, but there is no information about precedence, required formats, or how they relate to 'config files'. The description fails to compensate for the lack of schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Reload runtime settings') and the source ('from config files'), which clearly identifies the tool's purpose. While it doesn't explicitly distinguish it from sibling tools like 'configure_runtime' or 'get_config', the verb 'reload' and resource 'config files' make the core function unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as 'configure_runtime' or 'get_config'. It does not mention typical use cases (e.g., after editing config files) or contrast with programmatic runtime configuration. This leaves the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing side effects, safety, and behavior. It only reveals that the tool runs a script, offering minimal transparency about what 'bot surface diagnostics' entails, what the script does, or what happens during execution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence with no redundancy or filler. It is front-loaded with the core action and resource, though it could arguably be considered under-specification rather than conciseness given the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (9 params, no schema descriptions, no annotations), the description is far too sparse to enable correct invocation. It does not explain the tool's end-to-end behavior, parameter roles, or use cases, making it incomplete for an agent to confidently select and use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, and the description provides no parameter information whatsoever. With 9 parameters all undocumented, the description fails to compensate for the schema's lack of semantic detail, leaving the agent unable to understand parameter purpose or expected values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Run') and the resource ('script-level bot surface diagnostics'), with a reference to the specific script (scripts/bot_check.py). It is specific enough to distinguish from sibling diagnostics like run_challenge_diagnostic, but 'bot surface' remains somewhat jargon-heavy and could be elaborated for full clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention prerequisites, expected conditions, or why one would choose this over the other diagnostic tools. The description provides no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral disclosure burden. It states the action but does not disclose potential side effects, whether it requires an active browser session, how data is handled, or whether saving to file impacts the environment. This lack of detail is a significant gap for a diagnostic tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no fluff, but it is under-specified. It earns its place by stating the core action, yet omits crucial details about usage and parameters, making it too terse for effective tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and the presence of an output schema, the description still fails to provide complete context. It does not explain what makes this tool different from similar diagnostics, how the parameters affect behavior, or any operational prerequisites, leaving the agent with significant ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no property descriptions (0% coverage), and the tool description does not mention 'extra_args' or 'save_to_file' at all. The parameter names give some hints, but without any elaboration, the agent cannot correctly decide how to use them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function ('Collect browser fingerprint telemetry') and specifies the script path, giving a specific verb and resource. It is distinguishable from sibling diagnostic tools like run_challenge_diagnostic and run_bot_surface_diagnostic by its focus on fingerprint telemetry, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus the many browser-oriented sibling tools. It does not mention prerequisites, typical scenarios, or exclusions, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. The word 'Autonomous' hints at self-directed execution, but it doesn't disclose side effects, blocking behavior, resource implications, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is easy to parse. It is not verbose and gets straight to the point, though it sacrifices necessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool orchestrating an autonomous crawl with multiple parameters and no annotations, the description is significantly under-specified. It provides no context about playbook format, how to structure inputs, or expected return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description mentions no parameters. It doesn't explain what playbook_json should contain, how proxies_json is used, or what timeout_profile values are valid.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Execute) and the resource (Autonomous Crawl using a Playbook). However, it doesn't differentiate from sibling tools like crawl_site or deep_research, leaving ambiguity about what a playbook adds.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs. alternatives. It doesn't mention prerequisites, typical use cases, or conditions where another tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only states that results are returned. It does not mention search scope, result limits, potential rate limits, authentication requirements, or any side effects, leaving significant behavioral unknowns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It is concise, though it under-specifies context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description lacks essential context: no usage guidance, no alternative disambiguation, and no explanation of behavioral nuances. For a simple tool this is minimal but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no meaning to the parameters. 'query' can be inferred from the tool name, but 'timeout_profile' is entirely unexplained, and no parameter details or syntax are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Perform a web search') and resource ('web') and indicates that results are returned. However, it does not differentiate this tool from sibling tools like deep_research or scrape_url.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as scrape_url, browser_navigate, or deep_research. The description only states what the tool does, not the context in which it should be selected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral transparency. It only says 'configure,' which implies a mutation, but it doesn't disclose whether settings persist, affect other tools, require permissions, or what the output looks like. This is a significant gap for a 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that conveys the core purpose without wasted words. It is concise and well-structured, though it leaves out necessary details. This is appropriate conciseness but approaches under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has two optional boolean parameters and an output schema, the description is incomplete. It doesn't explain what stealth mode does, how robots.txt compliance is handled, or what the return value signifies. The lack of annotations and parameter descriptions leaves an agent without critical context for invoking and interpreting results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides two boolean parameters with defaults but no descriptions, and the tool description offers no parameter details. The names 'stealth_mode' and 'respect_robots' give some hints, but the description does not clarify what they control or their implications. Since schema description coverage is 0%, the description should compensate but doesn't.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool configures 'stealth mode and robots.txt compliance,' which is a specific resource. It uses the verb 'configure' and is distinguishable from sibling tools like 'configure_scraper' and 'configure_runtime' by focusing on stealth/robots settings. However, it doesn't elaborate on what stealth mode entails, so it's clear but not deeply detailed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not mention when to use this tool, what scenarios call for stealth mode, or any exclusions. There are no references to alternative tools or conditions under which this configuration should be applied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral details such as whether it is read-only, what 'recent' means, how results are ordered, or whether pagination is handled. The description only states the action without any contextual behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler words. It is appropriately concise, though it could be more informative without becoming bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even with an output schema existing, the description lacks definition of 'recent' and the semantics of 'limit.' The tool's scope is unclear (e.g., does it include failed scrapes?), making the description incomplete for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one optional 'limit' parameter with a default but no description (0% coverage). The description does not mention 'limit' or explain its effect, failing to compensate for the schema's lack of detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Get') and resource ('recent scraping history'), distinguishing it from siblings like clear_history and get_cache_stats. However, it does not explicitly differentiate from alternatives, so it misses full marks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as clear_history or list_sessions. The description gives no context about prerequisites, typical use cases, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. It only says 'capture a screenshot' and does not mention whether this involves a headless browser, network requests, side effects, file placement, or any relevant constraints. This lack of transparency is a significant gap for a tool that likely interacts with external resources.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of six words, immediately front-loaded with the action and target. There is zero waste, and the structure is perfectly concise for the minimal information it conveys.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the tool has no annotations, an unexplained optional parameter, and a closely related sibling tool. The description does not address any of these contextual gaps, such as the role of 'timeout_profile', the relationship to 'browser_screenshot', or what the output contains. It is far too minimal for a tool with these complexities.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no explanation for the 'url', 'path', or 'timeout_profile' parameters. While 'url' and 'path' are somewhat self-evident from their names, 'timeout_profile' is obscure, and the description does not clarify the expected format or purpose of any parameter, failing to compensate for the schema's lack of documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Capture') and resource ('a screenshot of a webpage'), making the tool's basic function obvious. However, it does not distinguish this tool from the similarly named sibling 'browser_screenshot', which also captures screenshots, so it misses an opportunity to disambiguate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'browser_screenshot' or 'save_pdf'. The description gives no context about typical use cases, prerequisites, or exclusions, leaving the agent to guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only mentions parallel execution, but omits important details like error handling, rate limits, resource usage, result ordering, or failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words, and the key point is front-loaded. However, it is too terse to be fully useful, though conciseness itself is not a flaw.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description is incomplete for a tool with 4 parameters and no annotations. It lacks critical usage context such as how to set formats, worker counts, timeout profiles, and any operational cautions for parallel scraping.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not compensate by explaining any of the four parameters (urls, format, workers, timeout_profile). It only implicitly references 'urls' without providing syntax, defaults, or meaning for the others.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Scrape multiple URLs in parallel' uses a specific verb ('scrape') and resource ('multiple URLs'), clearly distinguishing it from sibling tools like scrape_url. The phrase 'in parallel' adds a distinctive characteristic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as scrape_url or crawl_site. It does not state exclusions, prerequisites, or typical use cases beyond the basic function.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'Configure' without revealing side effects, persistence, scope of impact, or whether it modifies existing host profiles. This is minimal disclosure and leaves significant behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler or redundant information. It is front-loaded and efficient, stating the action and target in a compact form, which is ideal for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a configuration tool with four nullable parameters and no annotations, yet the description provides only a one-line summary. It does not explain parameter purposes, defaults, side effects, or when to use the tool. Given the complexity and missing schema coverage, the description is incomplete for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention any parameter names or semantics. The schema's property names (enabled, threshold, apply_mode, profiles_path) are somewhat self-explanatory, but the description fails to provide additional meaning or context for how these parameters interact with the auto-learning behavior, resulting in insufficient compensation for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Configure') and resource ('host-profile auto-learning behavior'), distinguishing it from sibling tools like set_host_profile by focusing on the auto-learning aspect. However, it does not elaborate on what 'auto-learning behavior' specifically entails, so it is clear but not fully explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as set_host_profile or configure_scraper. It lacks context about prerequisites, scenarios, or conditions under which this tool is preferred, so there is no usage guidance beyond the basic action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only states the general purpose. It does not mention whether the configuration is global or scoped, persistent or transient, or what effects it has on existing retry settings, leaving significant ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It is appropriately concise, though it sacrifices essential information for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has three optional parameters and an output schema, but the description is extremely sparse. It fails to explain parameter semantics, usage context, or behavioral effects, making it incomplete for an agent to invoke correctly despite the apparent simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any of the three parameters (max_delay, max_attempts, initial_delay). It only hints at retry behavior without clarifying units, relationships, or defaults, offering almost no value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the tool's function: configuring retry behavior with exponential backoff. It uses a specific verb ('configure') and a distinct resource ('retry behavior'), and this differentiates it from sibling configuration tools like configure_scraper or configure_runtime.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor any context about prerequisites or exclusions. The agent must infer usage solely from the tool's name and vague purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It adds the useful fact that no restart is needed, but it does not disclose persistence, side effects, or how existing settings are affected. For a mutation tool, more behavioral disclosure is expected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the action and contains no filler or redundancy. Every word contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a configuration tool, the description is too sparse. It lacks details on the format of overrides_json, whether overrides persist, and the relationship to reload_runtime_config. The output schema helps with return values but not behavioral context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has only one parameter, overrides_json, with no description (0% coverage). The description mentions 'runtime override values' but doesn't specify the expected JSON format, structure, or how the overrides are applied, leaving the parameter meaning largely to its name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Apply'), resource ('runtime override values'), and a key condition ('without restarting the MCP server'). This distinguishes it from sibling config tools like configure_scraper, though it doesn't explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus siblings such as reload_runtime_config or configure_scraper. The description only implies its use for runtime overrides, with no exclusions or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states the basic purpose but does not reveal network behavior, timeout handling, error conditions, or response semantics. The timeout_profile parameter's effect is never mentioned, leaving the agent without essential 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant wording. It is efficient but perhaps too sparse, sacrificing informational value for brevity. It earns a 4 for clear structure and absence of fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple but still performs a network operation with configurable timeout. The lack of usage context, parameter details, and behavioral notes leaves the agent underinformed. The presence of an output schema is noted in context but not shown, and the description does not reference it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not compensate. It only hints at 'url' as the target but provides no detail on timeout_profile, its default, or its accepted values. The description adds negligible value beyond the parameter names in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'detect' with the resource 'content type of URL' and concrete examples (HTML, PDF, image). This clearly distinguishes it from sibling tools like validate_url or get_metadata, which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention scenarios such as pre-scraping checks or how it relates to sibling tools like download_file or scrape_url. The usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only states the basic action (download and save) without revealing potential side effects like overwriting files, required permissions, rate limits, or what the tool returns. Significant gaps remain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two short sentences and no redundancy. It is front-loaded with the main action and adds relevant detail about file types.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three parameters and no annotations, the description is too sparse. It lacks guidance on when to use it, explains parameters only implicitly, and provides no behavioral context. While an output schema exists, that doesn't offset the missing operational details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It hints that 'url' is the source and 'path' is the destination (via 'from URL' and 'Saves... directly'), but does not explicitly define either. The timeout_profile parameter is entirely unmentioned.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool downloads files from URLs and saves them, naming specific content types (PDFs, images, documents). It uses a specific verb and resource, but does not explicitly differentiate from sibling tools like save_pdf or scrape_url, so it doesn't fully distinguish.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. There is no mention of context, prerequisites, or exclusions. The description is purely functional and leaves the agent to infer when download_file is the appropriate choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It mentions optional selector focus but does not disclose whether pressing triggers navigation, how delay_ms behaves, or what page state is required. This is too thin for a browser automation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action, and includes essential examples. Every word earns its place with no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool, it covers the core action and key/selector semantics, but the missing delay_ms explanation and lack of usage context create a clear gap. Given the output schema exists, return values are not needed, but behavioral completeness is still only average.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%. The description adds meaning for 'key' (via examples) and 'selector' (via 'focus'), but completely ignores 'delay_ms'. The selector format (CSS versus XPath) is also unexplained, so parameter understanding remains incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool presses a keyboard key, with examples (Enter, Escape, Tab, ArrowDown), making the purpose specific and understandable. It implicitly distinguishes from mouse-action siblings like browser_click and browser_hover, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as browser_type or browser_click. The examples imply keyboard interactions but there is no explicit when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It states the cancellation action but does not disclose irreversibility, effects on associated resources, or error conditions when the job cannot be cancelled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no redundant or irrelevant information. It is front-loaded and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and has an output schema, but the description lacks context about cancellation semantics (e.g., whether only running jobs can be cancelled, what happens after cancellation). It is minimally adequate but leaves practical gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no description for job_id, and the description does not mention the parameter at all. The parameter name is self-explanatory, but the description adds no semantic value beyond what the schema already shows.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Cancel') and the resource ('a running async job'), using a specific verb. It distinguishes from sibling tools like start_job and poll_job, though it could be more precise about whether queued/pending jobs are also cancellable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives like poll_job or list_jobs. The description does not mention typical scenarios, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It fails to mention scope (e.g., session-scoped vs global), ordering, whether failed/cancelled jobs are included, or any side effects. The term 'recent' is ambiguous and not elaborated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that directly states the tool's function. There is no fluff or redundancy, making it appropriately concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one optional parameter and an output schema, so the minimal description is partially sufficient. However, it lacks context about job scoping, ordering, or what counts as 'recent', which would help the agent place this tool within the broader async job workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for parameter meaning. The single 'limit' parameter is not explained in the description; only the schema provides a default value. The name is somewhat self-explanatory, but the description adds no semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'List' and identifies the resource 'async jobs' and their statuses, making the tool's purpose clear. However, it does not differentiate from siblings like poll_job or start_job, so it lacks explicit sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as poll_job for a single job's status or get_history for past activity. The description implies usage for listing recent jobs but does not state exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only mentions 'smart' and filtering, without disclosing any behavioral details like request behavior, error handling, or limitations. It does not contradict anything, but is insufficient for understanding execution characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundancy, front-loaded with purpose. The example is useful and earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a 4-parameter tool with no annotations and minimal description, the description is incomplete. It lacks usage guidelines, parameter details, and behavioral context, though output schema covers return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only explains 'keywords' with an example; 'url', 'limit', and 'timeout_profile' are not described. This adds some value but leaves most parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Smart Sitemap Discovery and Filtering', identifying the resource (sitemap) and actions (discovery, filtering). It is clear enough to distinguish from siblings like crawl_site or scrape_url, though it does not explicitly compare.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The example 'e.g. team, about for finding people pages' implies a use case for filtering, but does not provide when-not-to-use or alternatives. The context is clear for basic use but lacks explicit guidelines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It merely lists script mappings and does not state what the diagnostic run actually does (e.g., launching a browser, visiting the target site, or producing artifacts), nor does it mention side effects or output behavior. This is a significant transparency gap for a tool with 21 parameters and no annotation safety net.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise, front-loaded with the primary action, and uses a clear two-line mapping for the mode parameter. Every sentence provides useful information without wasted words, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool's high complexity (21 parameters, output schema, no annotations), the description is minimal and does not cover the tool's overall workflow, side effects, or how the two modes differ beyond the script they invoke. While the output schema may explain return values, the description still lacks the contextual information needed to use this tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only adds meaning for the 'mode' parameter (mapping it to scripts). The other 20 parameters, including 'browser', 'headless', 'variants', 'save_artifacts', and 'timeout_ms', receive no semantic explanation, so the description fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function ('Run target-site diagnostics') and specifies two distinct modes ('toolkit-native or matrix smoking-gun mode'), which gives it a specific resource and behavior. However, it does not explicitly differentiate from sibling diagnostic tools like run_bot_surface_diagnostic or run_browser_info_diagnostic_tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage guidance for the mode parameter by mapping mode=toolkit and mode=matrix to specific scripts. It does not, however, explain when to choose this diagnostic tool over alternatives, nor does it mention any exclusions or prerequisites, leaving the broader use-case context implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description itself must disclose behavioral traits, but it only says 'extract all hyperlinks' without explaining details like URL normalization, handling of JavaScript-rendered content, or return format. The filter_external parameter is not mentioned in the description, leaving behavior partially unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundancy or filler. Every word contributes to conveying the core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has three parameters, no annotations, and many sibling tools, the description is too sparse. It lacks usage guidance, behavioral details, and parameter context, making it insufficient for an agent to fully assess when and how to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no information about parameters beyond what the schema provides. While the schema describes url and filter_external, the timeout_profile parameter lacks a description, and the tool description does not compensate for this gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Extract') and object ('all hyperlinks from a webpage'), making it evident what the tool does. It distinguishes itself from sibling tools like extract_contacts and extract_tables by targeting hyperlinks specifically.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as scrape_url or get_sitemap, nor does it mention prerequisites or exclusions. Users must infer usage solely from the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It does reveal that the operation is an 'estimate' (not exact), but it fails to explain how the 'model' parameter affects tokenization, potential edge cases, or any errors. For a utility tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core function, and contains no filler. Both sentences earn their place, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even though the tool is simple and an output schema exists, the description lacks critical context about the 'model' parameter and the estimation nature. It does not explain how the parameter influences results, nor does it provide any caveats about tokenization accuracy. This is a meaningful gap for correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description provides no explanation for either 'text' or 'model'. While 'text' is self-explanatory from the tool's purpose, the 'model' parameter is completely ambiguous—its effect on counting is not described, and the description does not compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('Estimate') and resource ('token count for text'). It is distinct from sibling tools like chunk_text and truncate_text, which deal with text manipulation rather than measurement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Helps manage LLM context limits' implies a use case (checking token counts before sending to an LLM), but it does not explicitly state when to use this tool versus alternatives, nor does it 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.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'Get current configuration settings', which implies read-only behavior but doesn't state whether it reads from disk, requires auth, or has any side effects. Additional context about what 'configuration' refers to is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that directly states the purpose. It contains no unnecessary words or redundancy, making it appropriately concise for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and an output schema, the description is minimally sufficient but lacks contextual completeness. It doesn't explain what configuration settings are included or when this tool should be invoked, though the output schema covers return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so parameter semantics are not applicable. Per the rubric, 0 parameters yields a baseline of 4, and the description does not need to add parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves current configuration settings, which is more specific than the tool name alone. It implies a read-only operation and is distinguishable from the 'configure_*' siblings that modify settings, though it doesn't explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus other configuration-related tools. The description offers no context about prerequisites, typical use cases, or exclusions, leaving the agent to infer usage from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states the extraction action and does not mention read-only nature, error handling, rate limits, or what occurs when no metadata exists. This is a notable gap for a tool that might interact with remote pages.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundancy. It communicates the core purpose efficiently and front-loads the action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a simple schema with 2 parameters and an output schema, so return values are likely covered. However, the absence of parameter documentation and usage guidance makes the description barely adequate for an agent to confidently invoke the tool in the right context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no information about the parameters. The 'url' parameter's purpose is inferred from the tool name, but 'timeout_profile' is completely unexplained. The description fails to compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Extract') and identifies a clear resource ('semantic metadata') with concrete formats (JSON-LD, OpenGraph, TwitterCards). This distinguishes it from siblings like scrape_url or extract_links, which target raw HTML or structured data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when semantic metadata is needed, but does not state when to avoid it or mention alternatives. There is no explicit context or exclusions, making it only minimally guiding.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full transparency burden. It only says 'scrape a URL and return its content' without disclosing behaviors like rendering, network side effects, rate limits, authentication requirements, or failure modes. This is a significant gap for a tool with no annotation safety hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise, front-loaded sentences with no filler. It is efficient and easy to parse, though it is under-specified for the tool's complexity. It earns a high score for conciseness, not completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, no annotations, and many sibling tools, the description is too minimal to be complete. It provides the primary purpose but lacks essential context about parameters, output structure nuances, or alternatives. The presence of an output schema lessens the need to describe return values, but usage guidance is still insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description adds no parameter explanations. Beyond mentioning 'URL' in the purpose, it fails to clarify the meaning, allowed values, or usage of format, selector, max_length, and timeout_profile. The description must compensate for the schema gap and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'scrape' with the resource 'URL' and clearly states the output is content. By declaring itself the 'Primary tool for content acquisition,' it distinguishes itself from siblings like batch_scrape, crawl_site, and download_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Primary tool for content acquisition' provides clear context for when to use this tool among many siblings. However, it does not explicitly name alternatives or state when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the result is 'compact' and 'optimized for LLM', but does not explain how dynamic pages are handled, whether hidden elements are by default excluded, or if it is read-only. This leaves significant ambiguity for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, front-loaded with the main verb. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with no annotations and no parameter descriptions, the description is insufficiently complete. It does not cover parameter behavior, output structure (though output schema exists), or usage edge cases. The compact map concept is helpful but not enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not mention any parameters. While parameter names (selector, max_elements, include_hidden) are somewhat intuitive, the description adds no meaning, leaving the selector semantics unclear. This is a clear gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource ('Return a compact map of interactive elements') and explicitly mentions selector hints, distinguishing it from siblings like browser_get_elements or browser_accessibility_tree. The phrase 'Optimized for LLM context windows' clarifies its niche, making purpose clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides context for when this is useful ('Optimized for LLM context windows on dynamic pages') but does not explicitly name alternatives or state when not to use it. While this implies a lightweight alternative to more detailed element retrieval, it lacks explicit comparison to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. It states the tool fills and submits a form, but it does not disclose that it saves session state by default (as seen in save_session parameter), or any side effects of submission. The phrase 'Supports login automation' hints at session handling but does not explain the actual behavior or consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no unnecessary words. It front-loads the core action and then adds a key use case, making it effectively scannable for an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple understanding but lacks important context. It does not explain when to use this over browser_* siblings, does not mention session management behavior, and does not clarify what happens after submission. The existing output schema covers return values, but the description still feels incomplete for a tool with 6 parameters and many related browser tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high (5/6 = 83%), so the schema already documents most parameters. The description adds no parameter-specific meaning beyond implying that 'fields' are the values to fill. It does not compensate for the undocumented timeout_profile parameter, but the strong schema coverage keeps this at baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Fill and submit a web form' clearly identifies the tool's specific action and resource, and 'Supports login automation' adds a common use case. It implicitly distinguishes itself from sibling tools like browser_type (single field typing) and browser_click (single click) by combining fill and submit into one operation, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a usage context ('Supports login automation'), suggesting it is appropriate for automating form submissions, especially login flows. However, it provides no explicit guidance on when to use this tool vs alternatives, no exclusions, and no mention of scenarios like simple single-field interactions where browser_type or browser_click would be more suitable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as side effects, authentication requirements, rate limits, or error behavior. The verb 'Return' implies read-only, but minimal additional context is given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, direct, with no redundant information. The verb is front-loaded and the parenthetical adds essential scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter with one optional parameter and an existing output schema, the description covers the core purpose and parameter semantics. It lacks contextual guidance about behavior (like read-only confirmation), but the simplicity of the tool makes this adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains the parameter 'host' by stating 'all hosts or one host', clarifying that passing a host returns a single profile and omitting it returns all. This compensates for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Return' and identifies the resource as 'host profile learning store' with scope (all hosts or one host). It distinguishes from sibling mutating tools like set_host_profile and clear_host_profile, though it doesn't explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. There is no mention of prerequisites, use cases, or exclusions. The description only states what it does, not when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for disclosing behavioral traits. It only states the action without mentioning irreversibility, potential error conditions, or side effects, which are important for a destructive 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no unnecessary words. It efficiently communicates the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, no nesting) and an output schema exists, so return values need not be described. However, the missing parameter semantics and lack of behavioral caveats leave the description incomplete for safe and correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage and the tool description does not explain what the 'host' parameter should be (e.g., hostname, IP, format). This leaves the agent with no guidance on how to populate the required parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Delete'), the resource ('one host profile record'), and the location ('from the profile store'). It distinguishes itself from sibling tools like get_host_profiles and set_host_profile by explicitly indicating a deletion operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is evident from the description: use this when you want to remove a host profile record. However, there is no explicit statement of when not to use it or reference to alternatives, so it falls slightly short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that structured JSON is returned; it does not mention that the tool fetches the URL, potential latency, failure modes, or that it is non-mutating. This leaves a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long and front-loaded. The first sentence states the core purpose, and the second summarizes the output without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The purpose and output shape are clear, and an output schema exists to document return values. However, the description omits usage guidance and the meaning of timeout_profile, so it is not fully complete for an agent to invoke the tool with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It implicitly clarifies that 'url' is the target URL, but it provides no explanation for 'timeout_profile', leaving the optional parameter completely ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Extract all contact information from a URL') and names the concrete output fields (emails, phones, socials, detected names). This distinguishes it clearly from sibling tools like extract_links or scrape_url.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied by the description: when you need contact information from a URL. However, it does not explicitly mention when not to use it or point to alternatives such as batch_contacts for multiple URLs, nor does it describe prerequisites like URL accessibility.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description alone must disclose behavior. It only states a generic 'get status' without explaining whether this is a blocking poll, what statuses are returned, or any side effects. This is insufficient for full 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, with no unnecessary words. It is appropriately front-loaded and concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and an output schema exists, so return values are covered. However, the description lacks parameter meanings and detailed polling guidance, making it only minimally complete for an agent to successfully invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%; none of the parameters (`job_id` or `include_result`) are explained in the description. The description only implies that the job comes from `start_job`, but it does not clarify `include_result` semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets the current status of a job, referencing `start_job` as the origin. This distinguishes it from sibling tools like `start_job`, `cancel_job`, and `list_jobs`.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly indicates usage after starting a job via `start_job`, which is the primary context. However, it does not explicitly mention alternative tools or when not to use it, so a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosure. It mentions 'admin override', hinting at elevated privileges, but does not disclose whether the operation replaces or merges existing settings, whether it is reversible, or any side effects. Significant behavioral details are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the verb and object, and contains no unnecessary words. It is appropriately concise for the simplicity of the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter setter with an output schema, the description covers the basic action but lacks usage context, behavioral transparency, and parameter details. It is functional but leaves the agent to infer important aspects such as side effects and parameter format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description only indicates that profile_json is a JSON payload. It does not explain the expected structure of the JSON, nor does it clarify what host refers to beyond its name. The description adds minimal value over the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Set active host routing profile from JSON payload (admin override).' It specifies the verb, resource, source of data, and the admin override context, distinguishing it from siblings like clear_host_profile and get_host_profiles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'admin override' implies usage in administrative scenarios, but the description does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions or prerequisites. Usage is implied rather than clearly specified.
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?
The description discloses the return type (base64-encoded PNG), which is valuable. However, with no annotations, it carries the full burden and fails to mention preconditions (e.g., an active browser session) or behavioral details such as whether the screenshot captures the viewport or full page. It provides essential but not rich 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words. The description is front-loaded with the action and immediately provides the output format. Excellent conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple parameterless tool with an output schema, the description covers the main purpose and return format. It lacks context about the browser session requirement and the distinction from the sibling 'screenshot' tool, but this is a minor gap given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema already fully covers this. The description adds no parameter information, which is appropriate. Baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Capture') and the resource ('current page'), and specifies the output format. However, it does not distinguish this browser-specific tool from the sibling tool named 'screenshot', which could cause confusion about which tool to use.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With a nearly identical sibling named 'screenshot', the description should clarify the distinction (e.g., browser context vs. URL-based capture). This is a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the core transformation ('Split text into overlapping chunks') without disclosing edge cases, side effects, output structure, or whether the input is modified. The agent is left unaware of what the result looks like or how overlap and max_chunk_size interact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The first sentence front-loads the core action, and the second adds a brief use case. Every word earns its place, making it appropriately concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no annotations and 0% schema coverage, while the description is minimal. Although an output schema exists, it is not included in the description, and the tool's behavior around overlap and max_chunk_size is not explained. The description is insufficient for an agent to reliably configure all parameters or anticipate results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for explaining parameters. It only hints at 'overlapping chunks' and 'context limits,' which loosely maps to overlap and max_chunk_size, but it does not clarify units, defaults, or relationships between parameters. The text parameter is obvious, but the other two are inadequately explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'Split text into overlapping chunks for LLM processing.' This distinguishes it from sibling tools like truncate_text, which implies truncation rather than chunking, and get_token_count, which counts tokens. The purpose is immediately understandable 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/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: 'Useful for processing content that exceeds context limits.' This tells the agent when to use the tool, but it does not explicitly mention alternatives or when not to use it. It is solid guidance, but falls short of the full 'when/when-not/alternatives' level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states that history is cleared, without mentioning irreversibility, scope, or side effects. For a destructive action, this is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no fluff. It efficiently conveys the action and resource with minimal words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter tool, the description is adequate but lacks context about side effects, usage timing, or alternatives. Given the destructive nature, more background would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty, so there is nothing to document. The description adds no parameter info, but none is needed; baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Clear') and the resource ('scraping history'), making it distinctive from siblings like get_history, clear_cache, and clear_session. It is specific 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 Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as clear_cache, clear_session, or clear_host_profile. No context or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses a meaningful behavioral trait (hardware-limited concurrency), but omits error handling, rate limits, and whether the operation is synchronous or returns a job, leaving significant unknowns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with purpose, and contains no filler. Every word contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, which may cover return values, but the description lacks constraints like URL limits, asynchronous behavior, or prerequisites. Given the batch processing nature and sibling tools like poll_job, failing to mention job semantics is a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only clarifies that urls is a list of URLs, while timeout_profile remains completely unexplained, including its meaning and acceptable values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool extracts contacts from multiple URLs in parallel, using a specific verb and resource. This distinguishes it from single-URL extract_contacts and more general batch_scrape.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'multiple URLs in parallel' implies a batch use case, but no explicit guidance is given about when to choose this over alternatives like extract_contacts or batch_scrape. No exclusion criteria or alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It states the action but does not reveal side effects, required permissions, waiting behavior, or what happens after the click (e.g., whether it returns after page load or handles navigation). The mention of 'JS triggers' hints at interactive behavior but is not a substantive disclosure of risks or guarantees.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that leads with the primary action and immediately adds a relevant qualifier. Every word earns its place; there is no unnecessary fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The presence of an output schema covers return values, but the description is still incomplete. It fails to explain the timeout_profile parameter, does not mention error behavior (e.g., element not found), and does not offer guidance on choosing among sibling tools like browser_click or browser_navigate. The use-case qualifier adds some completeness but the overall guidance is minimal for a tool with three parameters and no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It implicitly clarifies 'url' (navigate to this URL) and 'selector' (click this element), but it does not define what format the selector should take (CSS, XPath) and completely ignores 'timeout_profile'. This is insufficient given the lack of schema-level descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Navigate to URL and click an element.' It also provides a specific use case ('for JS triggers, expanding sections') that distinguishes it from sibling tools like browser_navigate (navigation only) and browser_click (clicking without navigation). The verb+resource combination is 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/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool by adding 'for JS triggers, expanding sections,' which gives clear context. However, it does not explicitly mention alternatives or state when not to use it. It lacks explicit exclusions or comparisons to browser_click or browser_navigate, but the context is enough to infer typical use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses one behavioral trait ('Preserves sentence boundaries when possible'), but does not explain truncation behavior in edge cases (e.g., text shorter than limit, mid-sentence truncation when necessary, or how the 'model' parameter affects token counting). The disclosure is minimal but not absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of two short sentences. It is front-loaded with the primary action and adds a single relevant detail, with no wasted words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, has an output schema, and the core purpose is clear. However, it lacks guidance on parameter interplay (model vs. max_tokens) and edge-case behavior, and does not address alternative tools. It is minimally complete but with notable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only alludes to 'token limit' (likely max_tokens) and does not explain the 'text' or 'model' parameters meaningfully. It adds little beyond the raw schema, failing to clarify how model influences tokenization or what the default represents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Truncate text to fit within token limit' with a specific verb and resource. It also provides a distinctive behavioral detail ('Preserves sentence boundaries when possible') that differentiates it from sibling tools like chunk_text or get_token_count.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context ('to fit within token limit') but does not explicitly state when to use this tool over alternatives such as chunk_text or when not to use it. No exclusions or alternative tool mentions are provided, leaving the guidance at an implied level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It explains the tool waits for a selector state or a fixed delay, which is a good start. However, it does not disclose what happens on timeout, whether the tool polls or blocks, or what the return value indicates. The presence of an output schema mitigates some return-value ambiguity, but side effects and error behavior remain unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exactly two sentences, front-loaded with the action ('Wait...'), and every word adds value. It avoids unnecessary detail while covering the core functionality and a key use case.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has three optional parameters, no enums, and an output schema, but the description omits critical details like the accepted values for 'state' (only 'visible' is defaulted, implying others exist) and the meaning of a null selector. For a browser automation tool, more precision is needed to ensure correct invocation, especially without annotations to clarify behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for parameter meaning. It implies 'selector' and 'state' are used together, and 'timeout_ms' is used for the fixed delay, but it never explicitly explains the valid values for 'state' or how a null selector triggers the delay. This is insufficient for an agent to reliably construct calls without additional inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's specific verb and resource: 'Wait for selector state or a fixed delay on the active page.' This accurately describes the two modes of operation and distinguishes it from sibling browser interaction tools like browser_click or browser_type, which perform actions rather than waiting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: 'Use this for SPA flows where UI updates are asynchronous.' This tells the agent when to use the tool, though it does not mention exclusions or alternative tools, which prevents a score of 5.
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 states that it returns status of browser, cache, and sessions, implying a read-only diagnostic, but it doesn't explicitly declare that it has no side effects, requires no permissions, or what the status format is. This is adequate but not richly 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences that front-load the action and then specify the returned components. Every word contributes to understanding, with no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter health check tool, the description covers the essential purpose and outputs. The presence of an output schema means return format doesn't need to be repeated. It could add context about what constitutes 'healthy' or how to interpret results, but for a tool this simple, it is mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the description doesn't need to explain any. The baseline for zero-parameter tools is 4 because there is no parameter meaning to convey, and the description correctly focuses on the output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Check system health' and specifies 'Returns status of browser, cache, sessions,' naming the exact components being checked. This gives a clear verb+resource and differentiates it from sibling tools that perform actions or configuration changes, though 'system health' is somewhat generic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The tool has no parameters and is a health check, so the usage context is implicitly when you need to verify system status. However, it does not explicitly state when to use it versus alternatives or any prerequisites, leaving the guidance implied rather than stated.
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 carry the full burden of behavioral disclosure. It does reveal that the snapshot is 'trimmed' and based on Playwright, which is useful, but it does not explicitly state that the tool is read-only, what happens when no element is found, or what the trimming actually omits. This leaves moderate gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two short sentences with no filler. It front-loads the core action and follows with a usage tip, making every word earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there are 4 optional parameters, no annotations, and an output schema exists, the description provides adequate high-level context for invoking the tool in obvious cases. However, it does not clarify the expected selector format, the exact nature of the returned accessibility tree, or the trimming behavior, leaving moderate uncertainty for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, and the tool description itself does not describe any of the four parameters. The word 'trimmed' weakly hints at max_nodes/max_text_length/interesting_only, but selector semantics, value formats, and how parameters interact are left entirely to the schema names and defaults. The description fails to compensate for the missing parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('Return'), a specific resource ('Playwright accessibility snapshot'), and a scope modifier ('trimmed'). The second sentence ('Best for role/name-driven navigation on dynamic SPAs') further clarifies intent and implicitly distinguishes it from sibling browser tools like browser_read_page or browser_get_elements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear usage context ('Best for role/name-driven navigation on dynamic SPAs'), indicating when this tool is appropriate. However, it does not explicitly name alternatives or state when not to use it, so it falls short of the top criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the core action and supported directions, but does not mention side effects, failure modes (e.g., invalid selector), or how smooth/amount affect behavior. This is minimal but not dangerously opaque for a simple, reversible UI action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary purpose and immediately followed by the key direction options. It contains no filler or redundant information, every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with four optional parameters and an output schema, the description is adequately sized but incomplete. It gives the essential purpose and directions, but omits details about amount units, selector format, and smooth behavior. The existence of an output schema covers return values, so the main gap is parameter semantics, which drags down completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for parameter meanings. It only clarifies the 'direction' parameter by listing possible values ('up, down, left, right'). The meanings of 'amount', 'smooth', and 'selector' are left to inference from their names, which is insufficient given the total lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Scroll') and the target resource ('page content or a specific scrollable element'), making its purpose unambiguous. This distinguishes it from other browser tools like browser_navigate or browser_click, which have different actions. The specific mention of both whole-page and element-level scrolling adds precise scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context by specifying two scenarios: scrolling the page or scrolling a specific element. While it does not explicitly name alternatives or exclusions, the tool's purpose is self-evident among sibling tools, and no alternative scrolling tool exists. This qualifies as clear context with no exclusions needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the disclosure burden. It adds that the selector should target input, textarea, or contenteditable, and that it returns updated page state, but it does not mention whether existing text is replaced, whether it waits for the element, or how it handles special characters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise, front-loaded sentences. The first states the primary function, and the second adds target constraints and return info. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool, the description covers the core action, target constraints, and return value. The output schema exists, so return details don't need to be in the description. However, it could mention behavior like replacing vs. appending text or focusing the element.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema lacks any parameter descriptions (0% coverage), so the description must compensate. It clarifies that 'selector' should reference supported element types and 'text' is the text to type, but it does not define the selector format or whether text is inserted as-is.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Type') with a clear resource ('input field on the current page'), and the constraint on target elements distinguishes it from sibling actions like browser_click or browser_hover. It clearly communicates the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It does not explicitly state when to use this tool over alternatives like fill_form or browser_press_key, but it does indicate it operates on the current page and advises on valid target elements. This is implied usage rather than explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It states that cookies and storage are cleared, communicating the destructive nature of the operation, but it omits any details about irreversibility, required session state, or side effects on the current browsing context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences that state the action and intended use with no filler. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no annotations, the description is adequate but leaves gaps: it does not clarify the role of session_id, default behavior, or consequences for the current session. The presence of an output schema covers return values, but the missing parameter guidance lowers completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not mention the session_id parameter or explain how it selects the session. Since schema descriptions are absent (0% coverage), the description offers no additional parameter semantics beyond the self-explanatory property name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the verb 'Clear' and the resource 'browser session' with details '(cookies, storage)', clearly distinguishing it from sibling tools like clear_cache or clear_history. It effectively conveys a unique purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Use for fresh starts' provides a clear usage context. It does not explicitly mention when not to use it or name alternatives, but the context is understandable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the job is long-running, returns immediately, and provides a job_id, which is key behavioral context. However, it lacks details on error handling, failure modes, or how the job progresses, leaving significant gaps for an async 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences, front-loaded with the primary purpose, followed by a precise list of supported types. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple, and the output schema exists, but the description leaves out essential input details, especially payload_json semantics. It mentions job_id but not how to later reference or poll the job. The context is partially filled by sibling tools, but the description alone is not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. While it enumerates supported job_type values, it does not explain payload_json (what format or content) or timeout_profile (how it affects execution). This is inadequate for an agent to construct a valid request.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool starts a long-running job and returns a job_id immediately. It differentiates from siblings like poll_job and cancel_job by focusing on initiation, and lists supported job types, making the resource and action 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/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies when to use this tool: when a job type (batch_scrape, deep_research, etc.) needs to be started asynchronously. It doesn't explicitly mention alternatives like poll_job for checking status, but the list of job types and the mention of 'long-running' provide clear context for appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must explain behavior. It states the return values (status, content type, size) but does not disclose how the validation is performed (e.g., network request, redirects, timeouts) or what happens for unreachable URLs. This is partial transparency but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences provide the action, context, and output in a well-structured, front-loaded manner. No redundant information or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, but without annotations, the description covers only the happy path. It doesn't discuss error handling, timeout behavior, or what 'unreachable' means. The presence of an output schema helps, but the description could be more complete for a validation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not mention either parameter (url or timeout_profile). With 0% schema description coverage, this is a clear gap. The schema shows a default for timeout_profile but no meaning is added by the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Validate' with resource 'URL' and context 'before scraping', clearly distinguishing it from sibling tools like scrape_url or get_metadata. It also summarizes the output, leaving no ambiguity about its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'before scraping' provides explicit context for when to use this tool, implying it is a pre-flight check for scraping operations. It does not explicitly name alternative tools or exclusions, but the use case is clear enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It does not explicitly state that this is a read-only operation with no side effects, nor mention any cost or real-time behavior. For a getter, this lack of disclosure is a gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that includes the key metrics in a parenthetical. It is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given 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 an output schema, the description is sufficient to understand what it does and how to use it. The parenthetical clarifies the specific statistics returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema fully covers the parameter surface. The description adds no param-specific detail, but none is needed. The baseline score of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'response cache statistics', listing the specific metrics (hits, misses, size). This distinguishes it from related tools like clear_cache, which performs a different action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives like clear_cache. The usage is implied by the name and verb, but no explicit context or exclusions are given.
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?
There are no annotations, so the description carries the full burden. It indicates a read-only operation ('List') and the scope ('all saved browser sessions'), but does not mention potential side effects, auth requirements, or output details. The behavior is clear but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
One concise, front-loaded sentence that states the action and object without wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, simple list tool with an output schema present, the description is sufficient. It covers the core purpose and relies on the output schema for return details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description does not need to add parameter details since there are none to document.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and resource ('all saved browser sessions'), clearly stating its function. It distinguishes itself from sibling tools like new_session and clear_session which create or delete sessions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., new_session, clear_session, get_history). The description lacks explicit context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It honestly states that the tool executes JavaScript and can 'trigger actions', implying side effects. However, it does not elaborate on potential risks, page mutation, execution context, or error/return behavior beyond the basic 'return the result' statement. This adds some value but leaves gaps for a powerful tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences plus an example, all of which add value. It is front-loaded with the main action, provides practical use cases, and a concrete illustration. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, the description covers the main use cases (data extraction, state checking, actions) and supplies an example. An output schema exists, so not explaining return values is acceptable. However, it could more thoroughly address behavior in the context of a browser automation suite, such as interaction with page lifecycle or security restrictions, which prevents a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has only 'js_expression' with 0% description coverage, so the description must compensate. It provides an example that clarifies the expected input ('document.querySelectorAll(\'a\').length'), but does not explain return value serialization, limitations (e.g., async, main frame), or what constitutes a valid expression. The example adds meaning, but the compensation is only partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs a JavaScript expression on the current page and returns the result, using a specific verb ('run') and resource ('JavaScript expression on the current page'). It includes a concrete example and distinguishes itself from sibling browser tools like 'browser_click' and 'browser_type' by focusing on arbitrary JS execution.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool ('extracting data, checking page state, or triggering actions'), but does not explicitly mention when not to use it or name alternatives. This is clear context without exclusions, fitting a 4 rather than a 5.
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 disclose behavioral traits on its own. It states the core action (hovering) and the purpose (revealing hover-rendered UI), but does not mention any side effects, prerequisites (e.g., element visibility), or whether it triggers events. The transparency is adequate for a simple hover but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the primary action and followed by a relevant use case. Every word contributes value; there is no redundancy or filler. It is a model of concise writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter) and the presence of an output schema, the description is largely complete. It explains the core function and a common use case without needing to enumerate return values. It could mention that the element should exist or be interactive, but this is not critical for a straightforward hover action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has a single parameter 'selector' with no description (0% coverage). The description adds meaningful context by specifying it is a 'CSS selector,' which clarifies the expected format. However, it does not go further to explain requirements like uniqueness or visibility, so the added value is moderate but not comprehensive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Hover over') and resource ('an element by CSS selector'), clearly distinguishing it from sibling tools like browser_click and browser_type. It immediately conveys the action and target, leaving no ambiguity about its function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context by stating it is 'Useful for menus and tooltips rendered on hover,' which indicates when to use it. It does not explicitly mention alternatives or exclusions, but the use case provided is sufficient for an agent to differentiate it from other browser interaction tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It reveals key behaviors beyond the schema: auto-detecting and solving Cloudflare/PerimeterX challenges, returning page state (url, title, status), and creating a new session if none exists. This is meaningful context, though it omits details like side effects or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four concise sentences, each adding distinct value: the core action, challenge-solving, return value, and session auto-creation. It is front-loaded with the primary function and contains zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (browser automation, challenges, session management) and lack of annotations, the description covers the essential behaviors and return type. It does not detail error handling or wait_until semantics, but with an output schema present and sibling tools providing contrast, it is reasonably 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.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for parameter explanations. The description only implicitly references the 'url' parameter and completely omits 'wait_until', whose meaning and default behavior are left unexplained. This is a significant gap for an agent needing to set wait conditions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Navigate the interactive browser to a URL.' It clearly distinguishes from siblings like browser_click, browser_type, and browser_read_page, and adds unique capabilities (challenge solving, session creation) that further clarify its role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: as the entry point for browser navigation, with automatic challenge solving and session creation. It does not explicitly name alternatives or exclusions, but the context makes the primary use case clear, which aligns with a score of 4.
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 burden of disclosing behavioral traits. It states that the tool triggers detection and solving and returns page state with a challenges_solved flag. However, it does not disclose potential side effects such as navigation, delays, or risk of detection, and lacks detail on failure behavior or prerequisites beyond being on a page.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the primary purpose and followed by supported challenge types and expected output. Every sentence provides valuable information with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with an output schema, the description adequately covers the action, supported targets, and return value. It could be more explicit about when solving might be necessary or limitations, but given the simplicity of the tool, it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description adds no parameter-specific details because none exist, and the schema is empty. This is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's specific function: explicitly triggering challenge detection and solving on the current page. It names supported challenge types (Cloudflare Turnstile, Cloudflare spatial, PerimeterX Press & Hold), distinguishing it from sibling tools like run_challenge_diagnostic and other browser interactions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for use: invoke when the current page has a challenge that needs solving. It implies this is the action counterpart to diagnostic tools, but does not explicitly state when not to use it or mention alternative approaches. Still, the usage scenario is evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the operation ('clear') but does not disclose scope (e.g., global or session-specific), side effects, or whether the action is reversible. For a simple clear operation, this is minimally adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the action statement followed by usage guidance. Every word earns its place, with no unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and a simple action, the description is sufficiently complete: it states what it does and when to use it. It lacks detail about the cache scope, but the presence of an output schema and the simplicity of the action mitigate the need for more. It is adequate, though not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is effectively 100%. The description does not need to explain parameter behavior. With no parameters, a baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource: 'Clear the response cache.' This clearly states the action and target, and it is distinct from sibling tools like clear_session and clear_history. The purpose is 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/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes explicit guidance: 'Use when cached data may be stale.' This gives a clear condition for when to invoke the tool. It does not mention alternatives or when not to use it, but the context is sufficient for basic decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. It adds return behavior ('Returns updated page state') and a prerequisite, but does not disclose potential side effects (e.g., navigation, DOM changes, failure modes), which are important for a click action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences with no redundant wording. Front-loaded with the action, then useful behavior and prerequisite. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter interaction tool, the description covers action, selector method, prerequisite, and return value. It lacks error-handling context (e.g., selector not found) but given the presence of an output schema, it is sufficiently complete for basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema provides only a 'selector' string with no description. Description explicitly states 'by CSS selector', fully clarifying the parameter's purpose. Also 'current page' adds scope, compensating for the 0% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
States clear action 'Click an element' with method 'by CSS selector' and scope 'current page'. Distinguishes from non-browser tools by referencing active browser session. While sibling click_element exists, the browser_* prefix and context make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to call browser_navigate first, establishing a clear prerequisite. Does not mention alternatives or when-not-to-use, so not a 5, but provides sufficient context for the primary use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the primary behavior (closing session) and a consequence (freeing resources). However, it does not mention potential side effects like unsaved data loss or behavior when no session exists, which would be valuable for a close 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action, and contains zero redundant content. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no parameters and an output schema present, the description is complete. It states what it does and when to use it, and the output schema covers return values. No additional context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema description coverage is vacuously 100%. The baseline for 0-parameter tools is 4, and the description adds no parameter-specific information because there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool closes the interactive browser session and frees resources, using a specific verb and resource. It distinguishes itself from sibling tools like browser_navigate and browser_click, and even from session management tools like clear_session by explicitly targeting the interactive browser session.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Call this when done with interactive browsing,' which provides clear guidance on when to use it. It does not mention alternatives or exclusions, but the context is sufficient for a straightforward cleanup operation.
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?
There are no annotations, so the description carries the full burden. It discloses the return limit (up to 50 elements) and included attributes (tag, text, href), but it does not explicitly state whether the tool is read-only or if it has any side effects. 'Find' implies non-destructive behavior, but a direct statement would be clearer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: two sentences. The first sentence states the core purpose, and the second adds output details and use cases. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and an output schema, the description covers the essential aspects: purpose, return limit, key fields, and typical use cases. It also correctly scopes the operation to the 'current page,' which is important context for an agent. No critical gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only defines 'selector' as a string with no description. The description adds meaningful context by specifying it is a CSS selector and that it applies to the current page, which helps the agent understand what to pass. It does not provide examples or formatting details, but the added semantics are sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb and resource: 'Find elements matching a CSS selector on the current page.' It also distinguishes itself from sibling tools like browser_click or browser_hover by focusing on reading/querying elements rather than acting on them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides practical context by noting it is 'useful for discovering clickable links, buttons, or form elements.' However, it does not explicitly mention alternatives or when not to use it, though the use cases imply when it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does state the output format and return value: 'Returns page state with content field.' However, it does not disclose error behavior (e.g., what happens if selector is not found), potential side effects (none likely), or any prerequisites like an active browser session. This is an acceptable but minimal level of transparency for a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the main purpose and then concisely explains the two parameters and return type. It is only three sentences, with no redundant information, making it highly efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with only two optional parameters and an output schema exists, so the description need not explain return values in detail. The description covers the main use case and parameter semantics. However, it could be more complete by mentioning error handling or prerequisites (e.g., a page must be loaded), but given the output schema and simplicity, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant meaning beyond the input schema, which has 0% parameter coverage. It explains 'format' with values 'text' (default) and 'html', and 'selector' as an optional CSS selector. This directly maps to the two schema properties and gives the agent actionable information about valid inputs, despite the schema not defining enums or detailed types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Read the content of the current page or a specific element.' It identifies the resource (current page) and the action (read), which distinguishes it from sibling browser tools that navigate, click, or interact. The mention of 'current page' indicates browser context, separating it from URL-based scraping tools like scrape_url.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for use: it is for reading content from the current page or a specific element, with options for format and selector. It does not explicitly mention alternatives or exclusions, but the context is sufficient for an agent to infer when to use this tool versus other browser tools like browser_get_elements (which may return structured element data) or screenshot.
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 of behavioral disclosure. It clearly states the destructive side effect of clearing all existing sessions, which is essential information. It does not elaborate on additional effects (e.g., cookies, cache, or whether it terminates running jobs), but for a zero-parameter tool this is sufficient context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence that front-loads the action ('Start a fresh browser session') and immediately discloses the key side effect. There is no repetition or filler, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with zero parameters, an output schema, and no annotations, the description fully explains the tool's purpose and its primary side effect. It is complete enough for an agent to decide when to invoke this tool and what to expect, especially given the clear sibling context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no schema coverage concern. The baseline for 0-parameter tools is 4, and since the description adds no false or missing parameter details, this score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Start') and resource ('browser session'), and clearly distinguishes the tool from siblings like clear_session or list_sessions by stating it starts a fresh session while clearing all existing ones. This makes the tool's purpose unambiguous and unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used when a brand-new session is needed, and the phrase 'clearing all existing sessions' serves as an implicit exclusion (i.e., if you want to keep existing sessions, this is not the tool). However, it does not explicitly name alternatives or provide when-not-to-use guidance, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ImYourBoyRoy/WebScraperToolkit'
If you have feedback or need assistance with the MCP directory API, please join our Discord server