Skip to main content
Glama

QuassLabs API

estimate_sanity

Deterministic classifier for story/task hour estimates against benchmarks: flags each estimate in_range, borderline, over, under, or unbenchmarked. Supply either an explicit {min, max} range per type (benchmarks) or a list of historical actual hours per type (historical) that this endpoint derives a mean/stdev variance band from - explicit ranges win when both are given for the same type. No benchmark numbers are built in; a type with neither input is reported unbenchmarked, never guessed at. POST one estimate or a batch (max 200). Deterministic, no LLM.

Input Schema

NameRequiredDescriptionDefault
flag_zNoDefault 2.0. Stdevs from the historical mean beyond which a result is "over"/"under" instead of "borderline". Must be >= borderline_z.
estimateNoOne item: {id?, type, hours}. type and hours are required.
estimatesNoAlternative: batch of up to 200 items.
benchmarksNoOptional. Per type: {min?, max?}. Wins over historical for the same type.
historicalNoOptional. Per type: array of past actual hours (max 500 each), used to derive mean/stdev when no explicit benchmark exists for that type. Needs at least 2 values to produce a band.
borderline_zNoDefault 1.0. Stdevs from the historical mean before a result is "borderline" instead of "in_range".

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does most of it: it discloses determinism ('no LLM'), that no benchmark numbers are built in, that unbenchmarked types are never guessed at, and the precedence rule. It stops short of stating that the endpoint is side-effect free / persists nothing, and the 'POST' wording could momentarily read as a write.

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?

Front-loaded with the core classification behavior, then input modes, then limits — a sensible order with essentially no filler. The middle sentence about ranges-vs-historical is long and slightly run-on, but every clause conveys a real constraint.

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 6-parameter tool with nested objects and no output schema, the description covers inputs, precedence, and the vocabulary of returned flags. It leaves the response shape (per-item structure, aggregate counts, error behavior when called with zero parameters) unspecified, which is the main residual gap.

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 baseline is 3; the description still adds cross-parameter semantics beyond the schema — that benchmarks override historical per type and that a type with neither input yields 'unbenchmarked'. It does not clarify how 'estimate' vs 'estimates' interact or whether supplying both is an error.

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 first sentence gives a specific verb+resource+method: a deterministic classifier for story/task hour estimates against benchmarks, and it enumerates the exact output labels (in_range, borderline, over, under, unbenchmarked). No sibling in the list does estimate-vs-benchmark classification, so an agent can route here without ambiguity.

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 clearly states the two input modes (explicit {min,max} benchmarks vs. historical actuals) and the precedence rule when both exist, plus the batch ceiling of 200. It does not name an alternative tool or say when to prefer it over, say, sprint_health, but the operational context for invoking it is complete.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources