Skip to main content
Glama

quality_report

Read-only

Compute per-feature statistics (range, mean, std, percentiles, NaN ratio) and detect anomalous windows with robust z-scoring to identify dataset quality issues.

Instructions

Compute per-feature statistics (range, mean, std, percentiles, NaN ratio) and detect anomalous windows (jumps, stalls, non-finite spans) with robust z-scoring. Results are cached by dataset fingerprint and parameters unless use_cache=false. Emits MCP progress notifications when the request carries _meta.progressToken.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "path": "<path>"
    },
    "name": "quality_report"
  }
}

Input Schema

NameRequiredDescriptionDefault
zNo
pathYes
episodesNo
featuresNo
use_cacheNoReuse a fingerprint-keyed report when the dataset and parameters are unchanged.
max_framesNoHard materialization cap; 0 means unlimited; defaults to EMBODIED_MAX_FRAMES.
chunk_framesNoFrames per streaming chunk; defaults to 50000 or EMBODIED_CHUNK_FRAMES.
refresh_cacheNoIgnore any cached report and replace it after recomputing.
skip_anomaliesNo
include_segmentsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / chunk_frames
      Added value: +{
      +  "description": "Frames per streaming chunk; defaults to 50000 or EMBODIED_CHUNK_FRAMES.",
      +  "type": "integer"
      +}
    • addedInput schema / properties / max_frames
      Added value: +{
      +  "description": "Hard materialization cap; 0 means unlimited; defaults to EMBODIED_MAX_FRAMES.",
      +  "type": "integer"
      +}
    • addedInput schema / properties / refresh_cache
      Added value: +{
      +  "default": false,
      +  "description": "Ignore any cached report and replace it after recomputing.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / use_cache
      Added value: +{
      +  "default": true,
      +  "description": "Reuse a fingerprint-keyed report when the dataset and parameters are unchanged.",
      +  "type": "boolean"
      +}
  2. First observedv0.1.0

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and destructiveHint=false, so the safety profile needs no restating. The description adds real context beyond that: fingerprint-keyed caching with an opt-out, and out-of-band MCP progress notifications tied to _meta.progressToken. It omits one notable detail, that caching writes to persistent storage, a mild side effect for a readOnly-declared tool.

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, no filler: capability first, then caching semantics, then progress behavior. It is dense with jargon but every clause carries information, and the primary purpose is 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 complex, 10-parameter tool with 40% schema coverage and no output schema, the description covers the caching and progress behavior but leaves the return shape undefined and most parameters undocumented. An agent knows roughly what the tool does but not how to tune it or what it will receive back.

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

Parameters2/5

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

Schema coverage is only 40%, so the description must compensate for this gap, yet 10 parameters are present and it explains only use_cache and the progress token. The anomaly threshold z, plus episodes, features, skip_anomalies, include_segments, and chunk_frames, go unexplained in both the schema and the description, leaving the agent unable to set them deliberately.

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 names a concrete verb-resource pair, 'compute per-feature statistics and detect anomalous windows', and enumerates exactly which stats are covered (range, mean, std, percentiles, NaN ratio) and which anomalies (jumps, stalls, non-finite spans). It never distinguishes itself from close siblings like summarize_dataset, validate_dataset, or quality_gate, so an agent must infer the boundary from the field lists alone.

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?

When to use it is only implied by what it computes; there is no explicit statement contrasting it with summarize_dataset (which likely also reports stats) or validate_dataset (which likely also flags problems). It does usefully describe the caching condition ('unless use_cache=false'), but names no alternatives and gives no when-not-to-use guidance.

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