Skip to main content
Glama

list_available_attacks

Read-onlyIdempotent

Lists poisoning attacks PoisonDash can generate, including supported base datasets and required extra parameters; optionally filter attacks by a specific base dataset.

Instructions

List the poisoning attacks PoisonDash can generate (lc, narcissus, sa, htb), with which base datasets each supports and which extra parameters each requires. Optionally filter to attacks that support a specific base_dataset. Parameter descriptions are client-supplied documentation, not part of the API response.

Input Schema

NameRequiredDescriptionDefault
base_datasetNoOnly list attacks that support this base dataset

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

Read-only and idempotent are already covered by annotations, yet the description adds what the response contains (attacks, their dataset support matrix, and required extra parameters) plus the caveat that parameter descriptions are client-supplied documentation rather than API output. That caveat prevents a real misinterpretation; nothing is said about size of the result, but for a static enumeration this is minor.

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

Conciseness4/5

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

Three sentences, the capability and its returned metadata front-loaded, the optional filter second, and the disambiguation caveat last. Every sentence carries information, though the closing caveat reads slightly like metadata bookkeeping rather than tool behavior.

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?

With no output schema, the description carries the burden of describing returns and does so: attacks, per-attack dataset support, and per-attack extra parameters. Only the exact shape (list of objects, field names) is left implicit, which is a small gap for a one-parameter discovery tool.

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

Parameters4/5

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

Schema coverage is 100% and the enum is fully enumerated, so the baseline is 3. The description still adds meaning by clarifying the filter's semantics — it selects attacks that *support* the dataset, not attacks that produce it — which the terse schema wording leaves ambiguous.

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?

States a specific verb and resource ('List the poisoning attacks PoisonDash can generate') and enumerates the concrete values (lc, narcissus, sa, htb). It also declares the two pieces of metadata returned per attack (supported base datasets, required extra parameters), which clearly separates it from dataset/experiment siblings.

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

Usage Guidelines4/5

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

'Optionally filter to attacks that support a specific base_dataset' states the one conditional usage path and marks it optional. There is no sibling that is close enough to need an explicit exclusion, so no alternative is named, but the discovery-then-configure context is clear.

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