Cost
What are the Cost tools for?
Fifteen read-only MCP tools cover cloud spend: totals by provider, team or tag, daily and monthly trends, budget health, detected anomalies, and per-resource cost history. Every one is tier 0, so an assistant can answer any spend question without an org admin enabling writes at all.
Tools
| Tool | Access | Purpose |
|---|---|---|
get_ai_usage | read | Get AI Gateway usage and spend — one row per LLM request routed through the gateway |
get_anomalies | read | Get detected cost anomalies — unexpected spend spikes — in a date range |
get_billing_sync_status | read | Get billing data sync health per cloud account |
get_budget_summary | read | Get budget health summary — counts of healthy, warning, and over-budget budgets |
get_cost_by_provider | read | Get cost breakdown grouped by cloud provider |
get_cost_by_resources | read | Get per-resource cost breakdown showing individual resource costs |
get_cost_by_tag | read | Get cost and savings grouped by tag key (showback) |
get_cost_by_team | read | Get cost and savings attributed to each team (showback) |
get_cost_overview | read | START HERE for any cost question: 'where is the money going', 'what is my spend', 'how do I cut cost' |
get_cost_trends | read | Get cost trends over time at daily, weekly, or monthly granularity |
get_costs | read | Get the organisation-level cost and savings summary |
get_currency_exchange_rate | read | Get current currency exchange rates used by the organisation for cost calculations |
get_report_snapshots | read | Get monthly cost and savings snapshots for historical comparison |
get_resource_cost_history | read | Get daily cost history for a specific resource over a date range |
list_budgets | read | List budgets configured for resources or resource groups |
What an assistant can answer with these
Start with get_cost_overview. It is the entry point, and it returns the org-wide picture an
assistant needs before drilling anywhere. From there the tools split by the question being asked:
- “Where is the money going?”:
get_cost_by_provider,get_cost_by_resources,get_cost_by_team,get_cost_by_tag. The last two are showback: they attribute spend to the owning team or tag rather than the account that happens to hold the resource. - “Is it going up?”:
get_cost_trendsfor daily, weekly or monthly movement, andget_resource_cost_historyfor one resource over time. - “Did something break?”:
get_anomaliesreturns detected spikes for a period,get_billing_sync_statustells you whether the underlying billing data is current. - “Are we within budget?”:
list_budgetsandget_budget_summary.
get_ai_usage is the odd one out: it reports AI Gateway spend, one row per LLM request, so an
assistant can account for its own cost alongside your infrastructure.
Why every tool here is read-only
Cost data is the one surface where an assistant should never need write access, and treating it
that way means the whole category works at the default org setting. Nothing in this group can
create, modify or delete anything; create_budget and update_budget deliberately live in
the govern category instead, behind tier 1.
Numbers are reconciled, not estimated
These tools read the same daily billing rollup the dashboards use, so a figure an assistant
quotes matches what a human sees in the UI. get_billing_sync_status exists so an assistant can
say “billing last synced 4 hours ago” instead of silently reporting stale totals as current.
Cost tools: common questions
Can an assistant answer cost questions with writes turned off?
Yes. All fifteen tools in this category are tier 0, so the whole group works at the default org setting. Nothing here creates, modifies or deletes anything; create_budget and update_budget deliberately live in govern behind tier 1.
Which cost tool should an assistant call first?
get_cost_overview. It is the entry point, and it returns the org-wide picture an assistant needs before drilling into a provider, team or tag.
How do I know a quoted figure is not stale?
get_billing_sync_status reports billing sync health per cloud account, so an assistant can say when billing last synced instead of presenting old totals as current. The figures themselves come from the same daily rollup the dashboards read.