get_model_quality
Obtain a structured verdict on model trustworthiness, bias, and price-band reliability to decide which estimates to quote versus benchmark.
Instructions
Structured, agent-readable model-quality report — the JSON form of the PDF.
Use this (not just generate_report, which only writes a PDF) when you need
to *reason about or relay* model quality. Every judgment is computed so you
don't eyeball thresholds:
- `assessment.verdict` — LEAD WITH THIS. One of: 'trustworthy' | 'usable'
| 'unreliable' | 'unknown' | 'insufficient_data'. It folds bias and
sample size into a plain `headline` you can quote verbatim — e.g. a
modest model that is even-handed reads 'usable', not just 'Needs
Improvement'. `assessment.confidence` is 'high' | 'limited' |
'insufficient'.
- `assessment.typical_bias_pct` — how far the model runs high or low on a
typical part, in percent. `assessment.bias_resolution_pct` is the
smallest offset this holdout could have detected; when the verdict is
'unknown', quote it as the bound you CAN rule out.
- `calibration_by_price_band[].reliability` — 'trust' | 'caution' |
'quote' per price range (with `low_confidence` when a band is thin).
Each band carries a `say_to_user` sentence in plain words — quote it to
tell the user which prices to benchmark vs. get a quote on.
- `feature_importance[].signal` — 'strong' | 'moderate' | 'weak', each
with its own `say_to_user` sentence. Only quote findings resting on
'strong' drivers to a stakeholder.
The default payload is deliberately business-only — every string is safe to
read to a category manager. NEVER say 'SHAP', 'R²', 'p-value', 'log-target',
'residual' to the user. The raw statistics (R², p-value, algorithm,
log-target) are NOT in the default response; pass include_metrics=true to
add them under `metrics`/`provenance` for your own developer-level reasoning.
Set include_holdout=true to also get the raw actual/predicted arrays, so an
agent with a code/plotting tool can draw its own charts (predicted-vs-actual,
residuals, error-by-band).
Requires a model trained via the MCP train tool (which stores holdout data).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| model_id | Yes | ||
| include_holdout | No | ||
| include_metrics | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |