ScanMalware.com URL Scanner
Server Details
MCP server for ScanMalware.com URL scanning, malware detection, and analysis.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- scanmalware/mcp-server
- GitHub Stars
- 0
- Server Listing
- scanmalware-mcp
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 2.8/5 across 128 of 128 tools scored. Lowest: 1.6/5.
Many tools have overlapping purposes, especially the two sets of JS fingerprint search tools (e.g., search_js_fingerprint_by_md5 and search_jsfingerprints_by_md5) which appear to be duplicates. This creates confusion and increases the risk of misselection.
The naming follows a verb_noun pattern in snake_case, but there is inconsistency in the representation of 'JS fingerprint' (some use 'jsfingerprint', others 'js_fingerprint', and pluralization varies). This minor inconsistency detracts from overall clarity.
With 128 tools, the surface is far too large for a focused MCP server. Such an excessive number overwhelms agents and is rarely justified; the scope should have been reduced to core functionality.
The server covers a comprehensive range of URL scanning capabilities, including submission, polling, and detailed analysis across many dimensions. Minor gaps exist (e.g., no delete or update operations), but the core workflow is well-supported.
Available Tools
128 toolsfind_js_fingerprint_similar_by_hashFind JS Fingerprint Similar By HashDRead-onlyIdempotentInspect
Find similar JS fingerprints by hash.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| threshold | No | ||
| content_sha256 | Yes | ||
| exclude_exact_matches | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the tool is read-only, idempotent, and non-destructive, but the description adds no further behavioral details such as output format, pagination, or rate limits. The description does not contradict the annotations, but it adds no value beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that restates the name, making it concise but uninformative. It lacks necessary details such as parameter explanations or usage context, rendering it under-specified despite its brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of four parameters, a rich set of sibling tools, and no schema descriptions, the one-sentence description is insufficient. Although an output schema exists, the description still leaves the agent without enough context to select or invoke the tool appropriately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does 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 any parameter semantics (e.g., the meaning of 'content_sha256', 'limit', 'threshold', or 'exclude_exact_matches'). The description fails to compensate for the complete lack of parameter documentation in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Find similar JS fingerprints by hash' is a tautology that directly restates the tool's name and title without adding any additional context or differentiation from sibling tools. It does not explain what 'similar' means or how the hash is used, offering no new insight beyond the tool's identity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool over the many sibling tools such as 'get_jsfingerprint_similar' or 'search_js_fingerprint_by_sha256'. No context about prerequisites, typical use cases, or when not to use the tool is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ai_analysisGet AI AnalysisBRead-onlyIdempotentInspect
Get AI analysis for a scan_id (if available).
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds a useful nuance ('if available') hinting at conditional existence of data, but does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no extraneous words. It is appropriately concise for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one parameter and an output schema exists, the description is minimally adequate. However, it could be improved by specifying what type of AI analysis is returned (e.g., classification, risk score).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% parameter description coverage, and the description adds no information about the scan_id parameter beyond its name. The description should clarify the expected format or origin of scan_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves AI analysis for a given scan_id. It uses a specific verb-resource pair, but does not explicitly differentiate it from sibling tools like search_ai_classification or get_analyzer_results.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, such as other AI-related searches. The description lacks context about prerequisites or conditions under which the analysis is available.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_analyzer_resultsGet Analyzer ResultsBRead-onlyIdempotentInspect
Get analyzer results for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the description adds minimal behavioral context. It states that it retrieves results for a scan_id but does not disclose error behavior or data volume. This is adequate given the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, direct sentence with no redundant information. Perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, return values need not be explained. However, the tool's purpose is vague ('analyzer results') and no prerequisites or common use cases are mentioned. With many sibling tools, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter scan_id has no schema description (0% coverage). The description merely repeats the parameter name without adding format, constraints, or examples. The description should compensate for the lack of schema documentation but fails to do so.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'get' and resource 'analyzer results' for a scan_id. It distinguishes from siblings that retrieve other types of results, though 'analyzer results' is somewhat generic and not compared to 'get_analyzer_stats'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like get_scan_result or get_analyzer_stats. The description does not mention context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_analyzer_statsGet Analyzer StatsCRead-onlyIdempotentInspect
Get analyzer statistics overview.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds only 'overview', offering minimal behavioral context beyond what annotations already convey. It does not disclose additional traits like aggregation behavior or data sources.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise (one phrase), but the brevity sacrifices clarity. Every word is present, but the description lacks informative content, not earning its place fully.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has no input parameters and an output schema exists, the description could still elaborate on what 'analyzer statistics' entails, especially to differentiate from numerous sibling stats tools. The current description is too sparse to be complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, and schema coverage is 100% trivially. With 0 parameters, baseline is 4 as per rules.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get analyzer statistics overview' identifies the action (get) and resource (analyzer statistics overview), but 'analyzer' is ambiguous among many stats tools (e.g., get_clipboard_stats, get_domain_stats). It does not differentiate from siblings like get_analyzer_results, making purpose vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like get_clipboard_stats or get_domain_stats. The description lacks any context about selection criteria or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_api_rootGet API RootBRead-onlyIdempotentInspect
Get API root metadata.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and no destructiveness. The description adds nothing beyond 'metadata', which is minimal. No contradictions, but the behavioral burden is mostly carried by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence. It is efficient but could benefit from slightly more context without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool and the existence of an output schema, the description is adequate but lacks context about what the metadata contains or when to use it relative to other tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so schema coverage is 100%. The description does not need to add parameter details; it is adequate as is.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves API root metadata, which is a specific function. However, it does not differentiate from the many similar 'get' tools, but given its role as the root endpoint, it is inherently distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention context or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bot_protectionGet Bot ProtectionCRead-onlyIdempotentInspect
Get bot-protection detection for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds no behavioral context beyond that (e.g., what happens if scan_id is invalid, or performance characteristics), so it adds minimal value on top of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence), but it is too brief to adequately convey necessary details. It is not verbose, but it under-specifies the tool's behavior, making it merely adequate rather than well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter) and the presence of an output schema, the description covers the absolute minimum. However, it does not explain what 'bot-protection detection' entails or how to interpret the results, leaving some contextual gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% with no description for the 'scan_id' parameter. The tool description only mentions 'for a scan_id' without explaining the format, constraints, or relationship to the scan. This fails to compensate for the missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does 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 'bot-protection detection' for a given 'scan_id', making the basic purpose understandable. However, it does not differentiate this tool from many sibling 'get_*' tools that also operate on scan_id, so it lacks sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives like get_malware_by_scan or get_analyzer_results, nor does it mention any prerequisites or edge cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_capabilities_by_dateGet Capabilities By DateARead-onlyIdempotentInspect
Get capability stats by date.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_date | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the tool is read-only, idempotent, and non-destructive. The description adds no extra behavioral context such as authorization needs or rate limits, which is acceptable but not enhanced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, precisely stating the function without any redundant words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (one parameter, output schema exists, annotations present), the description is mostly complete. However, the missing date format specification reduces completeness slightly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'scan_date' has no description in the schema (0% coverage). The description only says 'by date' and does not specify format, constraints, or examples, leaving the agent to infer requirements.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves 'capability stats by date', which is a specific verb and resource. Among siblings like 'get_latest_capabilities', this one is uniquely identified by the date parameter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use or not use this tool. The existence of 'get_latest_capabilities' implies the distinction, but no direct comparison or alternatives are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_clipboard_eventsGet Clipboard EventsBRead-onlyIdempotentInspect
Get clipboard events for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, etc., so the description is not required to repeat that. However, it adds no additional behavioral context (e.g., event ordering, limits, error handling). This is adequate but not enriching beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one short sentence with no fluff. It is efficient and front-loaded with the key action and resource. Could be slightly improved by adding context, but as a minimal description it is not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one parameter, clear annotations, and an output schema (though not shown), the description is minimally complete. However, it does not clarify what 'clipboard events' entail or any edge cases, so it leaves some ambiguity for a straightforward tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description only restates that the parameter is a scan_id. It does not explain what a scan_id is, how to obtain it, or any format constraints. Given low coverage, the description should compensate more but fails to do so.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly specifies the action (get), resource (clipboard events), and context (for a scan_id). Among many sibling get_* tools, this one is uniquely identified for clipboard events, effectively distinguishing its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like get_clipboard_stats or search_suspicious_clipboard. There are no prerequisites, exclusions, or contextual hints, leaving the agent without decision-making support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_clipboard_statsGet Clipboard StatsCRead-onlyIdempotentInspect
Get clipboard statistics.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations adequately declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is clear. The description adds no extra behavioral context (e.g., rate limits, data freshness), but does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. However, it is overly terse and could include more context without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the large set of sibling tools, the description is too sparse. It does not explain what 'clipboard statistics' entails, what scope (global, per user), or how results are structured, despite the output schema existing. Agent likely needs more context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 0 parameters (100% coverage), so description does not need to add param details. Baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Get clipboard statistics,' which is a clear verb+resource pair, but 'statistics' is vague and does not specify what kind of aggregated data (e.g., counts, trends) compared to related tools like get_clipboard_events. It provides basic purpose but lacks specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like get_clipboard_events or search_suspicious_clipboard. Agent receives no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cpe_by_scanGet CPE By ScanARead-onlyIdempotentInspect
Get CPEs for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, non-destructive, idempotent, openWorld, so the description's burden is lower. However, it adds no extra behavioral context (e.g., no description of what happens if scan_id invalid). With output schema present, return format is covered, so a 3 is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no extra words. Front-loaded with verb and object. Perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 param, output schema present), the description is minimally adequate. However, considering the many sibling tools, more context about the specific role of this tool (e.g., 'retrieve CPE details for a completed scan') would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the parameter 'scan_id' has no description. The tool description does not clarify what a scan_id is or how to obtain it. The description should compensate for this lack, but it doesn't.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Get' and resource 'CPEs', specifying they are for a scan_id. It distinguishes from siblings like 'search_cpe' (search vs direct retrieval) and 'get_cpe_stats' (stats vs individual entries).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage when you have a scan_id and want its CPEs, but no explicit when to use vs alternatives like 'search_cpe' or when not to use. No context about prerequisites or fallback options.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cpe_statsGet CPE StatsCRead-onlyIdempotentInspect
Get CPE statistics.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true; description adds no behavioral context beyond the annotations, missing details like what statistics are computed or scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short (one sentence) but under-specified; lacks substance to justify its length. Front-loaded only with the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lack of parameters and existing annotations, description is insufficient for a tool with many siblings; fails to explain what CPE statistics are or how they differ.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters defined; schema coverage is 100%. Description correctly implies no inputs needed, but adds no extra meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Get CPE statistics,' which identifies the resource (CPE statistics) and verb (Get), but it is vague and doesn't distinguish from sibling tools like get_platform_stats or get_malware_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives; explicitly missing for a stats tool among many similar siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ct_certificatesGet CT CertificatesBRead-onlyIdempotentInspect
Get certificate transparency data for a domain.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds that it returns 'certificate transparency data' but does not elaborate on response details or constraints. This is adequate given the annotations, but no additional value beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no waste. However, it is too brief and omits important details that could be added without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, return values are covered. However, with only one parameter and no usage guidance, the description is incomplete for an agent to use correctly. The minimal context makes it adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'domain' has no description in the schema, and the description only mentions 'for a domain' without specifying format or requirements (e.g., full URL vs bare domain). Schema coverage is 0%, so the description should compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', resource 'certificate transparency data', and scope 'for a domain'. It distinguishes this tool from siblings like get_ct_dns_records and get_ct_domains_by_ip by specifying CT certificates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The sibling list includes many CT-related tools, but the description does not provide any context for selection or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ct_dns_recordsGet CT DNS RecordsBRead-onlyIdempotentInspect
Get CT DNS records for a domain.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds no further behavioral details such as rate limits or data freshness, so it is neutral.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and to the point, but it lacks structure and could include more helpful detail without being verbose. It is adequate but minimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity and presence of an output schema, the description is minimally sufficient. However, it does not elaborate on what 'CT DNS records' are, leaving some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter 'domain' is not described beyond the schema. Schema coverage is 0%, and the description does not add meaning like format or examples, leaving the agent without extra context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does 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 'CT DNS records' for a domain. It distinguishes from sibling tools like get_ct_certificates and get_ct_similar_domains, which focus on different CT data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description lacks context on scenarios where this tool is preferred over other CT-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ct_domains_by_ipGet CT Domains By IPCRead-onlyIdempotentInspect
Find CT domains on an IP address.
| Name | Required | Description | Default |
|---|---|---|---|
| ip_address | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. However, the description adds no behavioral context (e.g., rate limits, authentication needs, or what 'CT domains' means) beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence. However, it is too brief to be fully helpful, bordering on under-specification. It avoids tautology but lacks necessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one required parameter, an output schema exists, and annotations are good, but the description omits critical context such as what 'CT' stands for, whether the IP can be a range, or any usage examples. It is not complete enough for an AI to confidently select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not clarify the 'ip_address' parameter format (e.g., IPv4, IPv6, CIDR) or any constraints. The one-liner fails to add meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Find CT domains on an IP address' clearly indicates the tool performs a lookup of certificate transparency domains for a given IP. It uses a specific verb and resource, but does not differentiate from many sibling CT-related tools like get_ct_certificates or get_ct_dns_records.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. Among numerous sibling tools that search by IP or retrieve CT data, there is no explanation of the tool's unique role or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ct_similar_domainsGet CT Similar DomainsCRead-onlyIdempotentInspect
Find similar CT domains for a domain.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds no behavioral context beyond that, such as output format or any limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one sentence, front-loaded, but extremely short. It sacrifices necessary detail for brevity, making it under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one param, output schema present), the description is incomplete. It lacks enough context for an AI agent to understand what 'similar domains' means or how to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate but merely repeats 'domain' without explaining format, constraints, or expected values. The single parameter is left entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Find similar CT domains for a domain' states the verb and resource, but is vague. It doesn't explain what 'CT' stands for or what 'similar' means, and doesn't distinguish from sibling tools like get_ct_domains_by_ip or get_ct_certificates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. Among many CT and search siblings, the description provides no context for when similarity search is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ct_timelineGet CT TimelineBRead-onlyIdempotentInspect
Get CT certificate timeline for a domain.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, making the safety profile clear. The description adds no additional behavioral context (e.g., data freshness, pagination), but the annotations sufficiently cover the safety aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded, with no unnecessary words. It could be slightly more informative without losing conciseness, but it's efficient for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity and the presence of an output schema, the description is marginally adequate. However, it lacks explanation of what a 'timeline' entails and how it differs from other CT tools, leaving some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only mentions 'for a domain', providing minimal meaning beyond the parameter name. It does not describe format, constraints, or expected input values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a 'CT certificate timeline' for a domain, using a specific verb and resource. It distinguishes from siblings like get_ct_certificates by focusing on timeline, though not elaborating on the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as get_ct_certificates or get_ct_dns_records. The context hints (readOnlyHint, openWorldHint) are not leveraged to explain usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_domain_historyGet Domain HistoryBRead-onlyIdempotentInspect
Get historical scans for a domain (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| domain | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, covering safety. Description adds pagination context ('paginated'), which is useful beyond annotations. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with key information: action, resource, and pagination. No wasted words; front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple read tool with output schema that likely explains return values. However, description could clarify what 'historical scans' entail and pagination ordering.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description should compensate, but it does not explain parameters. The parameter names and defaults are self-evident from the schema, but description adds no meaning beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'Get' and resource 'historical scans for a domain', with pagination noted. However, it does not explicitly differentiate from siblings like get_domain_scans, but the name and brief description imply history vs current scans.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as get_domain_scans or search_scans. The description is purely functional without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_domain_scansGet Domain ScansCRead-onlyIdempotentInspect
Get recent scans for a domain.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| domain | Yes | ||
| status | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, but the description adds no extra behavioral context such as pagination, rate limits, or the structure of returned data. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, but it lacks structure and fails to front-load key information. It is minimally adequate but not well-organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does not explain what a 'scan' is, the meaning of the return values, or the parameter semantics. Even with an output schema, the context is insufficient for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%; the description fails to explain any of the three parameters (domain, limit, status). For a tool with multiple parameters, this is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get recent scans for a domain' clearly states the verb and resource, but does not specify what constitutes 'recent'. It differentiates from sibling tools like get_recent_scans by focusing on a specific domain, but could be more precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., get_recent_scans, get_scan_result). The description lacks context about typical use cases or preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_domain_statsGet Domain StatsBRead-onlyIdempotentInspect
Get summary statistics for a domain.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint, openWorldHint, idempotentHint, destructiveHint) are comprehensive and cover safety. The description adds no additional behavioral context, but annotations alone satisfy transparency requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—one sentence with no fluff. However, it is borderline under-specified, trading completeness for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description does not clarify what 'summary statistics' include (e.g., counts, technologies). Given many sibling stats tools, this ambiguity reduces effectiveness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description only mentions 'domain' without specifying format, constraints, or examples. It adds minimal value beyond the schema, especially for a single required parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves 'summary statistics for a domain,' using a specific verb and resource. It distinguishes itself from siblings like get_domain_history or get_domain_scans.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With many sibling tools prefixed with 'get_domain_', the description lacks any contextualization or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_faviconGet FaviconARead-onlyIdempotentInspect
Get favicon metadata for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds no additional behavioral context, but does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, no wasted words. Efficient but could be slightly more informative without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complex context of many sibling tools and the presence of an output schema, the description lacks detail on what metadata is returned. It is minimally adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does 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 'scan_id' parameter (its format, source, or meaning). The schema title 'Scan Id' is insufficient, and the description fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Get' and resource 'favicon metadata' for a 'scan_id'. It effectively distinguishes from siblings like get_favicon_stats or get_scan_result.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. The description only implies usage by requiring a scan_id, but does not specify conditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_favicon_statsGet Favicon StatsBRead-onlyIdempotentInspect
Get favicon statistics.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the description's burden is lower. It adds no behavioral detail beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence. It is front-loaded but could be more informative without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists (but content unknown), reducing the need to describe return values. However, the description is still sparse and does not hint at the nature of the statistics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the description does not need to add param info. Baseline 4 applies since schema coverage is 100% and no parameters exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get favicon statistics' is vague; it does not specify what kind of statistics (e.g., counts, sizes), nor does it distinguish from siblings like get_favicon or search_by_favicon.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. Among many 'get_*_stats' siblings, a usage hint would be beneficial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_healthGet HealthARead-onlyIdempotentInspect
Get API health status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, idempotentHint, openWorldHint, and destructiveHint, so the description carries a lower burden. It adds minimal context beyond the annotation data. No additional behaviors (e.g., response format, caching, rate limits) are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no extraneous information. It is front-loaded and efficiently communicates the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, strong annotations, and an output schema), the description is complete. It sufficiently covers the tool's purpose without needing elaboration on return values or behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema coverage is 100% trivially. The description does not need to add parameter semantics, and the baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get API health status.' clearly states the tool's purpose: to retrieve the health status of the API. It immediately distinguishes itself from sibling tools that focus on specific data (e.g., get_scan_result, get_domain_stats) as a general health check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It lacks context such as when to call health checks (e.g., for connectivity verification before other calls) or that it is a lightweight, low-cost operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ids_alertsGet IDS AlertsARead-onlyIdempotentInspect
Get IDS alerts for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint true and destructiveHint false. The description adds no further behavioral context, but does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no wasted words. Every part is necessary and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, single-parameter retrieval tool with comprehensive annotations and an output schema, the description is adequate. It could mention that it returns a list of alerts, but the output schema likely covers that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate. It mentions 'for a scan_id', which adds minimal context beyond the schema property name and title. With only one parameter, the added value is limited.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', the resource 'IDS alerts', and the constraint 'for a scan_id'. Among many sibling 'get_*' tools, it uniquely identifies its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like get_malware_by_scan or get_technologies_by_scan. It does not mention conditions, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ip_statsGet IP StatsBRead-onlyIdempotentInspect
Get IP statistics (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| ip_address | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the main behavioral safety is covered. The description adds 'paginated', which is a mild behavioral detail. However, it does not disclose other traits like required parameters or default pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no fluff. Every word earns its place, providing the core action and a key feature without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (3 parameters, no nested objects) and presence of an output schema, the description is minimal but adequate for a simple read operation. However, parameter descriptions are missing, which would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description does not explain any of the three parameters (ip_address, page, limit) beyond what is in the schema. It adds no semantic meaning to aid the agent in filling parameters correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get IP statistics (paginated).' clearly states the action (Get), resource (IP statistics), and a key feature (paginated). This distinguishes it from other get_* tools like get_domain_stats or get_platform_stats, providing specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does 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. Among dozens of sibling tools, there is no mention of suitable contexts, 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.
get_jarm_signaturesGet JARM SignaturesCRead-onlyIdempotentInspect
Get JARM signatures for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds no further behavioral context, such as what the output includes or any side effects. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, very concise. However, it is too minimal to be effective, lacking necessary details about the tool's functionality. No wasted words, but not enough substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple parameter set (one required string) and the presence of an output schema, the description fails to explain what JARM signatures are or how they relate to scan_id. It is insufficient for an agent to fully understand the tool's purpose and output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It mentions 'scan_id' in the text but provides no additional meaning, such as format, source, or constraints. The schema itself lacks descriptions for the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get JARM signatures for a scan_id', identifying the verb 'Get' and the resource 'JARM signatures' tied to a scan_id. However, it does not differentiate from many sibling tools that also start with 'get_'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description provides no context about its purpose relative to other tools like search_by_jarm or get_jarm_stats.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_jarm_statsGet JARM StatsCRead-onlyIdempotentInspect
Get JARM statistics.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and destructiveHint=false, indicating a safe, read-only operation. The description adds no behavioral context such as performance, caching, or data scope. Without additional details, the description provides minimal value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. However, it is arguably under-specified, lacking details that could be included without breaking conciseness. Still, it earns a 4 for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and an existing output schema, the description might be minimally complete. However, the tool lacks differentiation from siblings and provides no context about what 'JARM statistics' entails. The output schema handles return values, but the description should clarify the tool's role among many similar stats tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and schema coverage is 100%, so the baseline is 4. The description does not need to explain parameters. It does not add semantic value but also does not detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get JARM statistics' states the verb and resource but provides no details on what the statistics include (e.g., counts, distributions). It is not a tautology but is vague, especially given many sibling tools like get_jarm_signatures. It fails to distinguish its specific scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does 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 agent receives no help in selecting this tool over similar stat-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_jsfingerprintGet JS FingerprintBRead-onlyIdempotentInspect
Get JS fingerprint by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| fingerprint_id | Yes | ||
| include_functions | No | ||
| include_http_headers | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the description does not need to repeat safety info. However, it adds no additional behavioral context (e.g., auth needs, rate limits) that would extend beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it omits necessary information about optional parameters and usage context, making it under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 parameters (1 required, 2 optional) with 0% schema coverage, and an output schema existing, the description should explain at least the purpose of the optional parameters. It does not, making it incomplete for an agent to use effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the tool description must compensate. It only mentions 'by ID' for the required parameter, but does not explain the optional parameters (include_functions, include_http_headers). This leaves their meaning unclear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get'), the resource ('JS fingerprint'), and the identifier ('by ID'). It effectively distinguishes from sibling tools that search by various hashes or other attributes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no context on prerequisites or exclusions. It lacks any usage guidelines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_jsfingerprint_bundle_statsGet JS Fingerprint Bundle StatsCRead-onlyIdempotentInspect
Get JS fingerprint bundle statistics.
| Name | Required | Description | Default |
|---|---|---|---|
| to_date | No | ||
| from_date | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. However, the description adds no behavioral context such as return format, pagination, or authentication requirements. It merely restates the tool's read-only nature without depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but lacks substance. It does not front-load key information or efficiently communicate the tool's scope. Brevity here comes at the cost of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given two parameters, no required fields, an output schema, and many sibling tools, the description is insufficient. It does not explain return values or how this tool fits into the larger context of fingerprint statistics tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning no parameter descriptions are in the schema. The tool description does not mention the two optional date parameters (from_date, to_date) or their semantics. An AI agent receives no guidance on how to use them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Get JS fingerprint bundle statistics', which identifies the verb and resource but lacks specificity. It does not clarify what 'bundle statistics' means, and among many sibling stat tools, it fails to distinguish itself. The purpose is clear enough to be minimally viable but vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like get_jsfingerprint_library_stats or get_jsfingerprint_stats. No context on prerequisites, use cases, or exclusions is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_js_fingerprinter2Get JS Fingerprinter2CRead-onlyIdempotentInspect
Get JS Fingerprinter2 results for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes | ||
| include_detailed_events | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, so safety is clear. The description adds no behavioral context beyond the bare purpose, such as what data is returned or the effect of the optional parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but too minimal. It could provide more details without being overly long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values are not needed, but the description fails to explain the optional parameter or provide context for selection among many sibling tools. It is incomplete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, yet the description provides no details about the parameters. The optional 'include_detailed_events' parameter is not explained, leaving the agent without guidance on its use.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it gets results for a scan_id, but doesn't specify what the results contain (e.g., fingerprints, scripts). Among siblings like get_jsfingerprint and get_js_fingerprints, the tool name implies something specific but the description is vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like get_jsfingerprint or get_js_fingerprinter2_coverage. The description doesn't mention any prerequisits or comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_js_fingerprinter2_coverageGet JS Fingerprinter2 CoverageBRead-onlyIdempotentInspect
Get JS Fingerprinter2 fingerprint coverage.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint. The description adds no behavioral context beyond restating the tool's name. It does not disclose what the coverage data represents, whether it aggregates across scans, or any rate-limiting implications. With annotations covering safety, a higher score would require additional context that is absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise. However, it is essentially a restatement of the tool name and adds little new information. While not verbose, it could be considered under-specified. Still, it meets the criteria for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no parameters and annotations that cover safety, the description fails to explain what 'coverage' means or what the output looks like. An output schema exists but is not visible in the definition, so the description should compensate. The current description is too minimal for a complete understanding of the tool's purpose and results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the input schema provides all necessary information. The description could add value by explaining the nature of the coverage output, but with no parameters, a baseline score of 4 is appropriate as the schema fully documents the inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does 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 'JS Fingerprinter2 coverage', which distinguishes it from sibling tools like 'get_js_fingerprinter2' that likely return the fingerprint itself. However, the term 'coverage' is not explained, leaving some ambiguity about what exactly is retrieved.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. Given the large number of sibling tools, explicit direction on when to choose coverage over stats or the raw fingerprint would be helpful. The description offers no such context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_js_fingerprinter2_healthGet JS Fingerprinter2 HealthARead-onlyIdempotentInspect
Get JS Fingerprinter2 health check.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description adds no behavioral context beyond the tool's safety profile. While not contradictory, it does not elaborate on potential caching, frequency, or other behaviors that could improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that directly states the purpose with no extraneous information. It is efficiently front-loaded and meets the conciseness criteria.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, safety annotations, and presence of an output schema), the description is largely complete. However, for a tool with many siblings, a brief note about typical response format or integration points would enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool accepts no parameters, and schema coverage is 100%. Per guidelines, baseline 4 is appropriate since there are no parameters to document.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: retrieving the health check status of JS Fingerprinter2. The verb 'get' and specific resource 'JS Fingerprinter2 health check' make the action unambiguous, and it distinguishes from the sibling tool 'get_health' which covers overall system health.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'get_health' or 'get_js_fingerprinter2_stats'. There is no mention of typical scenarios or exclusions, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_js_fingerprinter2_statsGet JS Fingerprinter2 StatsBRead-onlyIdempotentInspect
Get JS Fingerprinter2 stats.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, which convey the tool is safe and non-mutating. The description adds no additional behavioral context, such as what 'stats' entails (e.g., aggregated counts, distributions, or time series), or any potential performance implications. With comprehensive annotations, the description fails to add value beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that gets the point across. It is appropriately short for a tool with no parameters and clear annotations. However, it could benefit from slight expansion to clarify the scope of 'stats' without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters, an output schema (not shown), and rich annotations, the description is minimally sufficient. However, among a large set of sibling tools, a bit more context—such as the types of statistics provided (e.g., counts, trends, prevalence)—would improve completeness. The description does not hinder understanding but also does not fully leverage the opportunity to clarify its role.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the input schema is empty. The description doesn't need to add parameter semantics because there are none. Baseline is 4 for zero parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does 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 'JS Fingerprinter2 stats', indicating it retrieves statistical/summary data for this specific fingerprint. However, it does not distinguish this tool from other get_* stats tools (e.g., get_analyzer_stats) or from other JS Fingerprinter2 tools like get_js_fingerprinter2, which might return raw data. The purpose is clear but lacks differentiation from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus its many siblings (such as get_js_fingerprinter2_coverage or search_js_fingerprinter2_composite_hash). No context about prerequisites, typical use cases, or alternatives is given. The agent must 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.
get_jsfingerprint_hash_prevalenceGet JS Fingerprint Hash PrevalenceBRead-onlyIdempotentInspect
Get JS fingerprint hash prevalence for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is clear. The description does not add further behavioral context (e.g., handling of invalid scan_id, rate limits). The description does not contradict annotations, so no violation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that conveys the core function without redundancy. It is appropriately concise for a simple one-parameter tool, though adding a bit more detail would not hurt.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, one parameter, complete annotations, and an output schema (not shown), the description is minimally adequate. However, it does not explain what 'prevalence' means or the nature of the output, which could be confusing. It meets the baseline but leaves room for improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It mentions 'for a scan_id' but provides no additional meaning about the parameter's format, source, or constraints. The schema itself specifies type string, but the description adds minimal value beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Get) and resource (JS fingerprint hash prevalence) with the required parameter (scan_id). It distinguishes from sibling tools like get_jsfingerprint or get_jsfingerprint_similar by specifying 'hash prevalence', though the exact meaning of 'prevalence' is not elaborated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, context, or exclusions. Given the many sibling tools, explicit usage direction would be valuable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_jsfingerprint_library_statsGet JS Fingerprint Library StatsCRead-onlyIdempotentInspect
Get JS fingerprint library statistics.
| Name | Required | Description | Default |
|---|---|---|---|
| to_date | No | ||
| from_date | No | ||
| min_count | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, and destructiveHint. The description adds nothing beyond that, such as what 'statistics' means or how parameters affect results. With annotations present, the description should add context but does not.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence, making it concise. However, it lacks substance; it could convey more useful information without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description does not hint at what the statistics comprise (e.g., count of libraries, versions, etc.). With optional parameters and no required fields, the agent needs more context to use this tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does 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 (to_date, from_date, min_count). The agent cannot infer their meaning without additional information, e.g., that they filter by date range or minimum count for statistics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves statistics about JS fingerprint libraries. The verb 'Get' and resource 'JS fingerprint library statistics' are specific, though it could better distinguish from similar tools like get_jsfingerprint_bundle_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Given many sibling tools related to JS fingerprints (e.g., get_jsfingerprint, search_js_fingerprint_by_library), there is no help for the agent to decide which to invoke.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_js_fingerprintsGet JS FingerprintsCRead-onlyIdempotentInspect
Get JavaScript fingerprints for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes | ||
| include_functions | No | ||
| include_http_headers | No | ||
| include_vectors_info | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds no additional behavioral context such as return format, concurrency, or authorization needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, but it is too brief and lacks necessary detail. Every word is used, but more sentences are needed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, no parameter documentation, and an output schema (not shown), the description is insufficient. It does not explain what JavaScript fingerprints are or how optional parameters affect results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% meaning the schema provides no descriptions. The tool description does not explain any of the four parameters, including the required 'scan_id' or the optional boolean flags.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get JavaScript fingerprints for a scan_id.' using a specific verb and resource, but it does not differentiate from the sibling tool 'get_jsfingerprint' (singular) which might have a different scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'get_jsfingerprint' or search siblings. There is no discussion of prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_jsfingerprint_similarGet JS Fingerprint SimilarCRead-onlyIdempotentInspect
Find similar JS fingerprints.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| threshold | No | ||
| fingerprint_id | Yes | ||
| exclude_same_scan | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, so the description adds no additional behavioral context. It does not explain pagination (limit/offset), threshold behavior, or response structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise (4 words) but at the cost of essential information. Lacks structure like parameter breakdown or usage hints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters and many siblings, the description is severely incomplete. Does not explain similarity criteria, threshold meaning, or output format despite an existing output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does 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 5 parameters (limit, offset, threshold, fingerprint_id, exclude_same_scan). Agent has no semantic clues.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Find similar JS fingerprints,' which clearly identifies the action and resource but does not distinguish from many sibling tools like find_js_fingerprint_similar_by_hash or search_js_fingerprinter2_similar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the numerous similar alternatives (e.g., search_js_fingerprint_by_*). Agent must infer context from name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_jsfingerprint_similarity_countsGet JS Fingerprint Similarity CountsCRead-onlyIdempotentInspect
Get JS fingerprint similarity counts.
| Name | Required | Description | Default |
|---|---|---|---|
| max_count | No | ||
| threshold | No | ||
| fingerprint_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which indicate safe, read-only behavior. The description adds no further behavioral details, such as what counts are aggregated, whether ordering or pagination applies, or any side effects. Since annotations cover the safety profile, the absence of extra context results in a below-average score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only five words, which is too sparse to be useful. It is not concise; it is under-specified. Every sentence should add value, but this single sentence fails to provide necessary information about parameters or usage. A good description would include at least a summary of what the tool does and what parameters control.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (three parameters, output schema exists) and the fact that sibling tools are numerous and similar, the description is incomplete. It does not explain the nature of the returned counts, how they relate to similar fingerprints, or how max_count and threshold affect results. The output schema likely provides structure, but the description should set expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has three parameters (fingerprint_id, max_count, threshold) with 0% description coverage. The tool description does not explain any parameter semantics. With no schema descriptions and no tool description explanation, the agent has no way to understand what max_count or threshold mean (e.g., threshold for similarity? count limit?). This is a critical gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get JS fingerprint similarity counts' clearly indicates the verb (get) and resource (JS fingerprint similarity counts). The word 'counts' hints at aggregate data, but it does not distinguish from sibling tools like 'get_jsfingerprint_similar' or 'find_js_fingerprint_similar_by_hash', which also deal with similarity. The purpose is clear at a basic level but lacks specificity to differentiate among similar tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of typical use cases, prerequisites, or conditions. The description is too brief to offer any usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_jsfingerprint_sourceGet JS Fingerprint SourceCRead-onlyIdempotentInspect
Get JS fingerprint source.
| Name | Required | Description | Default |
|---|---|---|---|
| fingerprint_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, indicating a safe, read-only operation. The description adds no further behavioral insights beyond what is implied by 'Get'. It does not contradict annotations, but adds minimal value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at one sentence, which is efficient for purpose clarity. However, it sacrifices essential details like parameter usage and context. It is front-loaded but under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one parameter and an output schema (not shown), the description fails to provide context about the output or how to use the parameter. Among many sibling tools, it only barely differentiates itself by the word 'source', but lacks complete guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage for the only parameter 'fingerprint_id'. The description does not mention or explain the parameter at all, leaving the agent to infer its meaning from the name alone. This is insufficient for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and resource 'JS fingerprint source', clearly indicating the tool retrieves the source code of a JavaScript fingerprint. It distinguishes itself from sibling tools like 'get_jsfingerprint' which likely returns general info, and 'get_jsfingerprint_similar' which finds similar fingerprints. However, the exact meaning of 'source' could be more explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as 'get_jsfingerprint' or 'get_jsfingerprint_similar'. No context is provided about prerequisites or scenarios where this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_js_library_inventoryGet JS Library InventoryBRead-onlyIdempotentInspect
Get JS fingerprint library inventory.
| Name | Required | Description | Default |
|---|---|---|---|
| library | No | ||
| min_count | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide safety traits (readOnlyHint, idempotentHint, destructiveHint=false). The description adds no additional behavioral context, such as pagination or performance implications, but it does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, front-loading the verb. It is efficient with no wasted words, but it could be more informative without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (making return value documentation less necessary) and adequate annotations, the description is minimally complete. However, it lacks detail on what the inventory contains and how it differs from related tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does 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 parameters 'library' and 'min_count'. The parameter names are partially self-explanatory, but the description should compensate for the missing schema descriptions, which it fails to do.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does 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 'JS fingerprint library inventory', making the tool's purpose evident. However, it does not distinguish from siblings like get_jsfingerprint_library_stats or search_js_fingerprint_by_library, which might be similar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description does not mention any context, prerequisites, or exclusion criteria, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_js_segments_by_scanGet JS Segments By ScanCRead-onlyIdempotentInspect
Get JS segments for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| scan_id | Yes | ||
| script_url | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering safety and idempotency. The description adds no behavioral context beyond the purpose, such as pagination behavior, ordering, or definition of 'segments'. With annotations present, a score of 3 is appropriate as the description does not contradict but also does not enhance transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it sacrifices informativeness. It is not structured with additional details that could be helpful, such as parameter ranges or return value hints. The sentence earns its place but does not maximize utility.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters, 0% schema description coverage, and an output schema, the description is insufficient. It does not explain the filtering options (script_url) or pagination (limit/offset), and does not set expectations for the output. A more complete description would include these aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it only mentions 'scan_id' implicitly by stating 'for a scan_id'. It does not explain the meaning of limit, offset, or script_url, leaving their semantics unclear. This adds minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get JS segments for a scan_id' clearly states the verb (Get) and resource (JS segments), and specifies the key parameter. However, it does not differentiate from sibling tools like 'get_js_segments_suspicious' or 'get_js_segments_unknown', which also return JS segments under different conditions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as 'search_js_segments_by_hash' or other get tools. The description lacks context about when this tool is appropriate and when it is not.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_js_segments_suspiciousGet JS Segments SuspiciousCRead-onlyIdempotentInspect
Get suspicious JS segments for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| scan_id | Yes | ||
| min_risk_score | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint. The description adds no additional behavioral context such as pagination behavior, result ordering, or any side effects. It adds no value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loaded. However, it is too terse and omits important details that could be included without becoming verbose. It adequately states the core purpose but sacrifices completeness for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has four parameters (one required) and an output schema, the description is incomplete. It does not mention the filtering capability via min_risk_score or pagination via limit/offset. With many sibling tools, the description lacks context on how results are ordered or what constitutes 'suspicious'. The output schema exists but is not referenced.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description provides no explanation for any of the four parameters (scan_id, limit, offset, min_risk_score). The description fails to clarify their meanings, defaults, or how they affect the query, leaving the agent to rely solely on parameter names, which are somewhat self-explanatory but insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool retrieves suspicious JS segments for a given scan_id. It uses a specific verb and resource, but does not distinguish from sibling tools like get_js_segments_by_scan or get_js_segments_unknown, which also fetch JS segments but with different filters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention any exclusions, prerequisites, or context for choosing this specific tool among many sibling tools dealing with JS segments.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_js_segments_unknownGet JS Segments UnknownCRead-onlyIdempotentInspect
Get unknown JS segments for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| scan_id | Yes | ||
| min_code_length | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=true. The description adds no additional behavioral details such as return format or pagination behavior. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, but it is too sparse. It could include key parameter details without being overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters, siblings, and an output schema, the description is incomplete. It does not explain pagination, filtering via min_code_length, or what 'unknown' means. The output schema exists but its content is unknown.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no information about any of the 4 parameters (scan_id, limit, offset, min_code_length). It 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get unknown JS segments for a scan_id' uses a specific verb and resource, and the term 'unknown' distinguishes it from siblings like get_js_segments_by_scan and get_js_segments_suspicious. However, it does not explain what 'unknown' means relative to other segment types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings. It does not mention alternatives or context for selection. Only the required scan_id is implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_latest_capabilitiesGet Latest CapabilitiesCRead-onlyIdempotentInspect
Get latest capability stats.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, providing strong behavioral signals. The description adds 'latest' but no further behavioral details (e.g., what 'capability stats' includes, response format, or caching behavior). Minimal value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence. While concise, it could be more informative about what 'capability stats' means without becoming verbose. It is structured adequately but lacks detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that no parameters exist and an output schema is present, the description could clarify what the output contains (e.g., fields like total_capabilities, date). The current description is too minimal to fully inform the agent about the tool's result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema coverage is 100% (vacuously). The description does not need to explain parameters. With baseline 4 for no parameters, the description is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get latest capability stats.' clearly states a verb ('get') and resource ('capability stats'). However, it does not distinguish from the sibling tool 'get_capabilities_by_date', which also retrieves capability stats but by a date parameter. The purpose is clear but lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'get_capabilities_by_date'. There is no mention of context, prerequisites, or exclusions. The agent receives no directional help for selection among similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_malware_by_scanGet Malware By ScanBRead-onlyIdempotentInspect
Get malware details for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, and idempotentHint, so the safety profile is clear. The description adds no further behavioral context, but does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, clear sentence with no extraneous words. However, it could be slightly more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is simple with one required parameter and an output schema available. The description is minimally sufficient, though it lacks hints about what malware details are returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only restates the parameter name 'scan_id' without explaining format, source, or constraints. It adds marginal value over the schema property name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool retrieves malware details for a given scan_id, with a specific verb and resource. It distinguishes from siblings like get_malware_stats or search_malware_families by focusing on a single scan.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, nor any prerequisites or context for invocation. The description is too minimal to inform tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_malware_statsGet Malware StatsCRead-onlyIdempotentInspect
Get malware stats.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, but the description adds no behavioral details (e.g., what constitutes 'malware stats', aggregation method, or temporal scope).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short (3 words) but under-specified; fails to convey useful information beyond the name, making it unhelpful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given many sibling stats tools, the description is incomplete. It does not clarify the scope or type of malware statistics, and the output schema's existence does not compensate for missing context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the schema defines no semantics. The description provides minimal meaning ('malware stats'), which is acceptable as a baseline for no-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get malware stats' is a tautology, restating the tool name and title. It does not specify what kind of malware statistics are provided nor differentiate from siblings like get_analyzer_stats or get_cpe_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. There is no context about appropriate use cases or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_netlogGet NetlogARead-onlyIdempotentInspect
Get network log for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, covering safety and side effects. The description does not add significant behavioral insights beyond what is stated. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence. It is front-loaded with the verb and resource, containing zero wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (not shown) and one straightforward parameter, the description is minimally adequate. However, it does not elaborate on what the network log contains or any potential size constraints, leaving some ambiguity for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. However, it only repeats the parameter name ('for a scan_id') without adding format, constraints, or expected values. The single parameter is self-explanatory, but no additional meaning is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is specific: 'Get network log for a scan_id.' It clearly identifies the resource (network log) and the required input (scan_id), distinguishing it from sibling tools which target different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (retrieving network log for a scan), but provides no explicit guidance on when to use this tool versus alternatives like get_scan_result or get_scan_summary. 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.
get_ocr_by_scanGet OCR By ScanBRead-onlyIdempotentInspect
Get OCR data for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds minimal value. It does not elaborate on what 'OCR data' entails (e.g., raw text, layout), but the existing annotations are sufficient for basic behavioral understanding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence of only 5 words, which is extremely concise. However, it could benefit from a brief elaboration without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, output schema exists), the description is minimally adequate but lacks contextual details such as typical usage patterns or relationship to sibling tools, which would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description partially compensates by stating the parameter's role ('for a scan_id'), but it does not explain what a scan_id is or provide format requirements, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get OCR data for a scan_id' clearly states the verb and resource (get OCR data) and distinguishes it from siblings like get_ocr_stats or get_malware_by_scan by specifying the resource type and input.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus siblings like get_ocr_stats. The description does not mention any context or prerequisites such as requiring a valid scan_id from a prior scan.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ocr_statsGet OCR StatsCRead-onlyIdempotentInspect
Get OCR stats.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds no behavioral context beyond what annotations provide, missing the opportunity to explain what the stats represent or their scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely terse with only three words. While concise, it lacks substance and fails to convey necessary information. Effective conciseness should preserve meaning; here, meaning is sacrificed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of many sibling stats tools and the presence of an output schema (not detailed in description), the description is incomplete. It does not explain what OCR stats contain, leaving the AI agent without sufficient context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing to describe. Baseline score of 4 is appropriate as no additional parameter information is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get OCR stats' is vague and does not specify what OCR stats are. Given numerous sibling 'get_*_stats' tools (e.g., get_analyzer_stats, get_clipboard_stats), it fails to differentiate this tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description lacks any context about the appropriate scenario for retrieving OCR stats.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_open_graphGet Open GraphBRead-onlyIdempotentInspect
Get Open Graph data for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which the description does not expand upon. The description adds minimal behavioral context, only stating that it retrieves Open Graph data. No mention of what the data contains or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that clearly conveys the tool's function with no unnecessary words or filler. It is efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature of the tool (one parameter, one output) and the presence of annotations and an output schema, the description is minimally adequate. However, it could provide more context about what Open Graph data includes (e.g., title, description, image) to improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only mentions 'scan_id' without explaining its meaning or format. The description partially adds meaning by linking the parameter to the tool's operation, but it does not 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves Open Graph data for a given scan_id. The verb 'get' and resource 'Open Graph data' are specific and distinct from sibling tools that retrieve other types of data (e.g., get_ai_analysis, get_analyzer_results).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does 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. While the purpose is clear, there is no mention of context or exclusion criteria. Usage is implied but not explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pastejackingGet PastejackingARead-onlyIdempotentInspect
Get pastejacking findings for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read operation. The description adds the context of returning 'pastejacking findings,' which is useful but minimal. There is no contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no unnecessary words. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 parameter, has output schema, and annotations provide safety/behavior), the description is nearly complete. It explains what the tool does and which parameter is needed. The output schema covers return values. A minor gap is that the term 'pastejacking' might be unclear, but it's implied by the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description should compensate but only repeats 'for a scan_id' which is already in the schema. No additional meaning about the parameter's format, source, or constraints is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get pastejacking findings for a scan_id.' uses a specific verb ('get') and resource ('pastejacking findings'), clearly distinguishing it from sibling tools that retrieve different types of findings (e.g., get_malware_by_scan, get_ocr_by_scan).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used when you have a scan_id, but it does not provide explicit guidance on when to use this tool versus alternatives like get_clipboard_events or when not to use it. The context of needing a scan_id is inferred but not stated as a prerequisite.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pcap_metadataGet PCAP MetadataBRead-onlyIdempotentInspect
Get PCAP metadata for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral details beyond what the annotations already provide (readOnlyHint, idempotentHint, etc.). It does not contradict annotations, but it also does not add context like potentially large responses or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that conveys the core purpose without extraneous words. However, it is perhaps too brief, sacrificing completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists, the description does not indicate what PCAP metadata consists of or how it might be used. For a simple tool, more context would improve usability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fails to explain the parameter 'scan_id' beyond its name. No format, example, or allowed values are provided, leaving the agent without crucial usage details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does 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 'PCAP metadata', with the input 'scan_id'. The tool name and title are consistent, and it is easily distinguishable from siblings by its focus on PCAP metadata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many similar sibling tools (e.g., get_analyzer_results, get_malware_by_scan). There is no mention of alternatives or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_platform_statsGet Platform StatsCRead-onlyIdempotentInspect
Get platform statistics.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, fully covering the safety profile. The description adds no additional behavioral traits (e.g., what data is included, rate limits), but given annotations are comprehensive, a baseline score is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, highly concise. However, it is almost tautological with the tool name, lacking additional information that could improve utility. While brevity is valued, the sentence could be more informative without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no parameters and good annotations, the description is too minimal to be contextually complete. It does not clarify what 'platform statistics' includes or how it differs from other stats tools (e.g., get_analyzer_stats). An output schema exists, but its content is unknown; the description should provide more context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema description coverage is 100% (trivially). According to guidelines, baseline is 4 when no parameters are present, as the description cannot add meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get platform statistics' provides a verb and resource but lacks specificity about what 'platform statistics' entails. Among numerous sibling stats tools (e.g., get_analyzer_stats, get_cpe_stats), this description does not distinguish its scope, making it somewhat vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does 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 are many other stats tools in the sibling list, but the description does not offer any context, exclusions, or conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_popular_technologiesGet Popular TechnologiesCRead-onlyIdempotentInspect
Get popular technologies (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| page | No | ||
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, non-destructive, idempotent. The description adds 'paginated' but does not explain what 'popular' means, the return format, or any other behavioral traits beyond pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is efficient for a simple tool. However, it is too terse and omits critical details, but conciseness itself is not penalized heavily.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema and annotations, the description lacks essential context: what 'popular' means, valid ranges for days, pagination behavior, and how it relates to other technology tools. Incomplete for a tool with 3 parameters and no schema descriptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description fails to explain the parameters (days, page, limit). 'days' is ambiguous (e.g., days since what event?), and no details are provided beyond parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'Get' and resource 'popular technologies', with 'paginated' indicating pagination. However, it does not differentiate from sibling tools like get_technologies_by_scan or get_technology_stats, leaving 'popular' undefined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like search_technologies or other technology retrieval tools. The description provides no context for appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_rdapGet RDAPCRead-onlyIdempotentInspect
Get RDAP details for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond the annotations. With annotations already declaring readOnlyHint, idempotentHint, etc., the description could have explained what RDAP details include but did not.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise at 6 words, but it lacks essential details. It earns its place but is too minimal for optimal agent understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (single parameter, output schema exists), the description still fails to provide enough context about what RDAP details are or how they relate to other tools in the sibling list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description provides no explanation for the scan_id parameter. It mentions 'for a scan_id' but does not define what a scan_id is or how to obtain it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does 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 'RDAP details' for a 'scan_id', which distinguishes it from many other get_* tools. However, it could be more specific about what RDAP entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like get_ct_certificates or get_domain_history. The description only states what it does, not 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.
get_recent_scansGet Recent ScansBRead-onlyIdempotentInspect
Get recent public scans (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, etc. The description adds 'paginated' as a behavioral trait, but lacks details on ordering, definition of 'recent', or any rate limits. With annotations covering safety, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence that conveys the essential purpose without any extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, return values need not be explained. The description is minimally sufficient for a simple paginated list, but lacks details on sorting, filtering, or what 'public' entails, which could confuse the agent in a system with many similar tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%; the description does not explain the 'page' and 'limit' parameters beyond the vague mention of pagination. The agent must infer parameter meaning from names only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves 'recent public scans' and notes pagination. It effectively distinguishes from sibling tools like 'get_domain_scans' or 'get_scan_result' by focusing on broad recent scans, though it does not explicitly contrast with alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus other similar tools such as 'search_scans' or 'get_domain_scans'. The agent receives no context about prerequisites or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recent_threatsGet Recent ThreatsDRead-onlyIdempotentInspect
Get recent malware threats.
| Name | Required | Description | Default |
|---|---|---|---|
| hours | No | ||
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false. The description adds no behavioral details beyond the annotations, such as what data is returned, pagination, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only 4 words, which is too brief to convey necessary information. Conciseness should prioritize essential details without sacrificing clarity, but here it sacrifices both.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description does not mention return values or structure. With two parameters and no parameter guidance, the tool definition is incomplete for an AI agent to effectively use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does 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 either parameter (hours, limit). The agent has no understanding of what 'hours' means (e.g., hours in the past) or how 'limit' affects results, making parameter usage a guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get recent malware threats' is overly vague. It does not specify what constitutes 'recent' (timeframe) or what qualifies as a 'malware threat', and it fails to distinguish from similar tools like get_recent_yara_threats or get_malware_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternative tools. With many siblings (e.g., get_malware_stats, get_yara_by_scan), the description lacks any usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recent_yara_threatsGet Recent YARA ThreatsCRead-onlyIdempotentInspect
Get recent YARA threats.
| Name | Required | Description | Default |
|---|---|---|---|
| hours | No | ||
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint, idempotentHint, destructiveHint) already indicate safe, read-only behavior. Description adds nothing beyond, which is acceptable but doesn't provide extra context like pagination or filtering behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short (one sentence) but lacks necessary detail. Could be more informative while remaining concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 2 optional params and an output schema, the description fails to explain what YARA threats are, how to interpret results, or relationship to other YARA tools. Incomplete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters (hours, limit) have no description in schema, and the tool description does not add any meaning. Agents must guess from parameter names alone, which is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'Get' and resource 'recent YARA threats', distinguishing it from other get_recent_* tools like get_recent_threats. However, lacks explanation of what constitutes 'recent'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool compared to siblings such as get_yara_by_scan or get_yara_matches. No 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.
get_safe_browsingGet Safe BrowsingCRead-onlyIdempotentInspect
Get safe browsing threats for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds no behavioral context beyond what is in annotations, such as what threats are returned or any side effects. With annotations present, the description should add value but fails to do so.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, which is efficient. It could be slightly more informative without losing conciseness, but it is well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description does not need to explain return values, but it provides no additional context about safe browsing threats or how they relate to scan_id. For a tool with many siblings, the description lacks completeness to fully inform usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'scan_id' is self-explanatory from its name, but schema description coverage is 0%. The description only repeats the parameter name without adding format, examples, or constraints. It does not compensate for the missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does 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 'safe browsing threats', and mentions the required parameter 'scan_id'. However, it does not distinguish from sibling tools like 'get_safe_browsing_stats' or 'get_recent_threats', which limits clarity in context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Given the large number of sibling tools, the lack of usage context or exclusions makes it difficult for an agent to select appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_safe_browsing_statsGet Safe Browsing StatsCRead-onlyIdempotentInspect
Get safe browsing stats.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, idempotent, openWorld, and non-destructive behavior. The description adds no additional behavioral context (e.g., data source, rate limits, or response structure).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one phrase) but lacks substance. It is not verbose but also not informative. Every sentence should earn its place; this one is redundant with the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and annotations, the tool definition is minimally complete but fails to describe the return value or distinguish it from the many sibling tools. The description is too vague to be fully useful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters (schema coverage 100%). The description does not need to explain parameters. Baseline 4 for no parameters is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a tautology: 'Get safe browsing stats' merely restates the tool name. It does not specify what stats are provided, the source, or how they differ from similar tools like get_safe_browsing or get_analyzer_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does 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. With many sibling tools, including get_safe_browsing and various stats tools, the description offers no differentiation or context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scan_iocGet Scan IOCBRead-onlyIdempotentInspect
Get IOC matches for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, establishing safety. The description adds no further behavioral details (e.g., whether results are paginated or require auth). With annotations, this is adequate but not enriched.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded and to the point. No wasted words, but slightly more detail could be added without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists (not shown but indicated), return values need not be described. However, the description lacks explanation of what constitutes an 'IOC match' and how scan_id relates to other tools. For a simple one-parameter tool, it is minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description mentions 'scan_id' but does not explain its format, source, or constraints (e.g., required, UUID?). This adds minimal meaning beyond the parameter name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', resource 'IOC matches', and input 'scan_id', which is specific and unambiguous. However, it does not explicitly differentiate from sibling tools like get_scan_reports, but the name and description provide enough distinctiveness.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as get_scan_reports or get_scan_result. The description only states what it does, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scan_progressGet Scan ProgressCRead-onlyIdempotentInspect
Get scan progress by scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond what annotations already provide. While annotations indicate read-only, idempotent, and non-destructive behavior, the description does not mention any additional traits like polling behavior or status responses.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise at one sentence, but it lacks structure; front-loading the action and resource is good, but it could be more informative without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of an output schema, return values are documented, but the description omits any mention of the progress structure, status values, or when this tool is appropriate relative to scan lifecycle. It is insufficiently complete for a tool with one parameter and no schema description coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only repeats the parameter name 'scan_id' without adding format, source, or validation context that could help the agent form correct inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does 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 'scan progress' with the key identifier 'by scan_id'. It effectively distinguishes this tool from siblings that retrieve different resources like 'get_scan_result' or 'get_scan_summary'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs. alternatives like 'get_scan_result' or 'wait_for_scan'. The description lacks context for proper selection among the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scan_reportsGet Scan ReportsCRead-onlyIdempotentInspect
Get available reports for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes | ||
| report_type | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds no further behavioral context (e.g., pagination, if reports are cumulative, or if scan must be completed).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler. However, its brevity sacrifices necessary detail, making it less effective than a slightly longer but more informative description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 2 parameters (1 required), a brief description, and no parameter documentation, it is incomplete. Although an output schema exists (requiring no return value explanation), the description fails to clarify what constitutes an 'available report' or how report_type influences results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description does not elaborate on the parameters. It only names scan_id but provides no format or constraints. The optional report_type parameter is not explained at all, leaving the agent uninformed about valid values or default behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves reports for a given scan_id. It specifies the verb 'Get' and the resource 'reports'. While it distinguishes from many sibling 'get_*' tools, it could be more specific about what 'available' means.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like get_analyzer_results or get_scan_result. No prerequisites, context, or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scan_resultGet Scan ResultCRead-onlyIdempotentInspect
Get full scan result by scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds 'full scan result' but no additional behavioral traits such as performance, error handling, or authorization. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. However, it is perhaps too minimal, lacking context that could be added without sacrificing conciseness. Front-loading is fine.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the return values are covered, but the description fails to explain what constitutes a 'full scan result' or how it differs from other scan data tools. An agent might not know when to use this over get_scan_summary. The tool has multiple siblings, increasing the need for contextual guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description only repeats the parameter name ('by scan_id') without explaining its format, constraints, or how to obtain a valid scan_id. The description does not 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get full scan result by scan_id' clearly states the tool's action and resource. The word 'full' hints that it returns complete data, distinguishing it from siblings like get_scan_summary. However, it does not explicitly differentiate from other scan-related tools, such as get_scan_reports or get_scan_progress.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like get_scan_summary or get_scan_progress. The description does not mention prerequisites, limitations, or context for usage. Sibling tools exist but are not referenced in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scan_summaryGet Scan SummaryCRead-onlyIdempotentInspect
Get compact scan summary by scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not add behavioral context beyond what annotations already provide (readOnlyHint, idempotentHint, destructiveHint). No mention of side effects, latency, or other traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded, containing only essential information. While it could be slightly expanded, it is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of an output schema, the description does not need to detail return values, but it lacks context about what 'summary' entails, and no usage context is provided. The tool is simple but the description is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for the single parameter scan_id, and the description does not elaborate on its format, source, or constraints. It adds no meaningful semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves a compact scan summary by scan_id, using a specific verb and resource. It differentiates from siblings like get_scan_result or get_scan_reports by emphasizing 'compact summary', though it doesn't explicitly contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidelines are provided about when to use this tool versus alternatives. Given many sibling tools for different data types, the description lacks context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_screenshot_statsGet Screenshot StatsCRead-onlyIdempotentInspect
Get screenshot statistics.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds no additional behavioral context, such as data scope, rate limits, or authorization needs. It does not contradict annotations, but it does not add value beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence) but it is under-specified. It repeats the title without adding new information. While it is front-loaded, it fails to earn its place because it provides no actionable insight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (not shown) and many sibling tools, the description is insufficient. It does not hint at the kind of statistics returned, nor does it help differentiate this tool from others like get_safe_browsing_stats or get_technology_stats.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and schema coverage is 100% (empty properties). Baseline is 3 per high coverage. The description does not add meaning about parameters because none exist, but it also does not explain the output, which would be helpful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get screenshot statistics' is virtually identical to the tool name and title, making it a tautology. It does not specify what statistics are included (e.g., counts, trends, over what timeframe), nor does it distinguish between this and other get_*_stats tools like get_clipboard_stats or get_favicon_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The sibling list includes many other stats tools and screenshot-related tools, but the description offers no context on when this specific tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_technologies_by_scanGet Technologies By ScanARead-onlyIdempotentInspect
Get detected technologies for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, indicating a safe read operation. The description adds 'detected technologies' which suggests the type of data returned, but does not elaborate on behavior beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, concise and front-loaded. However, it could include slightly more context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the presence of an output schema, the description is functional but lacks completeness. It does not indicate the nature of the output (e.g., list of technologies) or how it relates to other technology-related siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no additional meaning for the scan_id parameter. It does not explain what a scan_id is, how to obtain it, or any format constraints, leaving the agent with insufficient guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get detected technologies for a scan_id', specifying the verb (get), resource (detected technologies), and input (scan_id). This distinguishes it from sibling tools like get_malware_by_scan or get_ocr_by_scan.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives such as get_technology_stats or get_popular_technologies. The name and required scan_id parameter imply it's for a specific scan, but the description does not clarify this or mention any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_technology_combinationsGet Technology CombinationsCRead-onlyIdempotentInspect
Get technology combinations (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| tech_name | Yes | ||
| min_occurrences | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, idempotent, non-destructive, open world. The description adds 'paginated' which is a useful behavioral detail. However, it does not disclose any other traits like return format or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it is under-specified. It lacks structure and does not earn its place by providing needed context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 4 parameters, no schema descriptions, and an output schema that is not explained, the description is very incomplete. It does not clarify the tool's purpose or how to use the parameters effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does 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 four parameters (page, limit, tech_name, min_occurrences). The description must compensate for the lack of schema descriptions, but it fails to do so.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get technology combinations (paginated)' clearly states the verb and resource, but it is vague about what constitutes a technology combination. It does not distinguish from similar sibling tools like get_technologies_by_scan or get_popular_technologies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description lacks context about the tool's application or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_technology_statsGet Technology StatsCRead-onlyIdempotentInspect
Get technology stats.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds no behavioral context beyond what annotations provide, but does not contradict them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short ('Get technology stats.'), but lacks substance. It is under-specified rather than efficiently concise, failing to convey meaningful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has an output schema (mentioned in context signals), the description should provide context about what the output represents. It does not, leaving the agent without understanding of the returned data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty with no parameters, so schema coverage is 100%. The description adds no parameter details, but with zero parameters, the baseline is 4, as schema alone is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get technology stats' is vague and does not specify what 'technology stats' refers to. Among many sibling 'get_*_stats' tools, this one lacks differentiation, making it unclear what specific data it retrieves.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description does not mention prerequisites, use cases, or when not to use it, leaving the agent without decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tls_asn1Get TLS ASN1ARead-onlyIdempotentInspect
Get TLS certificate ASN.1 data for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds that it retrieves ASN.1 data, which is consistent. No contradictions, but no additional behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no unnecessary words. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, annotations cover safety, output schema exists), the description adequately covers the necessary context. Minor room for improvement by specifying output format or data scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description does not explain the 'scan_id' parameter beyond its name. However, the parameter is self-explanatory and required, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the action ('Get'), the resource ('TLS certificate ASN.1 data'), and the required context ('for a scan_id'). It clearly distinguishes from sibling tools like 'get_tls_details'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the purpose but provides no guidance on when to use this tool versus alternatives (e.g., 'get_tls_details'). No explicit when-not or context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tls_detailsGet TLS DetailsCRead-onlyIdempotentInspect
Get TLS details for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds no behavioral context beyond the annotation values, such as data scope or potential limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, but it could be more informative without becoming verbose. It is appropriately front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one simple parameter and an output schema (not shown), the description is too sparse. It does not explain what 'TLS details' encompass, how they relate to a scan, or any expected returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries the burden. It mentions 'scan_id' but does not elaborate on format, source, or validation. This provides minimal additional meaning beyond the schema's property name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states verb 'Get' and resource 'TLS details for a scan_id', clearly indicating what the tool does. However, among sibling tools like 'get_tls_asn1', it does not differentiate what specific TLS details are returned, so it lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The sibling list includes multiple TLS-related tools, but the description provides no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_top_tracking_keysGet Top Tracking KeysCRead-onlyIdempotentInspect
Get top tracking keys.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| tracker_type | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds no behavioral context beyond what the annotations provide, such as rate limits, required permissions, or what 'top' implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (4 words) but fails to provide sufficient information. It sacrifices informative content for brevity, making it under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the return value is covered. However, the description does not explain what 'top tracking keys' are or the purpose of filtering by tracker_type. It is minimally adequate but lacks completeness given the tool's context among many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does 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 or explain any parameters (limit, tracker_type). The meaning and effect of these parameters are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Get top tracking keys' which is a verb+resource, but it is extremely vague and does not distinguish this tool from many other get_* tools in the sibling list. The meaning of 'tracking keys' and 'top' is unclear without additional context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like search_tracking_key or other get_* tools. The description lacks any context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_yara_by_scanGet YARA By ScanCRead-onlyIdempotentInspect
Get YARA results for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and no destructiveness. Description adds no extra behavioral context beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, concise but effectively a tautology of the title. Lacks depth without being excessively verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With many siblings and no output schema details shown, description fails to provide sufficient context for correct usage. Does not mention prerequisites or relationship to scan.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. Description only mentions 'scan_id' generically but adds no format, example, or explanation of what scan_id refers to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Get YARA results for a scan_id' – a specific verb and resource. However, it does not differentiate from sibling tools like get_yara_matches, which could be confused.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., get_yara_matches, get_yara_stats). The description provides no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_yara_matchesGet YARA MatchesCRead-onlyIdempotentInspect
Get YARA matches for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, indicating safe, read-only behavior. The description adds no additional behavioral details beyond this, but it does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with a single sentence. While brevity is positive, it lacks essential contextual information that could be added without excessive length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has a simple single-parameter input and an output schema, the description could be more complete by explaining what YARA matches represent or the structure of the output. The presence of an output schema reduces but does not eliminate the need for additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does 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 purpose or format of the scan_id parameter beyond what the name implies. It lacks any details about how to obtain or format the scan_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves YARA matches for a given scan ID. It uses a specific verb and resource, and the name itself is self-explanatory. However, it does not distinguish itself from the sibling tool get_yara_by_scan, which may have a similar purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not specify when to use this tool over alternatives like get_yara_by_scan or get_yara_stats, nor does it indicate any prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_yara_statsGet YARA StatsBRead-onlyIdempotentInspect
Get YARA stats.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide read-only and idempotent hints. The description adds no new behavioral context beyond what annotations indicate, but does not contradict them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise at three words, front-loaded, with no wasted words. Earns its place for a tool with no parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is too vague; 'YARA stats' does not specify what type of stats or aggregation. Given the tool has an output schema, more context would be beneficial for agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so the description is adequately concise. Baseline 4 applies as per rubric for zero parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it gets YARA stats, using a specific verb and resource. However, it fails to differentiate from many sibling tools with similar 'get_*_stats' patterns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like get_analyzer_stats or get_clipboard_stats. The description lacks context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_js_differential_analysisRun JS Differential AnalysisCRead-onlyIdempotentInspect
Run JS differential analysis for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes | ||
| min_confidence | No | ||
| include_known_libraries | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=true false. The description adds no behavioral details beyond the name, such as side effects, rate limits, or what specifically happens during 'differential analysis'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise but lacks structure and detail. It is efficient but does not earn its place by adding value beyond the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and three parameters, the description is too brief. It does not explain the analysis process, expected results, or any caveats, making it incomplete for a tool with moderate complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the input schema has no descriptions. The tool description does not explain any parameter (e.g., what min_confidence or include_known_libraries do), leaving a significant gap for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does 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 ('JS differential analysis') tied to a scan_id. However, it does not explain what 'differential analysis' entails, leaving some ambiguity. It stands out among siblings as the only 'run' tool, but lacks differentiation from get_js* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, exclusions, or contexts where this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_ai_classificationSearch AI ClassificationCRead-onlyIdempotentInspect
Search AI scans by classification.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| classification | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a safe, read-only, idempotent operation. The description adds no behavioral context beyond what annotations provide, failing to disclose any additional traits such as pagination or response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly terse (5 words). While concise, it sacrifices necessary detail and fails to front-load critical information like parameter semantics or usage context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a required parameter with no explanation, and the description provides barely any context for an agent to use it effectively. Even with an output schema present, the lack of parameter documentation makes it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must explain the parameters. It does not mention 'limit' or 'classification', leaving the agent without understanding of acceptable values or formats for the required parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Search AI scans by classification.' and the tool name indicate the tool searches AI scans based on a classification. However, it does not specify what sort of classification or differentiate from related siblings like search_ai_high_risk or search_ai_scam_type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With multiple sibling tools for AI-related searches, the lack of usage direction makes it difficult for an agent to decide correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_ai_high_riskSearch AI High RiskDRead-onlyIdempotentInspect
Search AI high-risk scans.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| min_confidence | No | ||
| min_risk_score | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, destructiveHint. The description adds no further behavioral context, such as response format or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While short, the description is under-specified. It fails to convey necessary information, making it insufficient despite its brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has multiple parameters and an output schema, the description is critically incomplete. It does not enable an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description lacks any explanation of the three parameters (limit, min_confidence, min_risk_score). Their purpose and usage are entirely omitted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Search AI high-risk scans' barely adds to the tool name. It does not explain what 'high-risk' means or how this differs from sibling tools like 'search_ai_classification' or 'search_analyzer_high_risk'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. No context about prerequisites or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_ai_scam_typeSearch AI Scam TypeCRead-onlyIdempotentInspect
Search AI scans by scam type.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| scam_type | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, openWorldHint, idempotentHint, and destructiveHint (false), so the safety profile is clear. The description adds no further behavioral context beyond 'search', which is adequate but not improved by the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single-sentence description is front-loaded and concise, but it is so brief it lacks substantive content. It does not waste words, but it also does not earn its place with additional information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two parameters (one required, no schema descriptions) and a large set of sibling search tools, the description is incomplete. It does not explain what AI scans are, the output format (though output schema exists), or how to use the limit parameter. More detail is needed for proper selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the burden is on the description. It only mentions 'scam type' but does not explain the 'limit' parameter or provide any format or possible values for scam_type. This 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'search' and resource 'AI scans by scam type', making the basic purpose clear. However, it does not differentiate from sibling tools like search_ai_classification or search_ai_high_risk, which share similar intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool over alternatives, such as other search tools. 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.
search_analyzer_high_riskSearch Analyzer High RiskCRead-onlyIdempotentInspect
Search analyzer high-risk scans (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| min_risk_score | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds 'paginated' which is a behavioral trait not in annotations, but does not disclose other aspects like return format or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (10 words) and front-loaded with the action and resource. While efficient, it omits important details, making it borderline too terse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters and many siblings, the description lacks context on filtering, pagination behavior, and when to use. An output schema exists but does not compensate for missing usage guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning no parameter descriptions in schema. The description does not explain the purpose or usage of the three parameters (page, limit, min_risk_score), relying on self-explanatory names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for high-risk scans from the analyzer, with pagination indicated. It distinguishes from siblings like 'search_ai_high_risk' by the resource name, but does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does 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 versus alternatives, nor does it specify any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_by_asnSearch By ASNCRead-onlyIdempotentInspect
Search scans by ASN (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| asn_number | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so safety profile is clear. Description adds pagination behavior, but lacks details on rate limits, authentication, or result format. With annotations present, the description provides minimal added transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is very short (one sentence) and front-loaded, but it lacks sufficient detail to be fully informative. It is not wasteful, but it does not earn its place by adding significant value beyond the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with an output schema, the description is complete enough given the annotations. However, it does not explain pagination behavior (e.g., default page/limit, how results are ordered), leaving some gaps for agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 0% description coverage; the description does not mention any parameters or their meaning. The names asn_number, page, limit are self-explanatory but the description adds no value beyond the schema, which contradicts the low coverage requirement to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Search scans by ASN' with specific verb and resource, and mentions pagination. However, it does not differentiate from sibling tools like search_by_ip or search_by_jarm, which have similar patterns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, such as other search_by_* tools. No mention of prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_by_faviconSearch By FaviconCRead-onlyIdempotentInspect
Search scans by favicon hash (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| hash_type | No | mmh3 | |
| hash_value | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, non-destructive, and idempotent. The description adds the fact that results are paginated, which is useful but not critical. It does not disclose any additional behavioral traits beyond annotations, so the contribution is moderate. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 5-word sentence, very concise and front-loaded. However, for a tool with 4 parameters and an output schema, it may be too terse. It earns its place but could include more detail without harming conciseness. Overall, efficient but slightly under-specific.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, output schema exists), the description is incomplete. It fails to describe the output format, pagination behavior (e.g., total results, default page size), or the meaning of hash_type. Annotations cover safety but not usage specifics. The description does not provide a complete picture for an agent to use effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It mentions 'favicon hash' and 'paginated', but does not explain the parameters: 'hash_type' (mmh3 default), 'page', 'limit', or the required 'hash_value' format. This forces the agent to rely on parameter names alone, which is insufficient. The description adds minimal value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches scans by favicon hash and is paginated. The verb 'Search' and resource 'scans' are specific, and it correctly reflects the tool name. However, it does not differentiate from the sibling tool 'search_favicon_mmh3', which also uses favicon hash. The purpose is clear but lacks distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'search_favicon_mmh3' or other search tools. It mentions pagination implicitly but does not explain prerequisites or when not to use it. The absence of any usage context lowers the score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_by_fuzzy_hashSearch By Fuzzy HashCRead-onlyIdempotentInspect
Search scans by fuzzy hash (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| hash_type | Yes | ||
| hash_value | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, which already convey safety and idempotency. The description adds only 'paginated', which is minimal additional behavioral context. No mention of rate limits, error handling, or result format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise but overly sparse. It lacks necessary details and could be expanded with benefit to the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters (2 required) and an output schema, the description is insufficient. It does not explain what type of fuzzy hash is expected, how pagination works, or what the output contains. It is incomplete for effective agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, meaning no parameter descriptions in the schema. The description does not explain the parameters (hash_type, hash_value, page, limit) or their valid values. It 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search') and resource ('scans by fuzzy hash'), with a mention of pagination. It distinguishes itself from sibling tools like search_by_ip or search_by_favicon, though it could be more explicit about the scanning domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus its many siblings (e.g., search_scans, search_semantic). There is no mention of prerequisites or context of use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_by_ipSearch By IPARead-onlyIdempotentInspect
Search scans by IP address (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| ip_address | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and idempotentHint, confirming safety. The description adds 'paginated' as a behavioral trait. No contradictions; descriptive credit for the pagination note.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded, directly conveys the purpose, and has no extraneous words. Efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a low-complexity tool with output schema and annotations, the description is minimal but mentions pagination. However, it lacks details on IP format or usage context, leaving gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate. It only hints at pagination but does not explain ip_address format, page, or limit semantics. The parameters are self-explanatory, but the description adds little value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (search), resource (scans), and filter (by IP address), and mentions pagination. It easily distinguishes from siblings like search_by_asn or search_by_favicon.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for IP-based search but does not explicitly state when to use or provide alternatives. With many sibling search tools, more guidance would help an agent differentiate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_by_jarmSearch By JARMARead-onlyIdempotentInspect
Search scans by JARM signature (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| jarm_signature | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds 'paginated', a behavioral trait not captured by annotations. Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the description adds useful but limited additional transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is concise and front-loaded with the key action and resource, leaving no room for unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists (not shown), the description covers pagination and the search criterion. It does not describe return fields or iteration details, but for a straightforward search tool with good annotations, it is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only mentions 'JARM signature' and 'paginated', failing to explain the 'page' and 'limit' parameters or their constraints (e.g., max limit). The description adds minimal semantic value beyond parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the verb 'Search', the resource 'scans', and the parameter 'JARM signature', clearly distinguishing it from siblings like search_by_asn or search_by_ip.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for searching by JARM signature but does not provide when-not-to-use or alternative tools, leaving the agent to infer context 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.
search_by_nameserverSearch By NameserverBRead-onlyIdempotentInspect
Search scans by nameserver.
| Name | Required | Description | Default |
|---|---|---|---|
| nameserver | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is clear. The description adds no additional behavioral traits like pagination, rate limits, or response structure, but does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of four words that directly states the tool's purpose. There is no extraneous information, making it highly efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, output schema present, safe annotations), the description is minimally adequate. However, it could be improved by indicating whether the search covers all historical scans or just recent ones, and what fields are returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage for the sole parameter 'nameserver', the description should provide format expectations (e.g., domain name, IP string). It only mentions 'by nameserver' without elaboration, adding minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'search' and the resource 'scans' with a filter 'by nameserver', clearly distinguishing it from siblings like search_by_ip or search_by_asn. However, it lacks specificity about what type of scans are searched or what the result contains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as search_by_ip or search_by_registrar. There is no mention of prerequisites or exclusions, leaving the agent with no contextual decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_by_registrarSearch By RegistrarBRead-onlyIdempotentInspect
Search scans by registrar (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| registrar_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, etc., covering safety and idempotency. The description adds that results are paginated, which is useful but minimal. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded, but it is too brief to earn a higher score. It does not waste words, but leaves out important parameter details, making it only moderately effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low schema description coverage (0%) and 3 parameters, the description is inadequate. There is no explanation of pagination behavior or parameter semantics, though the output schema exists to cover return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the schema provides no parameter descriptions. The description only implies the 'registrar_name' parameter through the tool name, but does not explain 'page', 'limit', or the expected format of 'registrar_name'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search scans') and the specific resource ('by registrar'), with a pagination qualifier. It distinguishes this tool from siblings like search_by_asn, search_by_favicon, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives, nor does it mention prerequisites or exclusions. It simply states what it does.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_by_screenshot_hashSearch By Screenshot HashCRead-onlyIdempotentInspect
Search scans by screenshot hash (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| hash_type | Yes | ||
| hash_value | Yes | ||
| similarity_threshold | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, idempotentHint, openWorldHint, not destructive. Description adds 'paginated' behavior, which is useful. However, does not explain what happens with similarity_threshold or return details. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise and front-loaded, but under-specifies. Could include param details without becoming verbose. Not impressively efficient; bare minimum.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters and output schema, description is too sparse. Does not cover hash_type enum possibilities, threshold usage, or pagination details. Incomplete for a search tool with siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but description provides no param documentation. Does not explain hash_type, hash_value, or similarity_threshold parameters. Agents cannot infer valid values or constraints from description alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States clear verb 'search', resource 'scans', method 'by screenshot hash', and notes 'paginated'. Differentiates from siblings like search_by_favicon but lacks explicit distinction from search_similar_screenshots. Still specific and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. With many related search tools (e.g., search_similar_screenshots, search_by_favicon), the description should explain the use case for screenshot hash search. Missing prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_cpeSearch CPEARead-onlyIdempotentInspect
Search CPEs by pattern (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| cpe_pattern | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds value by specifying paginated behavior and pattern-based search. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the action and resource. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paginated search tool with three parameters and an output schema, the description lacks details on pagination behavior, pattern format, or how results are returned. The agent may need to guess parameter usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description should provide parameter context but fails to mention any parameter (cpe_pattern, page, limit). The schema provides type and defaults but no semantic meaning beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Search CPEs by pattern (paginated)' with a specific verb and resource. It distinguishes from sibling tools like search_scans or search_technologies by focusing on CPEs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives is provided. The description does not mention exclusions or when not to use it, leaving the agent to infer from the resource name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_favicon_mmh3Search Favicon MMH3ARead-onlyIdempotentInspect
Search favicon by mmh3 hash (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| mmh3_hash | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds the 'paginated' behavior but no other context (e.g., result ordering, rate limits). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the action and key features. Every word is necessary, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description does not need to detail return values. However, for a tool with many siblings and 3 parameters, it lacks context on how to obtain an mmh3 hash and how pagination behaves, making it somewhat incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It indicates that mmh3_hash is the search key and that pagination parameters (page, limit) exist. However, it does not explain the hash format or default values, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (search), the resource (favicon by mmh3 hash), and mentions pagination. This distinguishes it from siblings like search_by_favicon (likely image-based) and get_favicon (retrieval of specific favicon).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as search_by_favicon or other hash-based searches. The agent is left to infer usage from the tool name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_js_fingerprint_by_bundlerSearch JS Fingerprint By BundlerCRead-onlyIdempotentInspect
Search JS fingerprints by bundler type.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| per_page | No | ||
| bundler_type | Yes | ||
| bundle_format | No | ||
| min_confidence | No | ||
| include_libraries | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the description does not need to repeat that. However, it adds no further behavioral context (e.g., pagination behavior, handling of no results). With annotations present, this is acceptable but not additive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but at the expense of essential information. It front-loads the purpose but lacks detail for a tool with multiple parameters and siblings.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists, the description is too minimal to fully inform the agent. It does not define 'bundler type' or differentiate from the similarly named sibling tool 'search_jsfingerprints_by_bundler,' leaving gaps in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not explain any of the 6 parameters; schema description coverage is 0%. The agent must rely solely on parameter names and types, which is insufficient for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Search JS fingerprints by bundler type,' specifying a clear verb and resource. It distinguishes from similar sibling tools by identifying the filtering criterion (bundler type), though it could be more precise about what constitutes a 'bundler type.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the many similar search_js_fingerprint_by_* siblings, nor are there any prerequisites or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_js_fingerprint_by_cdnSearch JS Fingerprint By CDNCRead-onlyIdempotentInspect
Search JS fingerprints by CDN.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cdn_type | Yes | ||
| unpinned_only | No | ||
| cdn_cache_status | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already confirm read-only, idempotent, non-destructive behavior. The description adds no additional behavioral context (e.g., pagination, filtering behavior, data freshness) beyond the bare search action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with a single sentence, but it restates the tool title without adding new information. While not verbose, it does not earn its place by providing unique value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the existence of an output schema, the description fails to explain the four parameters (limit, unpinned_only, cdn_cache_status) or their roles. For a search tool with filter options, this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% (parameter titles have no descriptions) and the tool description does not mention any parameters. The agent must infer semantics from parameter names alone (e.g., 'cdn_type', 'limit'), which is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (search) and resource (JS fingerprints) with a filter criterion (by CDN), distinguishing it from siblings like search_js_fingerprint_by_library. However, it does not add value beyond the tool name, which is already descriptive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like search_js_fingerprint_by_md5 or search_js_fingerprint_by_server. The description lacks any contextual advice for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_js_fingerprint_by_fuzzy_hashSearch JS Fingerprint By Fuzzy HashCRead-onlyIdempotentInspect
Search JS fingerprints by fuzzy hash.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| fuzzy_hash | Yes | ||
| min_similarity | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint, openWorldHint, idempotentHint, destructiveHint, but the description adds no extra behavioral context such as rate limits, scope of search, or return behavior. With annotations, the bar is lower, but description fails to add value beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no redundant words. It is front-loaded with the action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters and an output schema, the description is too minimal. It does not explain what a fuzzy hash is, what the output contains, or how similarity works. Given the complexity, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage for parameters. The description only mentions 'fuzzy hash' but does not explain the meaning of limit or min_similarity. It 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Search JS fingerprints by fuzzy hash', which is a specific verb and resource. It distinguishes from sibling tools like search_js_fingerprint_by_md5 or search_js_fingerprint_by_sha1, which use different hash types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like search_jsfingerprints_by_fuzzy_hash or other search tools. It does not provide context for selecting this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_js_fingerprint_by_librarySearch JS Fingerprint By LibraryCRead-onlyIdempotentInspect
Search JS fingerprints by library name.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| version | No | ||
| per_page | No | ||
| library_name | Yes | ||
| min_confidence | No | ||
| version_pattern | No | ||
| include_cdn_only | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering safety. The description adds no behavioral context, such as pagination behavior or result ordering. It relies entirely on annotations for transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise (one short sentence), but under-specification reduces usefulness. The description is too sparse to be considered appropriately sized given the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite an output schema and multiple parameters, the description lacks information about output structure, usage context, or how it differs from siblings. It is incomplete for effective tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description only mentions 'library name' out of 7 parameters. It fails to explain the purpose of 'page', 'version', 'per_page', 'min_confidence', 'version_pattern', and 'include_cdn_only', leaving agent uninformed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states the verb 'search' and resource 'JS fingerprints' with key parameter 'library name'. It clearly indicates what the tool does. However, it lacks distinction from siblings like search_js_fingerprint_by_library_version, which also search by library-related fields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance provided on when to use this tool versus alternatives, such as searching by library version or bundler. The description does not help the agent choose correctly among many similar search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_js_fingerprint_by_library_versionSearch JS Fingerprint By Library VersionCRead-onlyIdempotentInspect
Search JS fingerprints by library version.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| library | Yes | ||
| version | Yes | ||
| group_by_url | No | ||
| include_deprecated | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, indicating safe, read-only, idempotent behavior. The description adds no additional behavioral context such as pagination, rate limits, or result size, providing no value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short (6 words), which is concise but at the expense of necessary information. It lacks critical details distinguishing it from siblings or clarifying parameters, making it under-specification rather than efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of 5 parameters and many sibling tools, the description is far too sparse. It does not explain result structure (though output schema exists), fail conditions, or appropriate contexts. Significant gaps remain for an agent to use this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does 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 meaning or format of any parameters. 'Library' and 'version' are mentioned but not detailed, and optional parameters like 'limit' or 'group_by_url' are completely ignored. The description fails to add any semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool searches JS fingerprints by library version, making the purpose clear. However, it does not differentiate from closely related sibling tools like search_js_fingerprint_by_library, which lacks the version filter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor are any exclusions or prerequisites mentioned. The description does not help an agent choose between similar search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_js_fingerprint_by_md5Search JS Fingerprint By MD5DRead-onlyIdempotentInspect
Search JS fingerprints by MD5 hash.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| to_date | No | ||
| from_date | No | ||
| hash_value | Yes | ||
| include_scans | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, so the safety profile is covered. However, the description adds no behavioral context beyond what annotations provide, such as pagination, return format, or any quota considerations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short (one sentence) but lacks essential information. It is under-specified rather than concise, failing to provide value in its limited space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters (1 required) and an output schema, the description is incomplete. It does not indicate what the tool returns or how to interpret results, leaving the agent with no actionable guidance beyond the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description does not explain any parameters. It does not mention that 'hash_value' is required, nor does it clarify the purpose of optional parameters like 'limit', 'from_date', 'to_date', or 'include_scans'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Search JS fingerprints by MD5 hash' essentially restates the tool name. It does not add meaning beyond what the title and name already convey, and fails to distinguish the tool from the nearly identical sibling 'search_jsfingerprints_by_md5'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs. alternatives. Many sibling tools exist, but the description provides no context for selection, such as required parameters or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_js_fingerprint_by_normalized_hashSearch JS Fingerprint By Normalized HashCRead-onlyIdempotentInspect
Search JS fingerprints by normalized hash.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| to_date | No | ||
| from_date | No | ||
| hash_value | Yes | ||
| include_scans | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds no behavioral context beyond stating the search function, such as pagination, result limits, or performance implications. With annotations present, the bar is lower, but the description doesn't add extra value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (single line), but it sacrifices informativeness for brevity. It does not earn each word because the name already implies the purpose. A few more details could improve without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters and many sibling tools for different hash searches, the description is incomplete. It lacks context on what a 'normalized hash' is, how it differs from other hash searches (md5, sha1, etc.), and any constraints like required format or behavior with multiple results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does 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 parameter meanings beyond what the schema provides. For example, 'hash_value' format, 'include_scans' usage, or date range behavior are omitted. The output schema exists but doesn't compensate for missing parameter explanations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search') and resource ('JS fingerprints') with the method ('by normalized hash'). However, the sibling 'search_jsfingerprints_by_normalized_hash' has a nearly identical name and purpose, and the description does not differentiate between them, reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No context about prerequisites, when not to use it, or which sibling tools to prefer for different hash types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_js_fingerprint_by_serverSearch JS Fingerprint By ServerCRead-onlyIdempotentInspect
Search JS fingerprints by server type.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| server_type | Yes | ||
| include_headers | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond what annotations already convey (read-only, idempotent, non-destructive). It does not disclose pagination, rate limits, or the scope of results, leaving the agent uninformed about runtime behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no verbosity. However, its brevity sacrifices necessary detail; it is not a model of efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (3 parameters, many siblings, output schema exists), the description is insufficient. It omits parameter explanations, usage context, and return value details, relying too heavily on external schema and annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description should compensate but does not. It fails to explain the meaning of server_type, limit, or include_headers, forcing the agent to rely solely on parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: searching JS fingerprints filtered by server type. This specific verb+resource combination distinguishes it from numerous sibling tools like search_js_fingerprint_by_library or search_js_fingerprint_by_bundler.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention any prerequisites, context for server type, or comparison with other fingerprint search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_js_fingerprint_by_sha1Search JS Fingerprint By SHA1CRead-onlyIdempotentInspect
Search JS fingerprints by SHA1 hash.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| to_date | No | ||
| from_date | No | ||
| hash_value | Yes | ||
| include_scans | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and nondestructive. The description adds no behavioral context such as result set characteristics, pagination, or interactions with other parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, but it sacrifices necessary details for brevity, making it under-informative for correct invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description fails to explain the tool's behavior—e.g., exact hash match, filtering by date, result limiting. Among many similar sibling tools, this lack of detail increases ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description only mentions 'by SHA1 hash', corresponding to the required hash_value parameter. No explanation of limit, date range, or include_scans, which are critical for effective search.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (search), resource (JS fingerprints), and criterion (SHA1 hash). However, it does not distinguish from siblings like search_js_fingerprint_by_sha256, which have identical phrasing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs. alternatives. No mention of exact match behavior, limitations, or preferred use cases, leaving agents to guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_js_fingerprint_by_sha256Search JS Fingerprint By SHA256CRead-onlyIdempotentInspect
Search JS fingerprints by SHA256 hash.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| to_date | No | ||
| from_date | No | ||
| hash_value | Yes | ||
| include_scans | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false, so the agent knows it is a safe read. The description adds no further behavioral context such as return format, pagination, or exact match behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no unnecessary words. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters and an output schema, the description is too minimal. It fails to explain filtering options (limit, dates) or what the output contains, lacking completeness for a search operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain parameters. It only implies 'hash_value' but does not describe limit, dates, or include_scans, leaving the agent with no guidance on parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'search', the resource 'JS fingerprints', and the method 'by SHA256 hash', distinguishing it from siblings that search by other hashes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like search_js_fingerprint_by_md5 or get_jsfingerprint. No when-not or context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_js_fingerprinter2_composite_hashSearch JS Fingerprinter2 Composite HashCRead-onlyIdempotentInspect
Search JS Fingerprinter2 by composite hash.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| composite_hash | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint, openWorldHint, idempotentHint, destructiveHint) already indicate safe, read-only, idempotent behavior. The description adds no further behavioral context (e.g., rate limits, response format). It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no fluff. However, it is too short to provide valuable context, and could be expanded to include key details without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 2 parameters, 0% schema coverage, and no description of output (though output schema exists), the description omits important context like what results look like, how to interpret the composite hash, or default limit behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description should explain parameter meaning. It only hints at 'composite hash' for the required parameter, but does not describe the 'limit' parameter or the expected format of the composite hash. Minimal added value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Search JS Fingerprinter2 by composite hash', clearly identifying the verb (Search) and resource (JS Fingerprinter2) with a specific parameter. However, it does not differentiate from sibling tools like search_js_fingerprinter2_signature or search_js_fingerprinter2_similar, which also search by hash or signature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., other JS Fingerprinter2 search tools). There is no mention of prerequisites, context, 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.
search_js_fingerprinter2_signatureSearch JS Fingerprinter2 SignatureCRead-onlyIdempotentInspect
Search JS Fingerprinter2 by signature.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| signature | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, etc. Description adds no additional behavioral context. It is consistent but not informative beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. However, it is so short that it sacrifices informativeness for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the number of sibling tools and parameters, the description is too minimal. Even with an output schema, more context on the search mechanism and parameter usage is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%; description does not explain the 'signature' parameter format or the 'limit' parameter. Only 'by signature' is mentioned, which is insufficient for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses verb 'search' and specifies resource 'JS Fingerprinter2' by 'signature', clearly indicating what it does. However, it does not differentiate from sibling tools like search_js_fingerprinter2_composite_hash or search_js_fingerprinter2_similar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. With many sibling search tools, the agent lacks context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_js_fingerprinter2_similarSearch JS Fingerprinter2 SimilarCRead-onlyIdempotentInspect
Search JS Fingerprinter2 similar scans.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| scan_id | Yes | ||
| include_self | No | ||
| min_similarity | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and idempotentHint=true, so the description adds no further behavioral context. It does not mention any return format, pagination, or ordering beyond what the annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one phrase) but lacks structure and essential information. It is under-specified rather than efficiently concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description omits key context such as the relationship between scan_id and the search results. With 4 parameters and no descriptions, the tool is not adequately defined for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does 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 4 parameters (scan_id, limit, include_self, min_similarity). The agent receives no guidance on parameter meaning or usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it searches for similar scans related to JS Fingerprinter2, but it does not explicitly clarify that it takes a scan_id to find scans similar to that scan. It is not a tautology and distinguishes from other search tools by name, but lacks specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus other similar search tools (e.g., search_similar_scans, search_js_fingerprint_by_*). There are no exclusions or context provided, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_js_fingerprint_obfuscatedSearch JS Fingerprint ObfuscatedCRead-onlyIdempotentInspect
Search obfuscated JS fingerprints.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| per_page | No | ||
| max_score | No | ||
| min_score | No | ||
| classification | No | ||
| min_code_length | No | ||
| exclude_libraries | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the agent knows it is a safe read operation. The description adds no additional behavioral context, such as pagination or filtering behavior, but since annotations cover safety, the description is adequate but not enriching.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with a single sentence. It is front-loaded but lacks any structural elements like bullet points. While brevity is valued, it is borderline too terse given the complexity of the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 7 parameters and many sibling tools, the description is incomplete. It does not explain what an obfuscated JS fingerprint is, how to use the filtering parameters, or appropriate use cases. Output schema exists but does not compensate for missing contextual guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds no value for parameter semantics. It does not explain any of the 7 parameters. Parameter names (e.g., max_score, classification) give some hints, but the description should compensate by at least listing or summarizing key parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Search obfuscated JS fingerprints' clearly states the verb (search) and the resource (obfuscated JS fingerprints). It distinguishes from many sibling search tools that target non-obfuscated fingerprints, but it does not differentiate from the similar tool 'search_js_obfuscation'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives like 'search_js_obfuscation' or other fingerprint search tools. There is no guidance on context or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_js_fingerprint_patternsSearch JS Fingerprint PatternsCRead-onlyIdempotentInspect
Search JS fingerprints by patterns.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| has_eval | No | ||
| has_crypto | No | ||
| no_library | No | ||
| cdn_mismatch | No | ||
| high_entropy | No | ||
| has_websocket | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds little beyond annotations. It does not explain what 'JS fingerprints' are, how boolean filters combine (AND/OR), or if results are paginated. Annotations declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, so the operation is safe, but the description should clarify what the tool actually returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only one sentence, which is concise, but it is too brief to be useful. It sacrifices clarity for brevity, missing essential details about the tool's functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 unannotated parameters, many sibling tools, and an output schema not shown, the description is incomplete. It does not explain the 'pattern' search concept, how to use the filters, or what results to expect, leaving the agent with insufficient information to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description gives no explanation of what each boolean parameter means (e.g., 'no_library' is ambiguous, 'cdn_mismatch' and 'high_entropy' are unclear). The agent must rely solely on parameter names, which are insufficient for some parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Search JS fingerprints by patterns' is vague. 'Patterns' is not defined; the input schema has boolean filters, not pattern strings. This does not distinguish the tool from siblings like search_js_fingerprint_by_library or search_js_fingerprint_by_md5, which have more specific search criteria.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the many sibling search tools. There is no mention of scenarios where boolean filtering is appropriate, nor any comparison to alternatives such as hash-based searches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_jsfingerprints_by_bundlerSearch JS Fingerprints By BundlerBRead-onlyIdempotentInspect
Search JS fingerprints by bundler (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| bundler | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds the pagination behavior, which is a useful behavioral trait beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that efficiently conveys the tool's purpose and pagination feature. It is appropriately sized for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature of the tool and the presence of comprehensive annotations and an output schema, the description is adequate but minimal. It covers the main functionality and pagination but lacks additional context about the resource or output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only implies bundler is the filter and that limit/offset control pagination, but does not explain what 'bundler' means or provide further semantics for the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Search' and resource 'JS fingerprints' with filter 'by bundler'. However, it does not differentiate from a sibling tool 'search_js_fingerprint_by_bundler' (singular vs plural), which could cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when filtering by bundler and mentions pagination, but provides no guidance on when not to use this tool or alternatives (e.g., other search tools).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_jsfingerprints_by_fuzzy_hashSearch JS Fingerprints By Fuzzy HashCRead-onlyIdempotentInspect
Search JS fingerprints by fuzzy hash (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| fuzzy_hash | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds only 'paginated', which is already implied by the limit/offset parameters. No extra behavioral insights (e.g., rate limits, result characteristics) are provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly terse (one sentence, 7 words). While brevity is valued, it omits critical details that a slightly longer description could provide. It does not earn its place since it adds minimal value over the name and schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters (1 required), many siblings, and no parameter documentation, the description is incomplete. It fails to explain the input format, pagination behavior, or output. Although an output schema exists, the description does not reference it or set expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does 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 3 parameters: 'fuzzy_hash', 'limit', 'offset'. The agent cannot infer the meaning or format of the fuzzy hash or how pagination works, leaving significant ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'search', the resource 'JS fingerprints', and the method 'by fuzzy hash'. It also mentions pagination. However, it does not explicitly distinguish this tool from very similar siblings like 'search_js_fingerprint_by_fuzzy_hash' or 'search_by_fuzzy_hash', lacking differentiation cues.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. No context about prerequisites, exclusions, or typical use cases is given. It simply states the action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_jsfingerprints_by_librarySearch JS Fingerprints By LibraryBRead-onlyIdempotentInspect
Search JS fingerprints by library (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| library | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint. Description adds 'paginated' which provides some behavioral context but doesn't explain pagination details (default limit, offset usage). With annotations covering safety, description adds marginal value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words. It is front-loaded with the core action. However, it is extremely brief and could have included more useful information without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given 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 too minimal. It fails to explain the required parameter library, the purpose of limit/offset, and does not provide enough context for an agent to use the tool correctly in complex workflows.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and description does not explain any parameters. It only implies 'library' is the filter but does not describe limit or offset. Parameters are left entirely to the schema, which lacks descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb (Search), resource (JS fingerprints), and filter (by library). The title reinforces this. It distinguishes from sibling tools that search by other keys like md5, sha1, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as search_jsfingerprints_by_md5 or search_jsfingerprints_by_library_version. Sibling list includes many similar search tools, but description does not help agent choose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_jsfingerprints_by_library_versionSearch JS Fingerprints By Library VersionCRead-onlyIdempotentInspect
Search JS fingerprints by library version (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| library | Yes | ||
| version | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, making the safety profile clear. The description adds the behavioral detail that results are paginated, which is useful but not extensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded, consisting of a single sentence. It is concise and avoids redundancy, but it could benefit from slightly more detail without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 4 parameters (2 required) and an output schema. The description covers the required parameters only implicitly and ignores the pagination parameters (limit, offset). With no parameter descriptions in the schema, the description should provide more context for these parameters to ensure proper usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must compensate. It mentions 'by library version,' which implies the library and version parameters are the search criteria, but it does not explain the limit and offset parameters or the expected formats for library and version. This adds only marginal value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches JS fingerprints by library version, which is a specific action on a specific resource. However, there is a sibling tool with a nearly identical name ('search_js_fingerprint_by_library_version'), and the description does not differentiate between them, slightly reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention when not to use it, prerequisites, or the relationship to similar search tools like search_jsfingerprints_by_library.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_jsfingerprints_by_md5Search JS Fingerprints By MD5BRead-onlyIdempotentInspect
Search JS fingerprints by MD5 (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| hash_value | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safety profile is clear. The description adds only 'paginated', which is a useful behavioral trait beyond what annotations provide. No other behavioral details are given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (one sentence) but omits necessary detail. It is not overly verbose, but it sacrifices completeness for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with an output schema, the description should explain what is returned or how pagination works. Only 'paginated' is mentioned, which is insufficient for an agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% (no descriptions in schema), yet the description adds no parameter details beyond implying 'hash_value' is an MD5 hash. Format, length, or usage of limit/offset are not explained. 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Search', the resource 'JS fingerprints', and the method 'by MD5'. It also notes pagination, distinguishing it from sibling tools that search by other hashes like SHA1 or SHA256.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., other hash searches). The description does not mention context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_jsfingerprints_by_normalized_hashSearch JS Fingerprints By Normalized HashBRead-onlyIdempotentInspect
Search JS fingerprints by normalized hash (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| hash_value | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive. The description adds 'paginated' which is a behavioral trait beyond annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence concisely states purpose and key feature (paginated). No redundancy, front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, description does not need to detail return values. It covers the essential search method and pagination, which is adequate for a simple lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but description only implicitly explains parameters: 'by normalized hash' for hash_value, 'paginated' hints limit/offset. No explicit parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches JS fingerprints by normalized hash and mentions pagination. It is specific enough to distinguish from many sibling tools, though it does not explicitly differentiate from similar search_js_fingerprint_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., search_js_fingerprint_by_normalized_hash). It does not specify 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.
search_jsfingerprints_by_sha1Search JS Fingerprints By SHA1BRead-onlyIdempotentInspect
Search JS fingerprints by SHA1 (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| hash_value | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. The description adds 'paginated' but this is already implied by the limit/offset parameters. No additional behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given 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 context about pagination mechanics, result structure, or typical usage. Too minimal for a search tool with 3 parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description must compensate. It only mentions 'SHA1' and 'paginated', not explaining format of hash_value, meaning of limit/offset, or defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool searches JS fingerprints by SHA1 and is paginated. However, it does not distinguish from other similar search tools by hash type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance provided on when to use this tool vs alternatives like search_js_fingerprint_by_md5 or search_jsfingerprints_by_sha256.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_jsfingerprints_by_sha256Search JS Fingerprints By SHA256BRead-onlyIdempotentInspect
Search JS fingerprints by SHA256 (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| hash_value | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds the 'paginated' trait, which is a behavioral detail beyond annotations, but does not explain pagination mechanics or other side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that immediately conveys the core action. It is well-structured and front-loaded, though it omits useful details that could be added without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists (though not shown), the description does not need to detail return values. However, it fails to explain how pagination works (e.g., how to use limit/offset) or the scope of results, which is incomplete for a search tool with multiple parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does not explain the format of 'hash_value' (e.g., hex length), or the meaning of 'limit' and 'offset'. The description adds no parameter-level detail beyond the schema's property names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Search'), the resource ('JS fingerprints'), and the search criterion ('by SHA256'). It also notes pagination, which differentiates it from similar tools like 'search_js_fingerprint_by_sha1'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as 'search_jsfingerprints_by_md5' or 'search_jsfingerprints_by_sha1'. It does not define the context or prerequisites for searching by SHA256.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_js_malware_familiesSearch JS Malware FamiliesCRead-onlyIdempotentInspect
Search JS malware families.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| min_cluster_size | No | ||
| similarity_threshold | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, destructiveHint. Description adds no behavioral context beyond what annotations provide, such as pagination or result format. No additional transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short (one sentence), but lacks necessary detail. Not concise in a useful way; it is underspecified. Every sentence should add value, but this one barely does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 parameters, no schema descriptions, and an output schema (but no explanation), the description is wholly inadequate. Does not explain what a 'malware family' is, how search results are structured, or clustering behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 3 parameters (limit, min_cluster_size, similarity_threshold) with 0% description coverage. Description does not explain any parameter meaning or usage. The agent cannot infer semantics from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Search JS malware families', which is a verb+resource but very generic. It does not differentiate from numerous sibling search tools like search_js_fingerprint_by_md5 or search_ai_classification. The purpose is somewhat clear but lacks specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. There are many search tools in siblings, and the description fails to indicate scenarios where this search is appropriate or not.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_js_obfuscationSearch JS ObfuscationCRead-onlyIdempotentInspect
Search JS obfuscation signals.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| has_eval | No | ||
| risk_level | No | ||
| min_risk_score | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description adds minimal behavioral context. It does not mention expected result structure, pagination, or any side effects beyond the implicit search action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but overly minimal. It lacks sufficient detail to be informative, falling short of earning its place through substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with four parameters, zero required, and no schema descriptions, the description is woefully incomplete. It does not explain the purpose of parameters or the nature of results, leaving the agent with insufficient context for proper selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does 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 four parameters (limit, has_eval, risk_level, min_risk_score). The description fails to add meaning beyond the schema field names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for JS obfuscation signals. The name and title align. However, it does not explicitly differentiate from similar sibling tools like search_js_fingerprint_obfuscated, leaving some ambiguity about the exact scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of context, prerequisites, or when not to use it, which is a significant gap given the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_js_segments_by_hashSearch JS Segments By HashCRead-onlyIdempotentInspect
Search JS segments by code hash.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| code_hash | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the description's 'Search' is consistent but adds no new behavioral context (e.g., pagination behavior, return format, or rate limits). It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise (5 words), but this brevity sacrifices essential information. While succinct, it lacks structure and fails to front-load key details beyond the verb and object.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters (1 required) and an output schema, the description should explain pagination, hash format, and relationship to sibling tools. The current description is insufficient for an AI agent to reliably select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description bears full responsibility for explaining parameters, but it only mentions 'code hash', ignoring 'limit' and 'offset'. No details on required format, default values, or purpose of pagination parameters. This severely hinders correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Search' and resource 'JS segments' by 'code hash', indicating a specific search by hash value. However, it does not differentiate from sibling tools like 'search_js_segments_by_normalized_hash' which use different hash types, missing an opportunity to specify the hash algorithm (e.g., SHA-256).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the many sibling search tools, such as 'find_js_fingerprint_similar_by_hash' or 'search_js_segments_by_normalized_hash'. The description does not mention prerequisites, limitations, or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_js_segments_by_normalized_hashSearch JS Segments By Normalized HashCRead-onlyIdempotentInspect
Search JS segments by normalized hash.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| normalized_hash | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds no behavioral context beyond what annotations already convey. No mention of pagination, error handling, or output format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, extremely concise. It front-loads the action and resource. However, it may be too brief to be fully helpful, but it earns points for lack of fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool set with many similar sibling tools and the presence of an output schema, the description is inadequate. It does not explain what JS segments are, the meaning of normalized hash, or how results are structured. Output schema is present but not referenced.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only mentions 'normalized hash' without explaining the parameter's format or purpose. The limit and offset parameters are completely unexplained. The description fails to add meaning beyond the schema structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Search' and resource 'JS segments' with the specific key 'by normalized hash'. It distinguishes from sibling tools that search JS segments by other criteria like by_hash. However, it does not elaborate on what constitutes a 'JS segment' or the nature of results.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. There is no mention of prerequisites, when-not to use, or explicit alternatives among the many sibling search tools. The description provides no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_ocrSearch OCRCRead-onlyIdempotentInspect
Search OCR text (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | ||
| page | No | ||
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description adds the pagination detail, which is useful. However, it does not describe return format or that it returns OCR text fragments.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (4 words), which is efficient but sacrifices needed detail. It is front-loaded with the core purpose, but every sentence should earn its place; here, more value could be added in the same space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists, the description lacks parameter guidance and usage context. Given the complexity of searching OCR text and the large sibling set, this minimal description is insufficient for an agent to fully understand the tool's scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description does not explain any parameters (q, page, limit). It adds no meaning beyond the raw schema, which is inadequate for a 3-parameter tool with a required query string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Search OCR text (paginated)' clearly states the verb (search) and resource (OCR text), and hints at pagination. It distinguishes from the sibling tool 'search_ocr_pattern' by focusing on general OCR text rather than specific patterns, though it could be more explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the many sibling search tools like search_ocr_pattern or search_scans. The description lacks context on preferred 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.
search_ocr_patternSearch OCR PatternCRead-onlyIdempotentInspect
Search OCR by pattern (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| pattern | Yes | ||
| case_sensitive | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint, openWorldHint, idempotentHint, destructiveHint) already convey the tool is a safe, idempotent read operation. The description adds the 'paginated' behavior, which is partially redundant with the pagination parameters. No additional traits about return format, rate limits, or result guarantees are disclosed, but annotations cover the essential safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no fluff. However, it is too brief, sacrificing completeness for brevity. It could include more detail without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema (not shown), the description lacks essential context about parameter behavior and result interpretation. With 0% schema coverage, the description should compensate but fails to explain pagination mechanics, pattern syntax, or default values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain parameter meanings. It only hints that 'pattern' is the search term but does not specify its format (plain text, regex), the role of 'page', 'limit', or 'case_sensitive'. The agent is left without crucial semantics for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Search OCR by pattern (paginated)' clearly indicates the tool performs a search on OCR data using a pattern and returns paginated results. It distinguishes from sibling tools like 'search_ocr' by specifying the pattern parameter, but it does not clarify what 'pattern' means (e.g., regex, substring).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'search_ocr' or other search tools. There is no mention of when not to use it or prerequisites, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_scansSearch ScansCRead-onlyIdempotentInspect
Search scans (q must be at least 3 characters).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | ||
| page | No | ||
| limit | No | ||
| search_type | No | all |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the tool is read-only, idempotent, and non-destructive. The description adds the constraint that 'q' must be at least 3 characters, providing a behavioral detail beyond annotations. However, it does not disclose other traits like pagination behavior or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, making it concise and front-loaded. However, it lacks structure and misses the opportunity to list key parameters or usage notes. The brevity comes at the cost of informativeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's 4 parameters (with no schema descriptions) and the existence of an output schema, the description is insufficient. It does not explain the purpose of parameters, search types, or how results are paginated. The description is incomplete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 4 parameters with no descriptions (0% coverage). The description only addresses 'q' with a length constraint but does not explain its meaning, nor does it explain 'page', 'limit', or 'search_type'. 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as searching scans, which is a clear verb+resource. However, it does not distinguish from siblings like search_similar_scans or search_by_ip, leaving ambiguity about what kind of scans are being searched.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage guidance is that the query 'q' must be at least 3 characters. There is no information on when to use this tool versus alternatives (e.g., search_by_ip, search_similar_scans) or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_semanticSearch SemanticCRead-onlyIdempotentInspect
Semantic search over scans (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| query | Yes | ||
| threshold | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds only 'paginated,' which is evident from the schema. It fails to disclose what 'semantic' means operationally or how threshold affects results, leaving behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at 4 words, front-loading key information. Every word serves a purpose, but the brevity sacrifices completeness. It is structured well for quick parsing but could benefit from additional detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of semantic search with parameters like threshold and an output schema, the description is too sparse. It lacks context on query semantics, result ordering, or similarity scoring. The presence of an output schema mitigates return format gaps, but the description still feels incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must explain parameters. It does not. The threshold parameter lacks any semantic explanation (e.g., relevance cutoff), and the query parameter's expected format or scope is unspecified. Only pagination is implied by 'paginated.'
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it performs semantic search over scans and is paginated. However, it does not differentiate from sibling search tools like search_scans or search_similar_scans, which may also return scan results. The term 'semantic' suggests natural language queries, but this is not explicitly clarified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not indicate when to prefer this tool over alternatives, such as using search_scans for exact matches or search_similar_scans for similarity to an existing scan. This leaves the agent without context for appropriate invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_similar_scansSearch Similar ScansARead-onlyIdempotentInspect
Search for scans similar to a scan_id (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| methods | No | ||
| scan_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and nondestructive behavior. The description adds the pagination aspect, which is not covered by annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no unnecessary words. It efficiently conveys the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with an output schema, the description is adequate but lacks details on return format or how pagination works in practice. It does not mention that results are probably a list of scan IDs or partial data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does 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 parameters. The 'methods' parameter is ambiguous, and no help is provided for how to use page/limit beyond their defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for scans similar to a given scan_id and mentions pagination. It is distinct from siblings like search_scans (general search) and search_similar_screenshots (screenshot-based).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like search_scans or search_semantic. The description does not mention prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_similar_screenshotsSearch Similar ScreenshotsCRead-onlyIdempotentInspect
Search for similar screenshots by hash.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| hash_type | No | phash | |
| hash_value | Yes | ||
| max_distance | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, which provide safety profile. The description adds minimal behavioral context (e.g., does not explain how similarity is computed or that it uses distance thresholds). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise and front-loaded with the core action. However, given the tool's complexity (4 parameters), a slightly longer description that elaborates on key parameters without verbosity would maintain conciseness while improving clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description fails to explain the similarity mechanism (perceptual hash with distance threshold) and differentiation from siblings. The parameters lack explanation, and the tool's nuances (hash_type, max_distance) are omitted, making the description insufficient for complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage for 4 parameters (limit, hash_type, hash_value, max_distance). The description only mentions 'by hash' but does not explain hash_type (default phash) or max_distance (similarity threshold), leaving the agent to infer meaning from names alone. Significant gap in parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Search for similar screenshots by hash,' specifying verb, resource, and method. It distinguishes from sibling 'search_by_screenshot_hash' (exact match) by implying similarity. However, it does not explicitly mention that similarity is based on perceptual hashing (phash), leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'search_by_screenshot_hash' or 'search_similar_scans'. The description does not specify prerequisites, exclusions, or when not to use the tool, leaving the agent without contextual decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_suspicious_clipboardSearch Suspicious ClipboardBRead-onlyIdempotentInspect
Search suspicious clipboard indicators (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| pattern | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the pagination behavior, which is beyond annotations. However, it does not disclose additional behaviors like rate limits or data freshness, so the contribution is limited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, front-loading the key action and resource. However, it is too terse, sacrificing needed parameter context for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 0% schema coverage and three parameters, the description should explain the purpose of 'pattern' and the pagination limits. The presence of an output schema helps, but the description is insufficient for an agent to use the tool correctly without external knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description fails to explain any parameter. 'pattern' is left undefined, and 'page'/'limit' are only implied through 'paginated'. The description adds no meaningful semantics beyond the schema's type and default values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the verb 'Search' and the resource 'suspicious clipboard indicators', and includes 'paginated' to indicate behavior. This clearly distinguishes it from sibling search tools that target other indicators (e.g., OCR, JS fingerprints).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any context or exclusions. The description does not mention prerequisites or when not to use it, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_technologiesSearch TechnologiesCRead-onlyIdempotentInspect
Search technologies (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| page | No | ||
| limit | No | ||
| category | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description adds the pagination behavior. No contradictions. It does not disclose other potential traits like rate limits or authentication needs, but the core safety profile is covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (one sentence). It is front-loaded with the key action, but it lacks any structure or detail. While brevity is good, it may be too sparse to be fully useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema and annotations, the description is minimal. It does not define what 'technologies' means in this context, nor does it explain how the parameters affect results. For a tool with 4 parameters and many siblings, this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description should explain the parameters. It only says 'Search technologies (paginated).' No meaning is added for q, page, limit, or category. This is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches technologies with pagination. The verb 'search' and resource 'technologies' are explicit. However, it does not differentiate from many sibling search tools that also search different resources, but the purpose is still clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not indicate when to use this tool over alternatives like search_semantic or get_technologies_by_scan. An agent would have to infer 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.
search_tracking_keySearch Tracking KeyCRead-onlyIdempotentInspect
Search by tracking key (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | ||
| page | No | ||
| sort | No | ||
| limit | No | ||
| tracker_type | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds 'paginated' behavior beyond the annotations, which state readOnly, idempotent, non-destructive. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no fluff. Could be expanded slightly, but very concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters and 0% schema coverage, the description is insufficient to understand how to use the tool properly. Output schema exists but explanation of return values is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description fails to explain the meaning or usage of parameters like 'tracker_type', 'key', 'page', 'sort', 'limit'. Only 'tracking key' is implied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as searching by tracking key with pagination. The name is distinctive among many search tools, though it doesn't explicitly differentiate from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_scanSubmit ScanDInspect
Submit a URL for scanning.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| options | No | ||
| scan_type | No | public | |
| user_agent | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral details beyond the annotations. It fails to disclose whether the scan is asynchronous, what happens upon submission, or any side effects. Given the presence of annotations that only hint at non-readonly and non-destructive nature, more context is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is too vague to be useful. It sacrifices necessary detail at the expense of brevity, making it under-specified rather than concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, required input, and an output schema, the description is completely inadequate. It does not explain the return value, side effects, or how it fits with sibling tools, leaving a significant information gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description should explain parameter meanings. It provides none, leaving the agent to guess the purpose of 'options', 'scan_type', and 'user_agent', and valid values for scan_type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Submit a URL for scanning' is generic and does not distinguish this tool from siblings like 'submit_scan_report'. It merely restates the tool's name and action, lacking specificity about the scanning context or scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, prerequisites, rate limits, or expected behavior. The agent receives no decision-support information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_scan_reportSubmit Scan ReportCInspect
Submit a scan report.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes | ||
| x_real_ip | No | ||
| user_agent | No | ||
| report_type | Yes | ||
| skip_captcha | No | ||
| captcha_token | No | ||
| captcha_answer | No | ||
| report_details | No | ||
| x_forwarded_for | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint: false and destructiveHint: false, but the description adds no behavioral context beyond the label 'submit'. Side effects, triggers, or dependencies are not disclosed, so the agent cannot assess impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (4 words) but fails to convey essential information. Every sentence should earn its place; this one does not because it does not add value beyond the title. It sacrifices substance for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (9 parameters, 0% schema coverage) and the presence of an output schema, the description is grossly inadequate. It lacks any explanation of the submission process, expected outcomes, or relation to other tools, making it nearly useless for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 9 parameters with 0% schema description coverage, and the description itself provides no information about any parameter. The agent has no understanding of what 'scan_id', 'report_type', 'captcha_token', etc., represent or how they should be used.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Submit a scan report' is a verb+resource but is very vague. It does not differentiate from other report-related tools like get_scan_reports, and it lacks context about what submitting entails. While not a tautology, it is too generic to clearly convey the tool's specific purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs. alternatives (e.g., submit_scan, get_scan_reports). There is no mention of prerequisites, context, or exclusions, leaving the agent without decision-making criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wait_for_scanWait For ScanBRead-onlyIdempotentInspect
Poll until a scan reaches a terminal status, returning the final summary.
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes | ||
| timeout_s | No | ||
| poll_interval_s | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds little beyond 'poll until terminal status'—it does not elaborate on timeout or poll interval behavior, or what happens on timeout. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—one sentence with no wasted words. It front-loads the core purpose. However, given the lack of parameter descriptions, it is perhaps too brief and could be improved without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return value details are not needed, but the tool has three parameters with zero schema description coverage. The description fails to compensate by explaining parameters like scan_id, timeout_s, or poll_interval_s. For a polling tool with a timeout, the agent needs to know behavior when no terminal status is reached. Incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning no parameter descriptions exist in the schema. The description does not explain any parameter (scan_id, timeout_s, poll_interval_s) beyond implying a scan identifier. This forces the agent to infer meaning from names alone, which is insufficient for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to poll until a scan reaches a terminal status and return the final summary. The verb 'poll' and the resource 'scan' are specific, and the tool distinguishes itself from siblings like 'get_scan_result' or 'get_scan_progress' which are for fetching static data 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when needing to wait for a scan to finish, but it lacks explicit guidance on when to use this tool versus alternatives (e.g., 'get_scan_result' for already complete scans, 'get_scan_progress' for non-blocking updates). No exclusions or when-not-to-use are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Your Connectors
Sign in to create a connector for this server.