Skip to main content
Glama
utrawal9185-cmd

darknet-mcp-server

Server Quality Checklist

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

  • Disambiguation4/5

    Most tools are clearly scoped by service and operation, such as breachGet vs breachSearch or otx_ip vs otx_domain. However, a few pairs like greynoise_ip vs greynoise_check and tor_fetch_onion vs tor_scrape_onion are similar enough to potentially confuse an agent.

    Naming Consistency2/5

    Naming is inconsistent: some tools use camelCase (breachPassword, ransomwareRecent) while others use snake_case (tor_status, otx_ip). Verb placement also varies (breachGet vs tor_fetch_onion), making it harder to predict tool names.

    Tool Count1/5

    With 66 tools, this server far exceeds the typical well-scoped limit. The broad scope of threat-intel sources explains the count, but it is overwhelming and includes many overlapping services, pushing the count to an extreme.

    Completeness4/5

    The server covers a wide range of darknet and threat-intel domains: breaches, Tor, ransomware, malware, IP reputation, vulnerabilities, Bitcoin, and dark web search. Most workflows have paired operations (initiate/get results), though a few sources like RansomLook lack detailed lookup endpoints.

  • Average 3.9/5 across 66 of 66 tools scored. Lowest: 3.1/5.

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

    • No community issues in the last 6 months
    • 7 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

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

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

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

  • If you are the author, simply .

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

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

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

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

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

How is the quality score calculated?

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

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

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

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

Tool Scores

  • Behavior2/5

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

    With no annotations, the description must fully disclose behavioral traits. It only states the return data (balance, transaction count, recent transactions) but does not mention rate limits, API key requirements, error handling, or that it relies on an external service. This is minimal behavioral disclosure.

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

    Conciseness5/5

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

    The description is a single, concise sentence that front-loads the action and return values. Every word earns its place, with no unnecessary elaboration.

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

    Completeness3/5

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

    For a simple one-parameter tool with no output schema, the description adequately explains what is returned. However, it omits any discussion of error conditions, rate limiting, or the extent of 'recent transactions,' leaving some gaps in operational context.

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

    Parameters3/5

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

    The schema already describes the sole parameter 'address' as 'Bitcoin address' with 100% coverage. The tool description adds no further meaning or syntax details beyond what the schema provides, so the baseline of 3 is appropriate.

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

    Purpose4/5

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

    The description clearly states the tool looks up a Bitcoin address on blockchain.info and lists what it returns (balance, transaction count, recent transactions). This is a specific verb+resource with concrete output details, though it does not explicitly differentiate from sibling tools like btc_balance or btc_tx.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives such as btc_balance or btc_tx. The description implies usage for a broad blockchain.info lookup but gives no exclusions or comparative context, leaving the agent to infer appropriate use.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states that an API key is required and that it fetches a blacklist, but it omits important context such as return format, pagination, rate limits, and whether the tool purely reads data. This is insufficient for a tool without 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.

    Conciseness5/5

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

    The entire description is a single, grammatically correct sentence that immediately states the action and object. It includes the essential prerequisite in the second half, with no wasted words.

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

    Completeness2/5

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

    Given the lack of an output schema and annotations, the description should explain what the response contains and any operational constraints. It does neither—only the blacklist concept and API key requirement are stated, leaving the agent without sufficient context for expected outputs.

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

    Parameters3/5

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

    The input schema fully describes both parameters (limit and confidence) with their defaults, achieving 100% schema description coverage. The free-text description adds no additional information about these parameters, so the baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description uses a specific verb 'Get' and names a concrete resource: 'AbuseIPDB's blacklist of the most reported malicious IP addresses.' This clearly distinguishes it from sibling tools like abuseipdb_check and abuseipdb_reports.

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

    Usage Guidelines2/5

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

    The description does not provide any guidance on when to choose this tool over its alternatives. It only notes the API key requirement, which is a prerequisite, not a usage criterion.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the transparency burden. It discloses the return type ('related IOCs with risk levels') but lacks details on query syntax beyond examples, any rate limits, or potential errors. It provides some insight but leaves significant gaps.

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

    Conciseness5/5

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

    The description is a single, concise sentence that states the purpose and return value without redundant filler. 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.

    Completeness3/5

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

    For a one-parameter tool without an output schema, the description gives a basic overview but leaves ambiguity around 'advanced queries' and the exact structure of the returned data. It is serviceable but not fully complete given the lack of output schema and annotation support.

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

    Parameters3/5

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

    The schema has 100% coverage for the single 'query' parameter, including examples of expected values. The description adds minimal meaning beyond the schema, so the baseline of 3 applies.

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

    Purpose4/5

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

    The description clearly states the tool 'Explore linked indicators on Pulsedive' and what it returns ('related IOCs with risk levels'). This is a specific verb and resource, though it does not explicitly distinguish itself from siblings like pulsedive_search or pulsedive_indicator, so it falls short of a 5.

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

    Usage Guidelines2/5

    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. It mentions 'advanced queries' but does not provide context on use cases, prerequisites, or exclusions relative to other threat intel tools in the sibling list.

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

  • Behavior2/5

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

    With no annotations, the description carries the full burden of disclosing behavior. It states accepted input types but fails to explain what the search does beyond acceptance—e.g., exact vs. partial matching, whether multiple results are returned, pagination, rate limits, or if any authentication is needed. The absence of output schema further increases the need for behavior details, which are not provided.

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

    Conciseness5/5

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

    The description is two short sentences that completely avoid redundancy. It front-loads the core action and then lists accepted inputs efficiently, with no filler or irrelevant details.

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

    Completeness3/5

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

    For a simple one-parameter tool, the description conveys the essential purpose and input types, but given the lack of output schema and annotations, it omits critical behavioral information such as return format, result count, or whether the search is exact. This makes it minimally adequate but incomplete for an agent to fully anticipate the tool's behavior.

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

    Parameters3/5

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

    Schema coverage is 100% and the description's parameter explanation ('IP, domain, hash (MD5/SHA256), or URL') exactly mirrors the schema's own description of searchTerm. Since the schema fully documents the parameter, the description adds no additional semantic value, deserving the baseline score of 3.

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

    Purpose5/5

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

    The description clearly states the tool's function: searching ThreatFox IOCs by a term. It specifies the accepted input types (IP, domain, hash, URL), making the purpose distinct from general search tools. While it doesn't explicitly differentiate from sibling threatfox tools, the verb 'Search' and resource 'ThreatFox IOCs' make the primary action unmistakable.

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

    Usage Guidelines2/5

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

    The description implies usage when you have a specific IOC term to search, but provides no guidance on when to prefer this over sibling tools like threatfoxGetIocs or threatfoxTag. There are no exclusions, prerequisites, or alternative suggestions, leaving the agent to infer the appropriate context.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the API key requirement but does not state whether the operation is read-only, what the return value looks like, rate limits, or other side effects. This is minimal disclosure for a tool that likely performs external API calls.

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

    Conciseness5/5

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

    The description is two short sentences, each carrying relevant information: the tool's purpose and the API key requirement. No redundant wording or filler, and the main action is front-loaded.

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

    Completeness2/5

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

    With no output schema, the description should indicate what the tool returns (e.g., list of reports, count, status). It also does not mention pagination or result limits. For a simple tool it covers purpose and auth, but lacks return semantics and usage context.

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

    Parameters3/5

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

    Schema description coverage is 100%: both 'network' and 'max_age' have descriptions. The description text adds no additional parameter meaning beyond what the schema already provides, so the baseline 3 applies.

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

    Purpose5/5

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

    The description clearly states the verb 'Check' and the resource 'entire CIDR network block for abuse reports on AbuseIPDB'. This explicitly differentiates it from sibling tools like abuseipdb_check (which likely checks a single IP) by the network block scope.

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

    Usage Guidelines3/5

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

    The description implies usage for CIDR blocks but does not explicitly contrast it with alternatives such as abuseipdb_check or state when to prefer this tool. There are no explicit exclusions or context regarding when to use it versus other IP/block checking tools.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It discloses the output (risk level, threats, feeds, properties) and implies a read-only lookup, but does not mention potential side effects, authentication needs, or rate limits. This is adequate for a simple lookup but lacks richer behavioral context.

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

    Conciseness5/5

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

    Two concise sentences that front-load the action and specify the resource types and output. No wasted words or irrelevant details.

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

    Completeness4/5

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

    For a simple one-parameter lookup, the description is reasonably complete: it states the purpose, accepted input types, and expected output categories. The lack of an output schema is compensated by listing return values, though it could benefit from a note about when to use this tool as opposed to sibling Pulsedive tools.

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

    Parameters3/5

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

    Schema coverage is 100%, with the description fully explaining the 'indicator' parameter. The tool description repeats the same information (IP, domain, URL, or hash) without adding new semantics, so the baseline of 3 applies.

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

    Purpose4/5

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

    The description uses a specific verb ('look up') and specifies the resource types (IP, domain, URL, hash) and return aspects (risk level, threats, feeds, properties). It is clear but does not explicitly differentiate from sibling tools like pulsedive_search or pulsedive_explore, so it falls short of a 5.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus pulsedive_search or pulsedive_explore. The description does not mention any alternatives, exclusions, or context that would help an agent choose it over similar tools.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden. It discloses the type of information returned (fingerprints, publish timestamps, exit addresses), which adds some behavioral context. However, it does not explicitly state that the tool is read-only, mention any rate limits, or describe the default behavior of the 'limit' parameter (though the schema covers this). It falls short of rich behavioral disclosure.

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

    Conciseness5/5

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

    The description is a single, concise sentence that immediately states the purpose and key output fields. There is no redundancy or filler, making it highly scannable and efficient.

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

    Completeness4/5

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

    Given the simplicity of the tool (one optional parameter, no output schema), the description provides adequate context about what the tool returns. It covers the main purpose and data attributes. However, it lacks context about how this tool relates to sibling Tor tools and leaves the agent to infer when to choose it over alternatives, which slightly reduces completeness.

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

    Parameters3/5

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

    The schema has 100% description coverage for the single parameter 'limit', which includes its purpose and default. The tool description adds no additional meaning about parameters, so the baseline score of 3 applies. No extra semantics are needed beyond the schema.

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

    Purpose4/5

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

    The description clearly states the tool's function: 'Get detailed Tor exit node information' with specific data elements (fingerprints, publish timestamps, exit addresses). This provides a specific verb and resource. However, it does not explicitly differentiate from sibling tool 'tor_exit_nodes', relying on the word 'detailed' rather than naming alternatives.

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

    Usage Guidelines2/5

    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 its siblings (e.g., tor_exit_nodes, tor_exit_check). The description simply states what it does without indicating context, prerequisites, or exclusions. Users must infer usage from the tool name and vague 'detailed' qualifier.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden for behavioral disclosure. It does not mention any limitations, output format, pagination, or that the 'limit' parameter caps results. For a search tool, it adds minimal behavioral context beyond the operation itself.

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

    Conciseness5/5

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

    The description is a single, well-structured sentence that front-loads the core action and provides useful examples without any redundancy or fluff.

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

    Completeness3/5

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

    For a simple two-parameter tool with fully documented schema, the description adequately states the purpose. However, with no output schema and no annotations, it could do more to set expectations about the return format and result limits, making it minimally sufficient rather than complete.

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

    Parameters3/5

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

    Schema description coverage is 100% for both parameters (tag and limit), so the baseline is 3. The description's examples ('Cobalt Strike', 'Emotet') simply mirror the schema's own examples, adding little new meaning beyond what the schema already provides.

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

    Purpose5/5

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

    The description clearly states a specific action ('Search') on a specific resource ('ThreatFox IOCs') with a precise qualifier ('by tag'). This distinguishes it from sibling tools like threatfoxSearch or threatfoxGetIocs, which likely search by other criteria, and the examples reinforce the tag-based focus.

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

    Usage Guidelines3/5

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

    The description implies use when the agent has a known tag (e.g., 'Cobalt Strike'), but it does not explicitly state when to use this tool over alternatives such as threatfoxSearch or threatfoxGetIocs. No exclusions, prerequisites, or alternative references are provided.

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

  • Behavior3/5

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

    With no annotations, the description carries the burden of disclosing behavior. It notes the API key requirement and specifies the return fields, which is helpful. Yet it does not explicitly state that this is a read-only operation or mention any potential side effects, rate limits, or authentication failure behavior, so transparency is partial.

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

    Conciseness5/5

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

    The description is two sentences long, front-loaded with the action, and every word adds value. It efficiently conveys purpose, returned data, and a key prerequisite without any fluff.

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

    Completeness4/5

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

    For a 3-parameter tool with full schema coverage, the description provides a reasonable overview of inputs and outputs. It lacks an explicit output schema, but the description enumerates the main return values. Some context about error handling or when to pick this over sibling tools would improve completeness, but it's decent overall.

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

    Parameters3/5

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

    The input schema provides complete descriptions for all three parameters (ip, max_age, verbose) with 100% coverage. The description adds no additional parameter-specific detail beyond what the schema already states, so it remains at the baseline of 3.

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

    Purpose4/5

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

    The description clearly states the tool checks an IP address against AbuseIPDB and lists the return values. This distinguishes it from siblings like abuseipdb_blacklist or abuseipdb_reports, but it doesn't explicitly differentiate between check and check_block, so it earns a 4 rather than a 5.

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

    Usage Guidelines3/5

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

    The use case is implied: if you need to check a single IP, this tool does that. However, the description does not explicitly state when to use this tool versus sibling tools such as abuseipdb_check_block, nor does it mention any exclusions or prerequisites beyond the API key.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden. It does disclose that the tool returns pulses and indicators, which is useful, but it does not mention any prerequisites (e.g., API key), error behavior, or rate limits. It is a read-style operation, but that is not explicitly confirmed.

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

    Conciseness5/5

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

    The description is a single sentence, front-loaded with the action, and contains no redundant wording. Every word adds value.

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

    Completeness4/5

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

    For a simple one-parameter lookup tool, the description covers the purpose and return content. It lacks details about authentication or limitations, but given the simplicity, it is nearly complete. The absence of an output schema is mitigated by the stated return items.

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

    Parameters3/5

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

    The input schema already documents the only parameter 'cve' with a clear format example. The description does not add extra meaning beyond the schema, so with 100% schema coverage, baseline 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the action ('Look up threat intelligence') and resource ('a CVE via AlienVault OTX'). It also specifies the output ('related pulses and indicators'), which helps distinguish it from sibling tools like otx_ip or otx_domain.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool vs alternatives. It implies the use case but does not mention any exclusions, such as 'for broader CVE info use vulners_search' or 'for domain indicators use otx_domain'.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the behavioral disclosure burden. It does convey that the data is current and from an official source, but does not mention output format, pagination, or network behavior. This is adequate but minimal.

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

    Conciseness5/5

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

    The description is a single sentence with a clear front-loaded action, containing zero filler. It effectively communicates the tool's core purpose in minimal words.

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

    Completeness4/5

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

    This is a simple tool with one optional parameter and no output schema. The description states the return is a list of IP addresses, which covers the basic return value. It could elaborate on response format or limit behavior, but the schema handles that, making the description sufficient for its simplicity.

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

    Parameters3/5

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

    The input schema already provides a full description of the 'limit' parameter (Max IPs to return, default: all), covering 100% of parameters. The description adds no additional parameter-specific meaning, which is acceptable given the schema coverage.

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

    Purpose5/5

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

    The description clearly states a specific action ('Get') and resource ('list of current Tor exit node IP addresses') with a distinct source ('official Tor Project bulk exit list'). This differentiates it from siblings like tor_exit_check or tor_exit_details.

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

    Usage Guidelines2/5

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

    The description offers no guidance on when to use this tool versus the alternative Tor exit-related tools, nor any exclusions or prerequisites. It simply describes what it does without context.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It states 'Search' but does not disclose whether the operation is read-only, any rate limits, output format, or whether the two parameters are mutually exclusive. This is a significant gap for a tool with zero 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.

    Conciseness5/5

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

    The description is two sentences, front-loaded with the core purpose, and each sentence adds distinct information without redundancy. It is appropriately sized for the tool's simplicity.

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

    Completeness3/5

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

    The tool is simple (2 optional params, no output schema), but the description does not explain what the search returns or any constraints (e.g., needing at least one parameter, possible rate limits). Given the lack of annotations and output schema, this is a notable omission, but overall the description still conveys the essential operation.

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

    Parameters3/5

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

    The input schema already provides descriptions for both parameters with examples (Emotet, AgentTesla), so the baseline is 3. The description adds a small clarification by framing them as separate search modes, but does not explicitly state that one of the two is required or how they interact.

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

    Purpose5/5

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

    The description uses a specific verb ('Search') and identifies the resource (MalwareBazaar/abuse.ch), and clearly distinguishes itself from siblings like bazaarHash by specifying two search modes: tag and YARA signature. This provides a clear, differentiated purpose.

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

    Usage Guidelines4/5

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

    The second sentence explicitly instructs the agent to use 'tag' for tag-based search or 'signature' for signature-based search, providing clear context for parameter selection. However, it does not explicitly name alternative tools or state when not to use this tool, so it falls short of a 5.

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

  • Behavior3/5

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

    With no annotations, the description partially carries the burden by stating 'Free endpoint, no API key required,' which is a useful access trait. However, it omits other behavioral details such as pagination, rate limits, or potential response size, leaving some uncertainty about using a tool that lists all breaches.

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

    Conciseness5/5

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

    The description is only three short sentences: the main action first, then the optional filter, then the access note. Every sentence adds information and there is no filler.

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

    Completeness3/5

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

    The description covers the core function and the optional filter, and the free endpoint note is helpful. However, it lacks guidance on choosing alternatives like breachLatest for recency or handling potentially large responses, which is a clear gap for a list-all tool.

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

    Parameters3/5

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

    Schema coverage is 100% for the only parameter 'domain', and the schema already provides a description and example. The tool description only repeats the filter option without adding new semantic details, so the baseline of 3 applies.

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

    Purpose5/5

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

    The description uses a specific verb ('List') and resource ('all known data breaches from HaveIBeenPwned'), with optional domain filtering. This clearly distinguishes from sibling tools like breachSearch (search) and breachGet (specific breach).

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

    Usage Guidelines3/5

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

    The description implies the main use case (listing all breaches) and shows how to filter by domain, but it does not explicitly compare with alternatives or state when not to use the tool. The 'Free endpoint, no API key required' note adds access context but not usage guidance.

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

  • Behavior4/5

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

    With no annotations, the description carries the burden of behavioral disclosure. It clearly communicates a read-only check operation and the return of a simplified classification, which is sufficient for a simple lookup tool. It does not disclose caveats like historical data coverage or response variations, but the core behavior is transparent.

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

    Conciseness5/5

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

    The description is a single sentence that wastes no words. It front-loads the tool name and purpose, and every part contributes to understanding what the tool does.

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

    Completeness3/5

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

    The tool is simple with one parameter and no output schema. However, the description does not specify the possible values of the 'simplified classification' (e.g., scanner, benign, unknown), leaving the agent to guess the output format. This is a notable gap for a tool without an output schema.

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

    Parameters3/5

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

    Schema coverage is 100%, and the parameter description ('IP address to check') already documents the only parameter. The tool description adds no extra semantic meaning, so a baseline of 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states a specific action ('check') against a specific resource ('GreyNoise') and what it determines (scanner vs benign service). It distinguishes from sibling tool greynoise_ip by emphasizing 'Quick' and 'simplified classification.'

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

    Usage Guidelines2/5

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

    The description offers no explicit guidance on when to use this tool versus alternatives like greynoise_ip. While 'Quick' implies a lightweight use case, there is no clear when-to-use, when-not-to-use, or mention of alternatives.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It states the core behavior but does not disclose response format, pagination, or limitations, although this is a simple read operation.

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

    Conciseness5/5

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

    The description is a single concise sentence with useful examples, no redundant content, and front-loaded action.

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

    Completeness3/5

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

    For a one-parameter tool with no output schema, the description provides the essential purpose but lacks details on return value structure or limits, leaving some ambiguity.

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

    Parameters3/5

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

    The schema already provides full parameter coverage with a description of the countryCode parameter including examples. The description repeats similar examples and the ISO standard, adding minimal new information beyond the schema.

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

    Purpose5/5

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

    The description clearly states 'Get ransomware victims filtered by country' with a specific filter and example codes, distinguishing it from sibling tools like ransomwareBySector or ransomwareSearch.

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

    Usage Guidelines3/5

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

    The description implies usage for country-based lookups but does not explicitly mention when to use this tool over alternatives or provide exclusion criteria. It lacks guidance on alternatives.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It only says 'Get ransomware victims' which implies a read operation but adds no details about return format, pagination, error handling, or whether the list is exhaustive. There is no mention of what the response contains or any limitations. This is a notable gap for a tool with zero annotation support.

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

    Conciseness5/5

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

    The description is one concise sentence with a clear verb, object, and scope, followed by a useful list of examples. Every word earns its place; there is no fluff or redundancy. It is front-loaded and easy to parse.

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

    Completeness3/5

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

    Given the single parameter, no output schema, and no annotations, the description explains what the tool does but does not indicate what the response looks like (e.g., list of victim names, counts, or full details). It also doesn't mention case sensitivity or allowed values beyond the examples. For a simple lookup tool, this is adequate but leaves clear gaps.

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

    Parameters3/5

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

    Schema coverage is 100% – the schema already describes the 'sector' parameter with the same examples. The tool description repeats the examples and adds the concept of filtering, but it does not add meaningful new semantics beyond what the schema provides. Baseline 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Get ransomware victims filtered by sector or industry.' It uses a specific verb ('Get'), identifies the resource ('ransomware victims'), and specifies the filter scope. This distinguishes it from siblings like ransomwareByCountry (filter by country) and ransomwareSearch (search). The examples further clarify the expected values.

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

    Usage Guidelines4/5

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

    The description implicitly conveys when to use the tool: when you need victims by sector. The examples ('healthcare', 'finance', etc.) provide practical context. However, it does not explicitly name alternatives or exclusions, such as 'use ransomwareByCountry for country filtering,' so it stops short of a perfect score.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It discloses the return fields (victim name, group, etc.) and the external source, which is useful. However, it does not mention rate limits, pagination, error behavior, or the fact that it is likely a read-only network fetch, leaving some behavioral unknowns.

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

    Conciseness5/5

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

    The description is a single concise sentence that front-loads the primary action and source, then lists the returned data. Every word adds value, with no redundancy or filler.

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

    Completeness4/5

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

    For a simple no-parameter fetch tool, the description is reasonably complete. It names the source and enumerates the returned fields, partially compensating for the lack of an output schema. However, it could mention potential limitations (e.g., date range, number of entries) to be fully complete.

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

    Parameters4/5

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

    The tool has zero parameters, so the input schema is trivially complete. The description adds no parameter information, but none is needed. Baseline for 0 params is 4, and the description appropriately omits unnecessary param details.

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

    Purpose4/5

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

    The description clearly states a specific verb ('Fetch'), resource ('most recent ransomware victims'), and source ('ransomware.live'), and lists return fields. It distinguishes itself from siblings by specifying 'most recent' and the source, though it does not explicitly contrast with similar tools like 'ransomlookRecent'.

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

    Usage Guidelines3/5

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

    The description implies usage: for retrieving recent ransomware victims. However, it provides no explicit guidance on when to prefer this over sibling tools (e.g., ransomwareSearch, ransomwareGroupVictims) or any exclusions. The context is self-evident but lacks direct alternatives.

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

  • Behavior3/5

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

    The description discloses that the tool relies on a cached exit node list, which is a useful behavioral trait affecting data freshness. It does not mention output format, error behavior, or access requirements, but for a simple read-only check the cache note adds some value beyond the schema.

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

    Conciseness5/5

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

    The description is a single sentence that immediately states the purpose and the cached data source, with no filler words or redundant information.

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

    Completeness3/5

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

    The tool is simple (1 param), but there is no output schema or annotations. The description clarifies the purpose and data source but does not state what the response looks like. Given the simplicity, this is an acceptable but not complete description.

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

    Parameters3/5

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

    The input schema already fully describes the 'ip' parameter, and the description adds little beyond restating 'specific IP address'. However, schema coverage is 100%, so the baseline of 3 applies.

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

    Purpose5/5

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

    The description uses the specific verb 'check' and clearly identifies the resource (a specific IP address) and the condition (known Tor exit node). This distinguishes it from sibling tools like tor_exit_nodes or tor_exit_details, which likely list or detail nodes.

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

    Usage Guidelines3/5

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

    The description implies use when an agent has a particular IP address to validate, but it does not explicitly contrast with sibling tools or state when not to use it. No alternatives are named, though the specificity of 'specific IP address' gives context.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. 'Look up' implies a read-only query and naming URLhaus gives the data source, but it does not mention response format, error behavior, rate limits, or access requirements. It barely meets the minimum transparency bar.

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

    Conciseness5/5

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

    A single, front-loaded sentence conveys the purpose and usage with no wasted words. Every phrase contributes meaningful information.

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

    Completeness3/5

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

    The tool is simple and the description covers purpose and parameter selection, but with no output schema it should also indicate what kind of result is returned (e.g., reputation data, tags, timestamps). This missing return-value context leaves the description minimally viable but incomplete.

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

    Parameters4/5

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

    Schema coverage is 100%, so the schema already documents both parameters. The description adds the valuable mutual-exclusion rule ('either... or...') and clarifies the expected format, going beyond the schema's individual descriptions.

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

    Purpose5/5

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

    The description uses a specific verb ('Look up') and names the exact resource ('URLhaus (abuse.ch)'). It clearly distinguishes this from sibling tools like urlhausTag by specifying both URL and host lookups.

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

    Usage Guidelines2/5

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

    The description provides parameter-level guidance ('Provide either a full URL... or a hostname/IP...') but does not explain when to prefer this tool over alternatives like urlhausTag or other threat-intel lookups. There are no exclusions or alternative tool references.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden for behavioral disclosure. It only states the search action and does not mention whether it is read-only, any rate limits, output format, or what kind of data is returned. This is a significant gap for a tool with no annotation fallback.

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

    Conciseness5/5

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

    The description is a single, well-structured sentence that immediately states the verb and resource. It includes examples without unnecessary detail. Every word earns its place.

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

    Completeness3/5

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

    For a simple tool with one fully described parameter, the description is minimally viable. However, there is no output schema and no mention of return values, pagination, or limits, leaving some ambiguity about what the agent will receive. It does not fully compensate for the lack of structured output metadata.

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

    Parameters4/5

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

    The schema already describes the 'tag' parameter, but the description adds concrete examples ('Emotet', 'Dridex', 'elf') that clarify the expected value format. This goes beyond the schema and helps the agent understand what a valid tag looks like.

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

    Purpose5/5

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

    The description clearly states the action ('Search'), the resource ('URLhaus (abuse.ch) entries'), and the specific filter ('by tag') with examples. This distinguishes it from sibling tools like urlhausLookup or bazaarTag by explicitly naming the URLhaus service and the tag criterion.

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

    Usage Guidelines3/5

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

    Usage is implied: if you want to search URLhaus entries by tag, this is the tool. However, no explicit when-to-use vs alternatives or exclusions are provided. The description does not mention that for other services (e.g., ThreatFox) you would use a different tool.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It discloses the authentication requirement (ABUSEIPDB_API_KEY) and the return content (report comments and categories), but does not mention rate limits, error behavior, or that this is a read-only operation beyond the verb 'Get'.

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

    Conciseness5/5

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

    The description is three short, front-loaded sentences, each providing distinct value: the action, the return details, and the prerequisite. There is no redundant or filler text.

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

    Completeness4/5

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

    For a straightforward read-only API with three well-documented parameters and no output schema, the description is sufficient. It states what data is returned, and the schema fully covers parameter semantics. It could optionally mention the nature of 'categories' (e.g., numeric IDs), but that is not critical for invoking the tool.

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

    Parameters3/5

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

    The input schema provides 100% coverage with descriptions for all three parameters ('ip', 'limit', 'max_age'), including defaults. The description adds no additional parameter-level semantics, so the baseline score of 3 applies as the schema already documents them.

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

    Purpose5/5

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

    The description clearly states the action: 'Get individual abuse reports for an IP from AbuseIPDB.' It specifies the resource (individual abuse reports) and the source (AbuseIPDB), and contrasts with sibling tools like 'abuseipdb_blacklist' and 'abuseipdb_check' by focusing on detailed report comments and categories.

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

    Usage Guidelines3/5

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

    The description implies usage when detailed abuse reports are needed, and notes the API key requirement. However, it does not explicitly state when to prefer this tool over alternatives like 'abuseipdb_check' or 'abuseipdb_blacklist', nor does it mention exclusions or fallback scenarios.

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

  • Behavior3/5

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

    Annotations are absent, so the description carries the burden. It discloses a read-only behavior ('Get', 'Returns') and names the data source, which is useful. However, it does not specify any limitations, such as the meaning of 'recent', pagination, or rate limits. It adds some behavioral context beyond the schema but not extensive detail.

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

    Conciseness5/5

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

    The description is composed of two concise sentences with no redundant content. It is front-loaded with the primary action and directly supports the tool's function. Every word earns its place.

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

    Completeness4/5

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

    Given the tool's low complexity (one optional parameter, no output schema), the description sufficiently explains what the tool does. It communicates the core behavior and source. The lack of detail on 'recent' timeframe or result limits is a minor gap, but overall it is complete for a simple data-retrieval tool.

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

    Parameters3/5

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

    The schema already provides 100% coverage for the single parameter 'selector', including a description and default value. The tool description adds no additional parameter-level information, so it meets the baseline but does not go beyond what the schema offers.

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

    Purpose5/5

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

    The description uses a specific verb ('Get') and identifies the resource ('recent malware samples from MalwareBazaar (abuse.ch)'). It clearly distinguishes this tool from siblings like bazaarHash and bazaarTag by focusing on 'recent' submissions. The second sentence reinforces the purpose.

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

    Usage Guidelines3/5

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

    The description implies when to use the tool ('recent malware samples'), but it provides no explicit guidance on when not to use it or alternatives such as bazaarHash or bazaarTag. The usage context is clear but lacks exclusion criteria or comparative direction.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden. It clearly indicates a read-only lookup ('Look up') and discloses the exact return values (classification, scanner status, last seen timestamp) plus the access requirement (free, no API key). This covers the core behavioral aspects, though it stops short of detailing error handling 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.

    Conciseness5/5

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

    The description is three short sentences, each earning its place: purpose, return data, and access requirement. It is front-loaded with the core action and has zero waste, making it easy to parse quickly.

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

    Completeness4/5

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

    For a simple single-parameter lookup with no output schema and no annotations, the description provides sufficient context: what it does, what it returns, and the cost/access model. It lacks examples of response formats or error scenarios, but these are not critical for a straightforward lookup tool. The presence of similar sibling tools slightly lowers completeness because no differentiation is offered, but the core info is complete.

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

    Parameters3/5

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

    The input schema fully describes the single parameter ('ip' with description 'IP address to look up'), giving 100% schema coverage. The description adds no extra semantic detail about the parameter format (e.g., IPv4 vs IPv6, validation rules). Therefore, the baseline score of 3 is appropriate.

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

    Purpose4/5

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

    The description clearly states a specific verb and resource: 'Look up an IP address on GreyNoise Community API.' It also lists the return data (classification, scanner status, last seen timestamp), making the purpose unambiguous. However, it does not explicitly differentiate itself from sibling tools like 'greynoise_check' or other IP lookup tools, so it misses the top score.

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

    Usage Guidelines3/5

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

    The description implies usage by noting 'Free, no API key required,' which suggests this is a low-friction option compared to other lookups that might require authentication. However, it gives no explicit when-to-use or when-not-to-use guidance, nor does it name alternative tools. The implication is present but not explicit.

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

  • Behavior3/5

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

    With no annotations, the description carries the full transparency burden. It discloses the API key requirement and that the result is a search ID, not direct data. However, it does not describe rate limits, expiration of the search ID, or any side effects beyond initiating a search, leaving some behavioral uncertainty.

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

    Conciseness5/5

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

    The description is two concise sentences, front-loaded with the action verb ('Initiate'). It includes essential information (purpose, return behavior, authentication) without extraneous detail, making it easy to parse.

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

    Completeness4/5

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

    For a simple two-parameter tool with no output schema, the description covers the primary action, return type, and prerequisite. It could be slightly more explicit about the need to use a subsequent endpoint to fetch results, but 'Returns a search ID to retrieve results' conveys the asynchronous workflow adequately.

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

    Parameters3/5

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

    Schema coverage is 100% with both term and max_results described. The description adds that the search covers 'leaked data, dark web content, and more,' which contextualizes the term parameter but provides no additional syntax or semantics beyond the schema. Baseline 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the action: initiate a search on IntelligenceX. It specifies the scope (leaked data, dark web content) and the key output (a search ID). This distinguishes it from sibling tools like intelx_search_results, which retrieve results rather than initiate searches.

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

    Usage Guidelines3/5

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

    The description implies the tool is the first step in a two-step process by noting it returns a search ID to retrieve results, but it does not explicitly name the companion endpoint or state when to use this tool over alternatives. It mentions the API key requirement as a prerequisite, but no explicit exclusions or alternative comparisons.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It discloses the API key requirement, which is essential behavioral context, and summarizes the returned data categories. However, it doesn't mention potential failure modes (e.g., unknown hash, rate limits) or confirm read-only behavior beyond what is implied.

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

    Conciseness5/5

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

    Two sentences, 27 words total, front-loaded with the action and resource. The second sentence lists return types and the key requirement. Every sentence provides value, with no redundancy.

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

    Completeness4/5

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

    For a single-parameter, no-output-schema tool, the description covers the purpose, required input, authentication need, and major return categories. The only notable gap is the lack of explicit error/empty-result behavior, but the overall context is sufficient for a simple lookup tool.

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

    Parameters3/5

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

    Schema coverage is 100%, with the 'sha256' param described as 'SHA256 hash of the file'. The description adds no extra meaning beyond confirming the input type, so the baseline of 3 applies.

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

    Purpose5/5

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

    The description clearly states the verb ('Get'), the resource ('full malware analysis overview from Hybrid Analysis'), and the required input ('for a SHA256 hash'). It also lists specific return types, distinguishing it from sibling threat intel tools focused on other indicators.

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

    Usage Guidelines3/5

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

    The description implies its use case (deep malware analysis for a hash) and mentions a prerequisite (HYBRID_API_KEY), but it does not explicitly compare with alternatives or state when not to use it. The many sibling tools suggest that explicit guidance would be helpful, but the context is reasonably clear.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden. It discloses a read-only lookup and enumerates the metadata fields returned, but it does not mention input validation, error cases, or the historical nature of the data. This adds some context but lacks deeper behavioral details.

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

    Conciseness5/5

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

    The description is a single sentence, front-loaded with the verb 'Look up', and lists return fields economically. Every word earns its place; no redundancy or filler.

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

    Completeness4/5

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

    For a simple tool with one parameter and no output schema, the description covers the essential aspects: what it does, the project it queries, and the data returned. It lacks a few details such as result formatting or edge cases, but given the low complexity, it is largely complete.

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

    Parameters3/5

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

    Schema description coverage is 100%: the sole parameter 'address' is already documented as accepting '.onion address or full URL'. The description adds no extra parameter semantics beyond restating '.onion address', so it meets the baseline for high coverage but does not exceed it.

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

    Purpose5/5

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

    The description clearly states a specific action ('Look up metadata') and resource ('.onion address via CIRCL AIL project'). The listed return fields (first/last seen, status, tags, certificates, ports, Bitcoin addresses) clarify the tool's unique role compared to siblings like tor_fetch_onion or tor_search_onion, which focus on content fetching or searching.

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

    Usage Guidelines3/5

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

    The description implies usage when metadata for a .onion address is needed, but it does not explicitly state when to prefer this tool over alternatives or mention exclusions. No named alternative tools are provided, so guidance is only inferred from the word 'metadata'.

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

  • Behavior3/5

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

    No annotations are provided, so the description must carry the full safety and behavior disclosure. The search-by-value phrasing implies a read-only operation, and 'Returns matching indicator IDs' clarifies the output. However, it lacks details on pagination, rate limits, or behavior when no matches are found. It is minimal but not misleading.

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

    Conciseness5/5

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

    The description is two short sentences: the first states the action, the second states the result. Every word earns its place, with no redundant information or vague phrasing.

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

    Completeness4/5

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

    For a simple single-parameter search tool, the description is sufficient: it states what it does and what it returns. However, given many sibling search tools and no output schema, a brief note on when to use this over other Pulsedive tools would be beneficial. The mention of 'indicator IDs' partially compensates for the missing output schema.

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

    Parameters4/5

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

    The schema has 100% coverage with 'query' described as 'Search query', which is generic. The description's 'by value' clarifies that the query is an indicator value (e.g., IP, domain, hash), adding useful context beyond the schema. This elevates it above the baseline.

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

    Purpose5/5

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

    The description uses the specific verb 'Search', identifies the resource 'Pulsedive indicators', and specifies the input 'by value' and output 'matching indicator IDs'. This clearly distinguishes it from sibling tools like pulsedive_indicator or pulsedive_explore, which likely handle detail lookup or exploration.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. It does not mention that it should be used for initial lookup and that pulsedive_indicator should be used for full details, and no exclusions or alternative tool references are given.

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

  • Behavior3/5

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

    With no annotations, the description must convey behavioral traits itself. It does disclose that the tool returns victim names, countries, sectors, and publication dates, and 'Get' indicates a read-only operation. However, it does not mention potential pagination, unknown-group behavior, or result limits. 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.

    Conciseness5/5

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

    The description is a single, efficient sentence. It front-loads the main purpose and then specifies the return fields. There is no filler or repetition of schema details.

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

    Completeness4/5

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

    The tool is simple: one parameter, no output schema, no annotations. The description covers what the tool returns, and the parameter is well-documented in the schema. It lacks only minor contextual specifics such as exact-match requirements or how unknown groups are handled, but overall it is sufficiently complete for a tool of this complexity.

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

    Parameters3/5

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

    The input schema already fully describes the single parameter 'name' with examples ('lockbit3', 'clop', 'blackcat'), so schema coverage is 100%. The description adds little beyond restating 'specific ransomware group' and does not need to compensate. Baseline 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the tool's function with a specific verb and resource: 'Get all victims claimed by a specific ransomware group.' It also lists the returned data fields (victim names, countries, sectors, publication dates), which distinguishes it from sibling tools like 'ransomwareGroup' (likely group metadata) and 'ransomwareRecent' (recent activity). The scope is unambiguous.

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

    Usage Guidelines3/5

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

    The description implies usage: use this tool when you have a specific ransomware group name and want its claimed victims. However, it does not explicitly compare with alternatives such as 'ransomwareGroup' or 'ransomwareSearch', and given several similar ransomware-related siblings, more explicit when-to-use/when-not-to-use guidance would be helpful. The context is clear but no exclusions 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.

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden of behavioral disclosure. It reveals that the tool requires an API key and indicates what it returns, but it does not explicitly state that this is a read-only operation, mention rate limits, or discuss any side effects or limitations. While 'search' implies safety, more detail could be given.

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

    Conciseness5/5

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

    The description is extremely concise: two sentences that front-load the core purpose and immediately follow with return details and a prerequisite. No redundant or extraneous words.

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

    Completeness4/5

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

    This is a simple single-parameter tool with no output schema or annotations. The description covers the core aspects: what it searches, what it returns, and an authentication requirement. It could be more complete by explaining result format or limitations, but it is adequate for the tool's complexity.

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

    Parameters3/5

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

    The input schema has only one parameter, 'domain', and the schema description fully explains it. The tool description reinforces this by saying 'by domain,' but adds no substantial new meaning beyond the schema. Since schema coverage is 100%, the baseline is 3.

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

    Purpose5/5

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

    The description clearly states the tool's purpose: 'Search Hudson Rock Cavalier for stealer log entries by domain.' It uses a specific verb ('search') and resource ('Hudson Rock Cavalier'), and specifies the scope ('by domain'), distinguishing it from sibling tools like stealer_email and stealer_ip.

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

    Usage Guidelines3/5

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

    The description implies when this tool should be used by specifying that it searches by domain and returns compromised machines, credentials, and malware details. It also notes the API key requirement. However, it does not explicitly contrast with alternatives (e.g., stealer_email or stealer_ip) or state when not to use it.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden of transparency. It discloses a key prerequisite (running Tor daemon) and the structured return data, but it does not address potential issues like timeouts, error handling, or privacy implications of fetching a .onion site. It is sufficient for a read-only scrape operation but lacks depth.

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

    Conciseness5/5

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

    The description is a single sentence that is well-structured and front-loaded with the action ('Fetch and parse'), followed by the output summary and a prerequisite. Every clause earns its place, with no redundant or extraneous information.

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

    Completeness4/5

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

    For a simple tool with one parameter and no output schema, the description covers the core function, return values, and a critical dependency. However, it does not explain behavior if the Tor daemon is unavailable or provide any fallback/error guidance, which is a minor gap. Overall, it is sufficiently complete for the tool's complexity.

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

    Parameters3/5

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

    The schema description for the sole parameter 'url' already states it is 'The .onion URL to scrape,' which is 100% coverage. The description adds no additional parameter semantics beyond this, 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.

    Purpose5/5

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

    The description uses specific verbs 'fetch and parse' with a clear resource (.onion site) and states the output scope: 'page title, all links, and visible body text.' This clearly distinguishes it from sibling tools like tor_fetch_onion, which likely returns raw content, and tor_search_onion, which searches.

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

    Usage Guidelines3/5

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

    The description implies usage context by mentioning the need for a running Tor daemon, but it does not explicitly state when to prefer this tool over alternatives like tor_fetch_onion. No when-to-use or when-not-to-use guidance is provided, only a prerequisite, so the guidance remains implicit.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It discloses that the tool searches an external engine (Ahmia.fi) and returns specific result fields, but does not mention potential limitations, rate limits, network requirements, or behavior on failed searches.

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

    Conciseness5/5

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

    The description is a single, focused sentence that front-loads the core action and result. Every word contributes to understanding, with no redundant or filler content.

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

    Completeness4/5

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

    For a simple search tool with two parameters and no output schema, the description adequately covers the return shape and purpose. It could mention default limit behavior, but the schema covers that. Overall sufficiently complete for its complexity.

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

    Parameters3/5

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

    Schema coverage is 100% for both parameters (query and limit), so the description adds little beyond what the schema already provides. The description confirms the overall purpose but does not enrich parameter meaning significantly.

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

    Purpose5/5

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

    The description clearly specifies the action ('Search for .onion sites') and the resource/engine ('using Ahmia.fi search engine'), and distinguishes itself from sibling tools like tor_fetch_onion or tor_scrape_onion by stating it returns search result listings (titles, URLs, descriptions).

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

    Usage Guidelines3/5

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

    It implies usage for searching .onion sites via Ahmia.fi, but does not explicitly state when to prefer this over alternatives or provide exclusions/edge cases. The description gives a clear context but no comparative guidance against siblings.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It states the tool searches and returns data, implying a read-only operation. However, it does not disclose potential rate limits, authentication needs, pagination, or any side effects. Since it's a search tool, the lack of side-effect discussion is acceptable, but additional context on behavior would be beneficial.

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

    Conciseness5/5

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

    The description is a single sentence that is concise and front-loaded with the core action. It wastes no words and conveys the essential information efficiently.

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

    Completeness4/5

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

    Given the tool's simplicity (2 params, no output schema), the description covers the main purpose and return categories. It does not detail the response structure or pagination, but the mention of return types and query language provides adequate context. The lack of an output schema raises the need for return information, which is partially addressed. Overall, it is near-complete for a straightforward search tool.

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

    Parameters3/5

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

    Schema coverage is 100%, with both parameters described. The description adds the context of 'Lucene queries' but does not explain query syntax, formatting, or limit constraints beyond what schema provides. The value added is minimal, so the baseline 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the tool searches the Vulners vulnerability database using Lucene queries, and specifies the return types (CVEs, advisories, exploits). The verb 'search' and resource are specific, and the mention of Lucene queries adds precision. It effectively distinguishes itself from sibling tools like vulners_id and vulners_exploit which are likely more targeted lookups.

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

    Usage Guidelines3/5

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

    The description implies general search usage but does not explicitly explain when to choose this tool over alternatives. No exclusions or alternative tool names are mentioned. The context of sibling tools suggests a niche, but explicit guidance is missing. For an agent, it's inferable that this is the primary search tool, but not clearly stated.

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

  • Behavior3/5

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

    Since no annotations are provided, the description carries the full burden. It discloses the key behavior of returning a search ID (implying asynchronous retrieval) and requires an API key. However, it does not state that the operation is read-only, nor does it explain how the ID is used or any limitations/timeout. 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.

    Conciseness5/5

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

    The description is three clear sentences: the first explains what the tool does, the second states the return value, and the third mentions a prerequisite. Every sentence earns its place, there is no filler, and it is front-loaded with the most important information.

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

    Completeness3/5

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

    The description explains the action and return value, but omits the necessary follow-up step: that the returned search ID is used with the sibling tool 'intelx_phonebook_results' to fetch actual data. It also lacks any mention of error handling or ID expiration. Given the absence of an output schema and annotations, this is a clear gap in completeness.

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

    Parameters3/5

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

    The input schema covers 100% of parameters with descriptions, so the baseline is 3. The description adds little beyond the schema, only implicitly mapping the search types to the 'target' parameter. It does not clarify the meaning of 'term' or 'max_results' any further, so the schema is the primary source of semantics.

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

    Purpose5/5

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

    The description uses a specific verb ('Initiate') and resource ('phonebook search on IntelligenceX'), and clearly states what kind of data it finds (emails, domains, URLs). It distinguishes itself from the sibling tool 'intelx_phonebook_results' by emphasizing that this tool returns a search ID rather than results.

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

    Usage Guidelines4/5

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

    The description clearly implies the use case: start a phonebook search and receive an ID, which hints that a subsequent call to the results tool is needed. It also mentions a prerequisite (API key). However, it does not explicitly advise when to use this over other search tools or when not to use it, so it falls short of a 5.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full transparency burden. It discloses the return fields (pulse info, reputation, country, ASN) but does not mention authentication, rate limits, or other operational caveats. For a simple read-only lookup, this is adequate but not comprehensive.

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

    Conciseness5/5

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

    The description is a single, tight sentence of 19 words, front-loading the action and source, then immediately listing return data. Every word earns its place, with no filler or redundancy.

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

    Completeness3/5

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

    Given the tool's simplicity (one parameter, no output schema), the description covers the basic purpose and return content. However, it lacks guidance on when to choose this tool over alternative IP intelligence sources (AbuseIPDB, GreyNoise, etc.), which is a notable gap in the broader context.

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

    Parameters3/5

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

    The schema already provides 100% coverage for the single 'ip' parameter, including its description ('IPv4 address to look up'). The tool description adds no additional parameter semantics beyond what the schema states, so baseline 3 applies.

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

    Purpose5/5

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

    The description clearly states the tool performs an IP address lookup via AlienVault OTX, using a specific verb ('look up') and resource. It also enumerates return values (pulse info, reputation, country, ASN), distinguishing it from sibling OTX tools for other IOC types.

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

    Usage Guidelines4/5

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

    The description provides clear context: this tool is for IP address threat intelligence. It does not explicitly mention alternatives or exclusion criteria, but the context is specific enough for an agent to recognize when IP lookup is intended.

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

  • Behavior3/5

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

    No annotations are provided, so the description must carry the safety and behavior load. It notes that the tool accepts three hash types, which is useful, but it does not describe what happens on lookup (e.g., return format, not-found behavior, potential rate limits). For a read-only lookup, 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.

    Conciseness5/5

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

    The description is a single sentence of 14 words, front-loaded with the action ('Look up') and resource ('malware sample'), and the hash formats follow naturally. No wasted words.

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

    Completeness4/5

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

    For a simple one-parameter lookup tool with no output schema, the description covers the core purpose and accepted input. It does not specify the return value or error behavior, but given the low complexity and no annotations, this is mostly complete.

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

    Parameters3/5

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

    The schema already describes the single parameter 'hash' with the same allowed formats (MD5, SHA1, SHA256). The description repeats this information without adding extra meaning, and schema coverage is 100%, so baseline 3 applies.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Look up a malware sample in MalwareBazaar (abuse.ch) by hash.' It uses a specific verb ('look up') and resource ('malware sample'), and the hash-based scope distinguishes it from siblings like bazaarRecent and bazaarTag.

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

    Usage Guidelines4/5

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

    The description implies usage context: you have a hash (MD5, SHA1, or SHA256) and want to look it up in MalwareBazaar. It does not explicitly mention alternatives or when-not-to-use, but the hash-focused language makes the intended scenario clear.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden. It usefully discloses that the endpoint is free and requires no API key, which are behavioral traits. However, it does not mention rate limits, error handling, or confirm that the operation is read-only (though 'Get' implies it). 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.

    Conciseness5/5

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

    The description is a single, front-loaded sentence that conveys purpose, source, and access requirements without any wasted words. It is concise and easy to parse.

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

    Completeness4/5

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

    For a simple one-parameter lookup tool with no output schema, the description covers the essential context: what it does, the data source, and that it is free/no-key. It does not describe the returned details, but 'details' is sufficient for basic invocation. Minor gap, but generally complete.

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

    Parameters3/5

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

    The input schema has 100% coverage with a clear description for the 'name' parameter, including format guidance (Pascal-cased) and examples. The description adds no additional parameter semantics beyond what the schema already provides, so the baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Get details of a specific data breach by name from HaveIBeenPwned.' It uses a specific verb ('get'), resource ('data breach'), and scope ('by name'), which distinguishes it from sibling tools like breachList and breachSearch that handle lists or searches.

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

    Usage Guidelines4/5

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

    The description implies when to use this tool (when you have a specific breach name) but does not explicitly mention alternative tools or when not to use it. It provides clear context for its intended use case, but lacks explicit exclusions or sibling references.

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

  • Behavior3/5

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

    With no annotations, the description adds valuable operational context by mentioning the paid HIBP_API_KEY requirement. However, it does not disclose rate limits, response format, or failure behavior, leaving some behavioral aspects unspecified.

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

    Conciseness5/5

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

    The description is only two sentences, front-loaded with the purpose and followed by a critical prerequisite. Every word earns its place with no redundancy.

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

    Completeness4/5

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

    The description is adequate for a straightforward search tool, covering the core action and a key requirement. The lack of an output schema is mitigated by the tool's simplicity, though return value expectations are not explicitly stated.

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

    Parameters3/5

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

    All three parameters are fully described in the schema (100% coverage), so the description adds little extra meaning. It only reinforces that 'account' is an email or username, which the schema already states.

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

    Purpose5/5

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

    The description clearly states the action 'Search', the resource 'all data breaches', and the specific subject 'a specific account (email or username)'. This distinguishes it from sibling tools like breachList and breachGet by focusing on account-centric search.

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

    Usage Guidelines4/5

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

    The description specifies the intended use case ('Search all data breaches for a specific account') and notes the HIBP_API_KEY prerequisite. It does not explicitly mention alternatives or exclusions, but the use case is clear enough.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It does mention the output type (scam reports with categories and descriptions), which adds context, but it does not disclose potential error cases, absence of reports, rate limits, or whether the operation is read-only. The behavioral disclosure is minimal.

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

    Conciseness5/5

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

    The description is two sentences with no wasted words. It front-loads the action and directly states the return value. Perfectly concise and structured.

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

    Completeness4/5

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

    The tool is simple with one parameter and no output schema. The description explains the tool's purpose and return content, which is largely complete. However, it does not mention behavior when no reports are found or any other edge cases, so it is slightly incomplete.

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

    Parameters3/5

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

    The schema already fully documents the only parameter 'address' with a description. The description merely repeats 'Bitcoin address' without adding additional semantics, so it does not enhance the schema's parameter explanations. Baseline 3 is appropriate given the high schema coverage.

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

    Purpose5/5

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

    The description clearly states the tool checks a Bitcoin address for abuse reports on ChainAbuse, and specifies it returns scam reports with categories and descriptions. This distinguishes it from sibling tools like btc_balance and btc_tx, which likely handle balances and transactions.

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

    Usage Guidelines4/5

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

    The description provides clear context: use this when you need to check if a Bitcoin address is associated with known scam reports on ChainAbuse. However, it does not explicitly mention when not to use it or suggest alternatives, so it falls short of full guidelines.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden. It discloses the external source (blockchain.info) and scope (quick balance check), but omits details about error behavior, rate limits, or response format. This is adequate but not comprehensive.

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

    Conciseness5/5

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

    The description is two sentences, front-loaded with the core purpose, and every sentence adds value. No redundant or vague wording.

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

    Completeness4/5

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

    For a single-parameter, read-only tool, the description adequately covers purpose, source, and scope. The lack of an output schema is partially mitigated by stating the balance is in satoshi, but the exact return structure is not specified. Overall, it is complete enough for simple use.

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

    Parameters3/5

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

    Schema coverage is 100%, with the address parameter described as 'Bitcoin address.' The description adds context about the result unit (satoshi) and source, but does not add meaning beyond the schema for the parameter itself. Baseline 3 is appropriate.

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

    Purpose5/5

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

    Description specifies a clear verb ('Get') and resource ('Bitcoin address balance in satoshi from blockchain.info'), and distinguishes itself from siblings like btc_tx by noting 'without full transaction history.' This makes the tool's purpose unambiguous.

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

    Usage Guidelines4/5

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

    The phrase 'Quick balance check without full transaction history' provides clear context for when to use this tool (simple balance lookups) versus tools that provide transaction history. However, it does not explicitly name alternative sibling tools, so it falls short of a 5.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden. It indicates a read-only operation via 'Get' and specifies return fields (inputs, outputs, fees, block info). However, it does not disclose rate limits, error behavior, or network requirements. For a simple query tool, this is adequate but not extra rich.

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

    Conciseness5/5

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

    The description is two sentences, front-loaded with the main action and followed by a list of return contents. Every word is useful; there is zero redundancy or filler.

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

    Completeness4/5

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

    For a single-parameter tool with 100% schema coverage and no output schema, the description adequately covers the purpose, parameter, and return fields. It does not discuss error cases or rate limits, but given the simplicity of the tool, these are not critical gaps. This is slightly above the minimum viable description.

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

    Parameters3/5

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

    The input schema already fully describes the only parameter (txhash) with a clear description. The tool description's mention of 'by hash' adds no additional meaning beyond what the schema provides. Per the rubric, baseline 3 applies when schema coverage is high and the description does not compensate further.

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

    Purpose5/5

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

    The description clearly states 'Get detailed Bitcoin transaction information by hash' with a specific verb and resource, and distinguishes itself from sibling tools like btc_address and btc_balance by focusing on transaction hashes rather than addresses or balances.

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

    Usage Guidelines4/5

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

    The description clearly implies the use case: when you have a Bitcoin transaction hash and need details. It does not explicitly name alternatives or exclusions, but the sibling tool naming makes the context clear enough. A 4 is appropriate because it gives clear actionable guidance without needing to mention every sibling.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It usefully discloses the authentication requirement ('Requires INTELX_API_KEY') and implies data retrieval, but it does not describe pagination behavior, possible empty results, error conditions, or response structure. More context could be added, so 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.

    Conciseness5/5

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

    Two sentences with the primary action and key constraint front-loaded. Every word earns its place; no redundant or vague filler. This is appropriately concise.

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

    Completeness4/5

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

    The tool is simple with three well-described parameters and no output schema. The description covers purpose, sequencing, and authentication. While it does not detail the return format, the phrase 'get actual data' plus the schema's limit/offset parameters provide enough context for an agent to select and invoke the tool correctly.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the baseline is 3. The description adds no parameter-specific meaning beyond the schema; 'id' is already described as 'Search ID from intelx_search' in the schema. The tool description does not need to compensate for missing schema info.

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

    Purpose5/5

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

    The description uses a specific verb ('Retrieve results') and identifies the precise resource ('IntelligenceX search by ID'). It clearly distinguishes from siblings by stating 'Use after intelx_search', which sets it apart from intelx_search (initiation) and phonebook result tools.

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

    Usage Guidelines4/5

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

    Provides clear usage context: 'Use after intelx_search to get actual data.' This tells the agent when to invoke it and the dependency on a prior search. It does not explicitly list when not to use or mention alternatives like intelx_phonebook_results, but the guidance is sufficient for typical use.

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

  • Behavior3/5

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

    No annotations are provided, so the description bears the full burden. It does disclose the authentication requirement (requires HYBRID_API_KEY) and the output type (samples with verdicts), but it omits other behavioral context such as pagination, rate limits, or any specific constraints of the feed. This is a moderate amount of transparency.

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

    Conciseness5/5

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

    The description is three sentences, each earning its place: the first states the action and source, the second states the return content, and the third states a prerequisite. It is concise with no redundant information.

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

    Completeness4/5

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

    For a tool with no parameters and no output schema, the description provides the essential purpose and return type (recently analyzed samples with verdicts), plus the required API key. It does not fully describe the output structure or any potential use cases, but for a simple feed retrieval this is largely sufficient.

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

    Parameters4/5

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

    The tool has zero parameters, so the schema provides no parameter information. The baseline for 0 parameters is 4, and the description does not need to add parameter semantics since there are none to describe.

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

    Purpose5/5

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

    The description clearly identifies the tool as 'Get the latest malware detonation feed from Hybrid Analysis', specifying the action (get), the resource (malware detonation feed), and the source (Hybrid Analysis). This distinguishes it from sibling tools like malware_search and malware_overview, which are for different purposes.

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

    Usage Guidelines3/5

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

    The description implies usage for retrieving the most recent detonation samples, but it does not explicitly state when to use this tool instead of alternatives. It lacks direct guidance on alternatives or exclusions, so it only achieves an 'implied usage' level rather than clear context.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the burden. It indicates this is a read operation ('Look up') and describes the returned data, but does not disclose potential rate limits, authentication requirements, or the fact that no state is modified. For a lookup tool, this is minimal but not entirely absent.

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

    Conciseness5/5

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

    The description is a single concise sentence followed by a short listing of return types. It is front-loaded with the main action and contains no redundant information.

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

    Completeness4/5

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

    For a simple one-parameter lookup tool with no output schema and no annotations, the description provides enough: it identifies the source (AlienVault OTX), the input domain, and the return categories. It does not describe output structure or edge cases, but is complete for basic usage.

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

    Parameters3/5

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

    Schema description coverage is 100% for the single 'domain' parameter, so the schema already documents it fully. The description does not add extra semantics beyond restating 'domain' and the example, so the baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the action 'Look up threat intelligence for a domain via AlienVault OTX', which combines a specific verb with a resource. It also lists the return types ('pulse info, whois, reputation'), distinguishing it from sibling tools like otx_ip and otx_hash by the domain focus.

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

    Usage Guidelines4/5

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

    The description clearly implies when to use the tool: when a user needs threat intelligence for a domain. It provides context by naming the source (AlienVault OTX) and the output types, though it does not explicitly exclude alternatives or mention sibling tools.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the transparency burden. It notes the external source (AlienVault OTX) and the action ('Look up') implies a read-only operation, but it doesn't disclose any authentication requirements, rate limits, or the shape of the returned threat intelligence. This is adequate but not fully transparent.

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

    Conciseness5/5

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

    The description is a single, 14-word sentence that is front-loaded with the main action. There is no filler or unnecessary elaboration, making it appropriately concise.

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

    Completeness4/5

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

    The tool is simple with one parameter, no output schema, and no annotations. The description covers the core purpose but doesn't specify what kind of threat intelligence is returned (e.g., reputation scores, detections). While not severely incomplete, it could be slightly enriched to be fully self-sufficient.

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

    Parameters3/5

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

    Schema coverage is 100% and the schema already describes the parameter as 'File hash (MD5, SHA1, or SHA256)'. The description redundantly repeats the supported hash types, adding no new meaning beyond the schema. Baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states a specific action ('Look up threat intelligence') with a specific resource ('a file hash') and names the provider ('AlienVault OTX'). It distinguishes itself from sibling tools like otx_ip and otx_domain by explicitly targeting hashes.

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

    Usage Guidelines4/5

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

    The description provides clear context that this tool is for file hashes, and the mention of supported hash types (MD5, SHA1, SHA256) implies when to use it. It doesn't explicitly compare to alternatives, but the sibling names make the differentiation obvious enough for a score of 4 rather than 5.

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

  • Behavior3/5

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

    No annotations are provided, but the description makes clear this is a read-only fetch. It does not disclose limits or ordering beyond 'most recent', yet for a simple retrieval, the transparency is adequate.

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

    Conciseness5/5

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

    The description is a single, well-structured sentence that front-loads the primary action and includes the key returned fields. No extraneous words.

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

    Completeness4/5

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

    For a 0-param tool with no output schema, the description covers the essential return fields and source. It could mention whether a limit is applied, but 'most recent' implies ordering, making it nearly complete.

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

    Parameters4/5

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

    There are zero parameters, so the description is not required to explain any. The 0-param baseline of 4 applies, and no additional semantic information is needed.

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

    Purpose5/5

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

    The description uses a specific verb 'fetch' and identifies the resource as 'most recent ransomware posts and victim claims from RansomLook'. It also lists return fields, distinguishing it from siblings like ransomwareRecent and ransomlookGroups.

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

    Usage Guidelines3/5

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

    The description implies the tool is for RansomLook-specific data, but it does not explicitly state when to use it over similar siblings like ransomwareRecent. Usage is inferred rather than explicitly guided.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It clearly indicates a safe read operation ('Get') and outlines return content, but does not disclose behavior for unknown names, casing, or error handling. This is adequate but not deeply transparent.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence that names the action, target, and included fields. No waste; every phrase adds value.

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

    Completeness4/5

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

    For a simple one-parameter lookup with no output schema, the description sufficiently lists return content and shows the expected input via examples. It is complete enough for selection and invocation, though it could mention exact-match requirements.

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

    Parameters3/5

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

    Schema coverage is 100% and the single parameter name already includes type and examples. The description adds no extra parameter semantics, so the baseline of 3 applies.

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

    Purpose5/5

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

    The description clearly states the tool retrieves a detailed profile for a specific ransomware group by name, listing included content (description, URLs, locations, metadata). This distinguishes it from sibling tools like ransomwareGroups (list) and ransomwareGroupVictims (victims).

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

    Usage Guidelines4/5

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

    It implies usage when you have a specific group name and need a profile, which contrasts with list or search tools. However, it does not explicitly mention when not to use it or name alternative tools.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden. It states the basic read behavior and what is returned, satisfying the minimum for a simple list operation. However, it does not disclose potential rate limits, data freshness, or any edge-case behavior, which would be needed for a higher score.

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

    Conciseness5/5

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

    The description is a single sentence of roughly 20 words, front-loaded with the core action. It contains no filler or redundant information, earning full marks for conciseness and structure.

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

    Completeness4/5

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

    For a zero-parameter list tool with no output schema, the description adequately states the returned data fields and source. It does not mention how this tool relates to similarly named tools or any pagination, but those are less critical given the tool's simplicity.

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

    Parameters4/5

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

    The tool accepts zero parameters, and the schema is empty. The baseline for zero parameters is 4, and the description correctly clarifies the scope ('all known') without needing to document any arguments.

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

    Purpose5/5

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

    Description uses a specific verb 'List' and identifies a clear resource: 'all known ransomware groups tracked by ransomware.live.' It also details return fields (group names, descriptions, onion URLs, profile information), distinctly separating it from singular sibling tools like 'ransomwareGroup' or 'ransomwareGroupVictims.'

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

    Usage Guidelines3/5

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

    Usage is implied ('call this to list all groups'), but the description gives no explicit guidance on when to prefer this over siblings like ransomwareRecent, ransomwareSearch, or ransomwareGroup. No alternatives 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.

  • Behavior3/5

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

    With no annotations, the description must carry the behavioral disclosure burden. It adds the authentication requirement and clarifies the return type (compromised machines). However, it does not disclose details like rate limits, pagination, or data freshness. 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.

    Conciseness5/5

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

    The description is three concise sentences, front-loaded with the action. Each sentence adds value: purpose, output, and requirement. There is zero fluff or repetition.

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

    Completeness4/5

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

    For a simple tool with one parameter and no output schema, the description is quite complete. It gives purpose, input, a high-level output description, and an auth requirement. It does not mention any constraints like result limits, but given the simplicity, this is a minor gap.

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

    Parameters3/5

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

    The input schema already describes the single 'ip' parameter as 'IP address to search' with 100% coverage. The tool description does not add any additional format or semantic details about the parameter, so the baseline of 3 applies.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Search Hudson Rock Cavalier stealer logs by IP address.' It specifies the resource (stealer logs) and the search key (IP address), and distinguishes it from sibling tools like stealer_domain and stealer_email by the search parameter. The output is also described: 'Returns compromised machines originating from that IP.'

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

    Usage Guidelines4/5

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

    The description provides clear context for when to use this tool: when searching by IP address. It also mentions a prerequisite: 'Requires HUDSONROCK_API_KEY.' However, it does not explicitly mention alternatives or when not to use this tool, so it stops short of a 5.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden for behavioral disclosure. It states that the tool 'returns indicators of compromise,' which reveals the primary read behavior, but doesn't go beyond that to mention rate limits, data formats, or potential side effects. For a simple read operation, 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.

    Conciseness5/5

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

    The description is a single concise sentence that is front-loaded with the core action ('Get recent IOCs') and ends with a clear elaboration on the time window. Every word adds value, and there is no redundancy or filler.

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

    Completeness4/5

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

    Given the tool's simplicity (one well-documented parameter, no output schema), the description adequately covers its purpose and return behavior. It explains what the tool does and what it returns, but it doesn't specify the exact output structure. However, for a simple list of IOCs, this is sufficient for an agent to invoke it correctly.

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

    Parameters3/5

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

    The schema description covers 100% of the single parameter (days) with full details including default, min, max, and description. The tool description's mention of 'last N days' simply restates the schema, adding no new meaning. Baseline 3 is appropriate because the schema handles parameter documentation.

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

    Purpose5/5

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

    The description clearly states the tool's function with a specific verb and resource: 'Get recent IOCs from ThreatFox (abuse.ch).' It also specifies that it returns indicators of compromise from the last N days, distinguishing it from sibling tools like threatfoxSearch or threatfoxTag which have different scopes.

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

    Usage Guidelines4/5

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

    The description provides clear context for when to use this tool: when you need recent IOCs within a time window. It doesn't explicitly mention alternatives or exclusions, but the 'last N days' framing implies a temporal query, and the name contrasts with more focused siblings like threatfoxTag or threatfoxSearch.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden. It discloses its read-only nature via 'Search' and the naming convention, but does not mention prerequisites, rate limits, or return format. This is adequate but lacks richer behavioral context.

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

    Conciseness5/5

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

    The description is a single, focused sentence with a clear verb and specific examples. No wasted words or unnecessary detail.

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

    Completeness4/5

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

    For a simple search tool with two well-documented parameters and no output schema, the description covers the essential purpose and naming convention. It doesn't explain the return value structure, but that is not explicitly required given the simplicity.

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

    Parameters3/5

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

    The input schema already provides complete descriptions for both parameters, including the Malpedia format example. The tool description repeats the example but adds no new parameter semantics, so a baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the action (Search), the resource (ThreatFox IOCs), and the specific filter (by malware family using Malpedia naming). It provides concrete examples (win.cobalt_strike, win.emotet) that distinguish it from sibling tools like threatfoxTag or threatfoxGetIocs.

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

    Usage Guidelines4/5

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

    The description implies the use case: querying IOCs by a specific malware family. It does not explicitly name alternatives or exclusions, but the focus on Malpedia family names provides clear context for when 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.

  • Behavior3/5

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

    With no annotations provided, the description carries the burden of behavioral disclosure. It does add useful context about the Tor daemon dependency and DNS leak prevention via socks5h, but it omits details on error handling (e.g., what happens if Tor is not running, timeout behavior) and any rate limits. This is adequate but not fully transparent.

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

    Conciseness5/5

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

    The description is two sentences, front-loaded with the core action ('Fetch raw HTML'), and every sentence provides essential information (what, how, prerequisite, constraint). There is no waste or redundancy.

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

    Completeness4/5

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

    This is a simple one-parameter tool with no output schema or nested objects. The description covers the core behavior, prerequisite (Tor daemon), and input constraint, which is largely complete. It could specify failure modes (e.g., if Tor is inaccessible), but given the low complexity, the description is sufficient.

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

    Parameters3/5

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

    The schema description of the 'url' parameter already covers its purpose ('.onion URL to fetch (http:// or https://)'). The tool description adds the constraint that only .onion URLs are allowed, but this is implied by the schema and not a significant semantic addition. With 100% schema coverage, a baseline of 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states a specific action ('Fetch raw HTML') targeting a specific resource ('.onion URL') via a specific mechanism (Tor SOCKS5 proxy). This clearly distinguishes it from sibling tools like tor_scrape_onion and tor_search_onion, which imply different purposes.

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

    Usage Guidelines4/5

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

    The description provides clear usage context: it requires a running Tor daemon and only accepts .onion URLs, which tells the agent when this tool is appropriate. However, it does not explicitly contrast with alternatives (e.g., tor_scrape_onion) or mention when not to use it, so it lacks the explicit when-not guidance for a 5.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It discloses that the tool filters results to exploit type only, which is useful behavioral info. But it does not mention any limitations (e.g., reliance on Vulners' API), output format, or whether it requires authentication. For a search tool, 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.

    Conciseness5/5

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

    One concise sentence that front-loads the core purpose and adds the filter detail. No wasted words.

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

    Completeness4/5

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

    The tool is simple with only two parameters, and the description covers the key functional behavior. However, there is no output schema, and the description does not mention what the returned results look like. For a simple search tool, the description is mostly complete, but slightly more detail about the response would round it out.

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

    Parameters3/5

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

    Schema description coverage is 100%, and the schema already explains 'query' and 'limit' clearly. The description does not add any additional meaning about the parameters, so it receives the baseline 3.

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

    Purpose5/5

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

    The description states a specific verb ('Search') and resource ('exploits on Vulners (ExploitDB entries)'), and explicitly says 'Filters results to exploit type only.' This clearly distinguishes it from sibling tools like vulners_search, which likely return all vulnerability types.

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

    Usage Guidelines4/5

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

    The description implies when to use this tool: when you specifically want exploits from ExploitDB. The phrase 'Search specifically' and 'Filters results to exploit type only' gives clear context. However, it does not explicitly name an alternative for general vulnerability searches or state when not to use it, so it stops short of a 5.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It goes beyond the basic operation by revealing that the tool depends on a paid API endpoint and requires HIBP_API_KEY. This is a meaningful prerequisite and cost/access implication that an agent must know. It also clarifies that the search targets publicly posted pastes, setting expectations about scope. However, it does not mention rate limits or error handling, which would be valuable but not essential for a simple read-only search.

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

    Conciseness5/5

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

    The description consists of two concise sentences. The first sentence front-loads the primary action and purpose. The second adds a critical prerequisite without unnecessary detail. Every word earns its place, with no fluff or repetition.

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

    Completeness3/5

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

    The tool has one parameter and no output schema, so the description is responsible for explaining not just purpose but also what the caller can expect. It clearly covers purpose, source, and authentication. However, it fails to disclose the return format (e.g., a list of paste URLs or an empty result) or possible failure modes (e.g., no matches, invalid key). Given no output schema exists, this omission leaves the agent uncertain about how to handle the response, making the description incomplete for a self-contained tool.

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

    Parameters3/5

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

    The input schema already has 100% coverage: the 'email' property includes a description ('The email address to search for in pastes'). The tool description repeats the same concept without adding new meaning. No additional parameter semantics, such as format requirements or expected input examples, are provided. The baseline of 3 is appropriate because the schema does the heavy lifting and the description adds no extra semantic value.

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

    Purpose5/5

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

    The description clearly states the action ('Search for an email address'), the resource ('publicly posted pastes (Pastebin, etc.)'), and the service ('via HaveIBeenPwned'). This is a specific verb+resource+scope construction that distinguishes it from sibling tools like breachList or breachSearch, which cover broader breach data. The mention of 'Pastebin, etc.' further scopes the 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.

    Usage Guidelines4/5

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

    The description implies usage context: when you need to find whether an email appears in pastes. It does not explicitly list exclusions or alternative tools, but the phrase 'Search for an email address' makes the trigger condition clear. The added prerequisite 'Requires HIBP_API_KEY (paid endpoint)' provides important context about when the tool can be used (i.e., only when the key is available). No explicit alternatives are named, so it doesn't reach the highest bar.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the transparency burden. It discloses that the endpoint is free and requires no API key, which is useful access information. However, it does not state whether the operation is read-only, mention rate limits, or describe the response format, leaving some behavioral details unaddressed.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence. The core purpose ('Get the most recently added data breach') comes first, followed by the access note. Every word adds value with no redundancy or filler.

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

    Completeness4/5

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

    For a tool with no parameters, no output schema, and no annotations, the description covers the essential purpose and access requirements. It could add a note about the response format, but the simplicity of the tool and the clarity of 'data breach' make this a minor gap. The description is complete enough for an AI to select and invoke correctly.

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

    Parameters4/5

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

    The input schema has zero parameters, and the description correctly adds no parameter information. Per the rubric, 0 parameters earns a baseline of 4. The description does not undermine this by implying non-existent parameters.

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

    Purpose5/5

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

    The description uses a specific verb ('Get') and resource ('most recently added data breach'), explicitly identifying the source (HaveIBeenPwned). It clearly distinguishes this from sibling tools like breachList (lists all breaches) and breachGet (retrieves a specific breach) by focusing on the latest addition.

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

    Usage Guidelines4/5

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

    The description implies the usage context: use this when you need the most recent breach. It also adds access conditions ('Free endpoint, no API key required'), which is helpful. However, it does not explicitly name alternatives or exclusions, so it stops short of a full usage guideline.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It discloses the prerequisite API key and the sequential dependency, but does not mention pagination, error handling, or return format beyond what the schema implies. For a simple retrieval operation, 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.

    Conciseness5/5

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

    Two short sentences immediately state the action and the usage prerequisite. No filler or redundant wording; every word earns its place.

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

    Completeness4/5

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

    For a straightforward retrieval tool with 3 parameters and no output schema, the description provides the core essentials: purpose, sequence, and prerequisite. It lacks a note about response format, but the phrase 'phonebook search results' sufficiently implies the return type. Complete enough for a knowledgeable agent.

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

    Parameters3/5

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

    Schema description coverage is 100%, with each parameter already well-described ('Phonebook search ID from intelx_phonebook', 'Max results per page', 'Result offset'). The description adds no extra semantic meaning beyond the schema, so the baseline 3 applies.

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

    Purpose5/5

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

    The description states a specific verb ('Retrieve') and resource ('phonebook search results from IntelligenceX by ID'), clearly distinguishing it from the sibling tool intelx_phonebook. The phrase 'by ID' and the context of result retrieval make its purpose unambiguous.

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

    Usage Guidelines5/5

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

    Explicitly says 'Use after intelx_phonebook', providing a direct sequential instruction. Also notes the prerequisite 'Requires INTELX_API_KEY'. This gives clear when-to-use guidance and differentiates from the search initiation tool.

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

  • Behavior4/5

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

    No annotations are provided, so the description must convey the tool's behavioral profile. It discloses that the operation is a search (non-destructive), what data it returns, and the need for an API key. This is transparent for a read-only hash lookup, though it does not mention rate limits or error behaviors.

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

    Conciseness5/5

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

    The description is two concise sentences: the first states the action and input, the second the output and requirement. Every sentence carries essential information with no fluff or redundancy.

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

    Completeness4/5

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

    For a simple one-parameter search tool with no output schema, the description is sufficiently complete. It covers the purpose, supported hash formats, the service (Hybrid Analysis), return data, and the API key requirement. Minor gaps include not addressing empty results or invalid hash handling, but these are not critical for typical use.

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

    Parameters3/5

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

    The schema already provides 100% coverage of the 'hash' parameter, describing it as 'File hash (MD5, SHA1, or SHA256)'. The description repeats this information ('by file hash (MD5, SHA1, SHA256)') without adding new semantic meaning, so it meets the baseline for high schema coverage.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Search Hybrid Analysis sandbox by file hash (MD5, SHA1, SHA256)' and specifies the return values (verdict, AV detection rate, analysis details). This distinguishes it from sibling hash-search tools like bazaarHash by naming the Hybrid Analysis service explicitly.

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

    Usage Guidelines4/5

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

    The description provides clear context for when to use the tool: when you have a file hash and need Hybrid Analysis sandbox results. It also mentions the prerequisite 'Requires HYBRID_API_KEY,' but it does not explicitly name alternatives or state when not to use the tool.

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

  • Behavior4/5

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

    With no annotations, the description carries the full burden. It discloses what the operation returns ('matching pulses with tags, malware families, and IOC counts'), adding useful context beyond the schema. It does not mention authentication, rate limits, or pagination details, but for a simple search tool the behavioral traits are sufficiently transparent.

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

    Conciseness5/5

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

    The description is a single sentence, front-loaded with the purpose ('Search AlienVault OTX threat pulses by keyword') and followed by return-value details. No wasted words.

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

    Completeness4/5

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

    Given the simple interface (2 params, no output schema, no annotations), the description adequately covers the core behavior and return contents. It could mention pagination or default limit behavior, but those are already in the schema, so the description is nearly complete.

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

    Parameters3/5

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

    Schema description coverage is 100%; both 'query' and 'limit' have clear descriptions in the schema. The tool description adds no additional parameter-level meaning, so the baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description uses a specific verb ('Search'), names the exact resource ('AlienVault OTX threat pulses'), and specifies the scope ('by keyword'). This clearly distinguishes it from sibling tools that target specific IOC types (otx_ip, otx_domain, otx_hash, otx_cve).

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

    Usage Guidelines4/5

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

    The phrase 'by keyword' clearly implies this is the text-search tool, distinct from IOC-specific lookups among the siblings. However, it does not explicitly name alternatives or provide when-not-to-use guidance, so it stops short of a 5.

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

  • Behavior4/5

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

    With no annotations, the description carries the full burden. It discloses matching behavior and scope, and the read-only nature is strongly implied by 'Search' and 'Matches'. It could add pagination or result format details, but for a simple search this is not critical.

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

    Conciseness5/5

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

    Two sentences, front-loaded with the core action, and every clause contributes (scope, matching behavior, use case). No redundancy or filler.

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

    Completeness4/5

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

    For a simple single-parameter search with no output schema, the description gives enough context to select and invoke it: what it searches, what it matches, and when it is useful. It doesn't explicitly state return shape, but it is reasonable to infer matching victim entries.

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

    Parameters3/5

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

    Schema coverage is 100% and the schema's keyword description already explains the parameter. The description adds context about which fields are matched but no additional parameter format or examples beyond the schema.

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

    Purpose5/5

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

    Description uses a specific verb+resource ('Search ransomware victims by keyword') and specifies matching fields (victim names, descriptions, other fields), which clearly distinguishes it from sibling list/aggregate ransomware tools like ransomwareRecent or ransomwareByCountry.

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

    Usage Guidelines4/5

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

    Provides a clear use case ('checking if a specific company has been listed as a victim') that signals when to choose this tool over broad list or filter endpoints. It does not explicitly name alternatives or exclusions, but the context is sufficient for an agent.

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

  • Behavior4/5

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

    Without annotations, the description discloses the return value (compromised machines with that email in browser credentials) and an authentication requirement (HUDSONROCK_API_KEY). This goes beyond a bare 'search' statement and provides meaningful behavioral context, though it omits failure modes 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.

    Conciseness5/5

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

    Two sentences cover purpose, output, and requirement with no redundancy or filler. The structure is front-loaded with the primary action and resource.

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

    Completeness4/5

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

    For a single-parameter search tool with no output schema, the description covers the core functionality and result type. It lacks explicit pagination or limit details, but that is not critical for the tool's purpose. The description is sufficiently complete to guide usage.

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

    Parameters3/5

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

    Schema coverage is 100% with a self-explanatory 'email' parameter description. The tool description reaffirms the search field but does not add new parameter-specific details beyond what the schema already states, so baseline 3 is appropriate.

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

    Purpose5/5

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

    The description uses a specific verb ('Search') and resource ('Hudson Rock Cavalier stealer logs') with a clear filter (by email). It distinguishes this from sibling tools like stealer_domain and stealer_ip by specifying the email-based query and the output (compromised machines with browser credentials).

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

    Usage Guidelines4/5

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

    The description states the input type (email address) and output (compromised machines), implying when to use it, but it does not explicitly name alternatives or provide exclusionary guidance. The API key requirement is a prerequisite, not a usage guideline. Sibling tool names suggest obvious distinctions, giving clear context.

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

  • Behavior3/5

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

    With no annotations, the description carries the burden of behavioral disclosure. It states it checks 'running and accessible' and returns 'connectivity status,' which is transparent about the check itself. However, it doesn't specify the return format (e.g., boolean vs object), leaving some ambiguity about what the agent will receive.

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

    Conciseness5/5

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

    The description is a single, well-structured sentence that front-loads the main action and purpose. Every word adds value—no fluff or repetition.

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

    Completeness4/5

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

    For a zero-parameter tool with no output schema, the description covers the core purpose and expected result. It could benefit from a bit more detail on what 'connectivity status' entails (e.g., active, failed, timeout), but it's sufficiently complete for a simple status check.

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

    Parameters4/5

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

    The tool has zero parameters, so the schema is trivially complete (100% coverage). The description adds no parameter-specific information, but that's unnecessary. Baseline for no parameters is 4, which is appropriate.

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

    Purpose5/5

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

    The description uses the specific verb 'Check' and clearly identifies the resource ('local Tor SOCKS5 proxy daemon'), stating it returns connectivity status for .onion fetching. This distinguishes it from sibling tools like tor_fetch_onion and tor_scrape_onion, which perform operations rather than status checks.

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

    Usage Guidelines4/5

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

    The description implies the tool is used to verify Tor connectivity before attempting .onion operations, providing clear context. It doesn't explicitly name alternatives or exclusions, but the purpose is intuitive given the sibling list, so it earns a 4 rather than 5.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the burden of behavioral disclosure. It adds useful information: 'Free, no API key required' addresses authentication requirements. 'Look up' implies a read-only operation, but it does not specify return format, error behavior, or pagination. For a simple lookup tool, this is moderately transparent but lacks some context.

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

    Conciseness5/5

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

    The description is three short sentences, front-loaded with the primary action and purpose. Every sentence earns its place: 'Look up...' for purpose, 'Free, no API key required' for access, and 'Supports CVE, EDB, GHSA IDs' for input guidance. No unnecessary words.

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

    Completeness4/5

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

    For a single-parameter lookup tool with no output schema, the description provides sufficient context: what to look up, where, and what ID formats are supported. It omits details about the return payload, but that is less critical given the tool's simplicity. It is nearly complete, only lacking explicit mention of invalid ID handling.

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

    Parameters4/5

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

    The schema already describes the 'id' parameter with examples (CVE-2024-1234, EDB-ID:12345), achieving 100% coverage. The description adds value by explicitly listing supported ID families (CVE, EDB, GHSA), which goes slightly beyond the schema's examples by including GHSA. This enriches the agent's understanding of accepted inputs.

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

    Purpose5/5

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

    The description clearly states the tool's purpose: to look up a specific vulnerability or exploit by ID on Vulners. This distinguishes it from sibling tools like vulners_search and vulners_exploit, which are search and exploit-specific lookups respectively. The verb 'look up' and resource 'vulnerability or exploit by ID' are specific and unambiguous.

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

    Usage Guidelines4/5

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

    The description makes clear that this tool is used when a specific ID is available, stating 'by ID' and listing supported ID types (CVE, EDB, GHSA). It implies usage context without explicitly mentioning alternatives or exclusions. However, because siblings exist for searching (vulners_search), the context is clear enough for an agent to select this tool when an ID is known.

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

  • Behavior3/5

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

    With no annotations, the description carries the behavioral disclosure burden. It reveals that the endpoint is free and requires no API key, which is useful. However, it does not mention rate limits, response format, or pagination, leaving some behavioral uncertainty.

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

    Conciseness5/5

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

    The description is only two sentences, with the main action front-loaded. Every phrase adds value, including the clarification of 'data classes' and the free/no-API-key note. No words are wasted.

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

    Completeness5/5

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

    For a simple zero-parameter tool, the description provides sufficient context: what it lists, where the data comes from, and access requirements. It even defines the ambiguous term. No output schema exists, but the phrase 'List all data classes' implies a list result, which is enough.

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

    Parameters4/5

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

    The tool has zero parameters, so the baseline for parameter semantics is 4. The description does not need to explain parameters, and it adds no parameter-specific information, which is appropriate here.

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

    Purpose5/5

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

    The description uses the specific verb 'List' with a clear resource ('all data classes') and context ('known to HaveIBeenPwned'). It also clarifies the term with a parenthetical definition, making the purpose unmistakable and distinct from sibling breach-related tools.

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

    Usage Guidelines4/5

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

    The description clearly states what the tool does and notes that it is free and requires no API key, which guides usage. It does not explicitly mention alternatives or exclusions, but the use case is unambiguous given the tool's specific purpose.

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

  • Behavior4/5

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

    With no annotations, the description carries the burden. It discloses that the tool uses PhishTank and returns verification status. It does not mention rate limits or privacy implications of sending a URL to a third party, but for a simple read-only lookup, this is reasonably transparent.

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

    Conciseness5/5

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

    The description is a single sentence that is concise, front-loaded with the primary action, and contains no filler or repetition of the tool name.

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

    Completeness5/5

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

    Given the tool's simplicity, the description fully covers its behavior and return information. Even without an output schema, the agent knows what to expect: a phishing status and verification flag. No additional context is essential.

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

    Parameters3/5

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

    The schema description coverage is 100%, so the schema already documents the url parameter. The description adds no further syntax or format details, but also does not need to. Baseline 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the tool checks if a URL is a known phishing site via PhishTank, naming the specific resource and the service used. It distinguishes from sibling tools like urlhausLookup by explicitly naming PhishTank.

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

    Usage Guidelines4/5

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

    The description implies clear usage: check a URL for phishing. It does not explicitly list alternatives or exclusions, but the context of it being a URL-specific phishing check is clear given the sibling tools are other security checks.

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

  • Behavior4/5

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

    With no annotations, the description carries the burden and does well by specifying what the agent will receive: configuration status, API keys, and available tools. The verb 'List' implies a safe, read-only operation. It does not disclose potential external calls or limitations, but for a simple listing tool this is sufficient.

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

    Conciseness5/5

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

    A single, well-front-loaded sentence communicates the purpose and output details with no redundancy. Every word adds value.

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

    Completeness5/5

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

    For a no-parameter tool without an output schema, the description provides sufficient context by listing the key output fields. It is complete for its simplicity, and the absence of cautionary notes is acceptable given the benign list operation.

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

    Parameters4/5

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

    The tool has zero parameters, and the input schema is empty, so the baseline is 4. The description correctly focuses on the output rather than parameters, and there is nothing more to add.

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

    Purpose5/5

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

    The description clearly states the verb ('List'), the resource ('darknet-mcp data sources'), and the specific output content (configuration status, required API keys, available tools). This distinguishes it from sibling data-fetching tools, which focus on specific data lookups.

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

    Usage Guidelines4/5

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

    The description implies the tool is for discovering what data sources are available and their configuration, which is clear context for a no-parameter list-all tool. It does not explicitly mention alternatives, but its role as a meta-tool is evident from the name and description.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses the return type (582+ groups), the fields (names and URLs), and the data source (RansomLook). For a read-only listing operation, this is adequate transparency, although it omits details like 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.

    Conciseness5/5

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

    The description is two concise sentences, front-loaded with the core purpose ('List all ransomware groups tracked by RansomLook'), followed by output details and source context. Every sentence earns its place with no redundancy or filler.

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

    Completeness5/5

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

    For a zero-parameter, read-only list tool with no output schema, the description is complete. It explains exactly what is returned (582+ groups with names and URLs), identifies the data source, and positions it relative to ransomware.live. No critical information is missing for an agent to invoke and interpret the results.

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

    Parameters4/5

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

    The tool has zero parameters, so the baseline is 4 as per the rubric. The description adds value by explaining what data is returned, which is useful even though no parameter documentation is needed.

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

    Purpose5/5

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

    The description uses a specific verb ('List') and resource ('all ransomware groups tracked by RansomLook'), clearly stating the output ('582+ groups with names and associated onion/clear-web URLs'). It also distinguishes itself from siblings by noting it is 'Complementary source to ransomware.live', which differentiates it from the similarly named 'ransomwareGroups' tool.

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

    Usage Guidelines4/5

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

    The description provides clear usage context by indicating this is a complementary source to ransomware.live, implying it should be used when RansomLook data is desired, possibly alongside ransomware.live data. It does not explicitly exclude alternatives or name sibling tools, but the context is sufficient for guiding tool selection.

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

  • Behavior5/5

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

    No annotations are provided, so the description fully carries the behavioral disclosure burden. It reveals key traits: only the first 5 characters of the SHA-1 hash are sent, the service is free, and no API key is needed. This is significant and goes beyond a simple 'check' statement.

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

    Conciseness5/5

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

    Two concise sentences: first states purpose, second adds relevant technical and access details. No fluff or redundancy; every word earns its place.

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

    Completeness4/5

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

    The tool is simple (one parameter, no output schema), and the description covers purpose, method, privacy, and requirements. It does not describe the response format, but for this low-complexity tool with no output schema, the absence is a minor gap rather than a critical omission.

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

    Parameters4/5

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

    The schema already fully describes the 'password' parameter, so baseline is 3. The description adds meaningful context about how the password is processed (hashed and truncated), which enriches the parameter semantics beyond the schema.

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

    Purpose5/5

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

    The description clearly states the tool checks if a password appears in known data breaches via the Pwned Passwords API. It is specific about the operation and distinguishes itself from sibling tools like breachList or breachGet, which focus on breach datasets rather than direct password verification.

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

    Usage Guidelines4/5

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

    The description implies usage: checking a password against breach data. It provides clear context (k-anonymity, no API key required) but does not explicitly mention when not to use it or recommend alternatives. This fits 'clear context, no exclusions'.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

darknet-mcp-server MCP server

Copy to your README.md:

Score Badge

darknet-mcp-server MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/utrawal9185-cmd/darknet-mcp-server'

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