Validating responses
AI agents can misread or over-summarize. Treat the CloudQuell dashboard and reports as the source of truth, and use these habits to verify what an agent tells you — especially before acting on a number.
1. Cross-check against the dashboard
Section titled “1. Cross-check against the dashboard”Every tool surfaces the same data as the CloudQuell UI. To verify an answer:
| The agent said… | Check it against… |
|---|---|
| Month-to-date / by-service totals | the Overview dashboard |
| A savings number | the Savings view (banked / open / potential) |
| An anomaly / spike | the Anomalies feed and the service’s trend chart |
| Budget actual vs. forecast | the Budgets view (status, thresholds) |
| Commitment utilization / expiry | the Commitments view |
| Allocation by cost center | the Allocation view |
If a figure doesn’t match, trust the dashboard and re-ask the agent with a tighter scope (exact dates, exact account) — the discrepancy is usually a filter or timeframe mismatch.
2. Expand the tool call to see the real query
Section titled “2. Expand the tool call to see the real query”Most MCP clients let you expand a tool invocation to see its inputs and raw output. Do this when a number surprises you:
- Inputs tell you the actual filters used — the
view,start_date/end_date,account_id,service,limit. A “wrong” answer is often a too-broad or too-narrow filter. - Raw output is the parsed payload (ask for
response_format: detailedto see every field). ThelastUpdatedtimestamp tells you as of when;currencytells you the unit.
Example: if “savings look low,” expand
get_savings— check whether aminMonthlySavingsfloor or anactionType/accountIdfilter trimmed the list, and whetherrecommendations.truncatedistrue(more matched than were returned).
3. Watch for truncation
Section titled “3. Watch for truncation”If a result was too large, the tool returns { "truncated": true, "message": … }
instead of partial data. That message is not the answer — it’s an instruction to
narrow the request. Re-ask with a filter, a lower limit, or concise format. The
server never silently drops rows, so a non-truncated result is complete within its
limit.
4. Know what’s derived vs. reported
Section titled “4. Know what’s derived vs. reported”Some answers are computed in the tool, not read verbatim from the backend — verify the reasoning, not just the number:
list_anomalies/investigate_anomalyderive anomaly signals from month-over-month and week-over-week movement (there is no precomputed anomaly list). Check thepctChange,baselineAvg, andcurrentCostit shows, and thereason(mom_increasevs.new_service).investigate_anomalyends with averdictstring — that’s the tool’s summary, backed by themomRow,topResources, anddailySeriesin the same result. Read those to confirm the verdict.- Percentage changes can be
nullwhen the prior-period base is zero — anull%, not “0% change.”
5. Reconcile before you act
Section titled “5. Reconcile before you act”For anything finance- or change-related:
- Before trusting a total, confirm the date range and currency, and that it’s scoped to the accounts you mean.
- Before a write (creating a budget, changing a recommendation’s status), have
the agent restate exactly what it will do, then confirm. The
confirm: truegate exists precisely so a mutation is never a side effect of a question. - After a write, re-read with the matching tool (e.g.
get_budgetsaftercreate_budget) to confirm the change landed as intended.
6. Round-trip with a report
Section titled “6. Round-trip with a report”For board- or invoice-grade numbers, export the equivalent saved report or dashboard CSV from CloudQuell and reconcile against the agent’s figure. Finance shouldn’t act on a number that can’t be tied back to the bill — and the agent’s job is to get you to that number faster, not to replace the reconciliation.