Get JS Segments By Scan
get_js_segments_by_scanGet JS segments for a scan_id.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| scan_id | Yes | ||
| script_url | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
get_js_segments_by_scanGet JS segments for a scan_id.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| scan_id | Yes | ||
| script_url | No |
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the safety profile is covered. However, the description adds no extra behavioral context such as pagination behavior, return format, or relationship to other segment-related endpoints. It merely restates what the schema already 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 very concise and front-loaded, with no unnecessary words. The single sentence efficiently conveys the core function, though it sacrifices detail that is captured in other dimensions.
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 number of sibling tools and the presence of multiple parameters, the description is too sparse to support confident tool selection and correct invocation. It does not explain pagination, script_url filtering, or why this tool should be used over similar segment retrieval tools. The output schema helps with return values, but not with usage 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 only mentions scan_id. It leaves limit, offset, and script_url without any explanation of their purpose or role. With such low coverage, the description should compensate, but it 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 identifies the operation as 'Get' and the resource as 'JS segments', scoped by scan_id. However, it does not explicitly distinguish this tool from related siblings like get_js_segments_suspicious or search_js_segments_by_hash, though the scan_id scope provides some 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. The description simply states what the tool does without mentioning exclusions, prerequisites, or related tools that might be more appropriate in certain scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Many tools overlap in purpose, particularly the JS fingerprint search functions (e.g., search_js_fingerprint_by_md5 and search_jsfingerprints_by_md5) which are nearly identical. The large number of get_* and search_* tools for various statistics also creates boundary ambiguity.
The verb_noun pattern is mostly followed, but there are significant inconsistencies: 'jsfingerprints' vs 'js_fingerprints' vs 'js_fingerprint', and the occasional use of 'find' instead of 'search' (e.g., find_js_fingerprint_similar_by_hash). This mixed style makes it hard to predict tool names.
With 128 tools, the server is severely over-scoped. Many tools could be combined (e.g., all search_jsfingerprints_by_* variants) or parameterized. The sheer number overwhelms an agent and suggests poor API design.
The core URL scanning workflow (submit, retrieve results, search, analyze) is well covered, including detailed sub-analyses like malware, YARA, and JS fingerprints. Minor gaps include no scan cancellation or user-specific scan listing, but overall coverage is strong.