Skip to main content
Glama

analyze_score_distribution

Read-onlyIdempotent

Compute summary statistics (mean, median, std, quartiles, cutoff counts) over an experiment's per-sample poisoning scores to tune the detection threshold.

Instructions

Compute summary statistics over an experiment's per-sample poisoning scores: mean, median, std, min, max, quartiles, and counts above fixed cutoffs (0.3, 0.5, 0.7) plus a chosen threshold. per_sample_scores covers only the suspect set with no clean/suspect ground-truth label, so these statistics describe the suspect score population only -- a clean-vs-suspect separation isn't computable from this data. Useful for tuning the detection threshold.

Input Schema

NameRequiredDescriptionDefault
thresholdNoThreshold to report the above/below split for; defaults to the experiment's stored threshold
experiment_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so safety is covered; the description goes further by disclosing the data scope limitation — per_sample_scores covers only the suspect set, carries no ground-truth labels, so separation metrics cannot be derived. This is exactly the kind of caveat an agent needs before interpreting results, though it stops short of noting edge cases like an empty suspect set.

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?

Three tight sentences: what is computed, what the data does not support, and what it is for. The statistic enumeration is dense but front-loaded and every clause carries decision-relevant 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?

With no output schema, the description correctly takes on the burden of enumerating return values, and it adds a critical interpretation caveat. It is nearly complete for a two-parameter read tool; only empty-data behavior and the exact shape of the cutoff counts are left implicit.

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 only 50%: threshold is documented in-schema as defaulting to the experiment's stored value, and the description reinforces its role ('a chosen threshold', the above/below split). experiment_id has no description in either place, leaving the description to compensate only partially for the coverage gap.

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 gives a specific verb ('Compute summary statistics') over a specific resource ('an experiment's per-sample poisoning scores') and enumerates exactly which statistics are produced (mean, median, std, min, max, quartiles, counts above 0.3/0.5/0.7 plus a chosen threshold). That level of enumeration makes it clearly distinct from raw-result siblings like get_experiment_results or compare_experiments.

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 states a use case ('Useful for tuning the detection threshold') and a strong usage constraint ('a clean-vs-suspect separation isn't computable from this data'), but it never names an alternative sibling or says when to prefer get_experiment_results / compare_experiments instead. Guidance is implied rather than explicit routing.

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