Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Authorization not required, issuer https://console.plutus-cloud.com
Changed the definition of "list_alert_subscriptions", "list_dimensions", "list_savings_recommendations" and 1 more
⟨8 unchanged words⟩ trigger (a specific budget's spend_threshold, or account-wideevent_overage/cost_anomaly/commitment_expiring/sync_failureevent_overage/cost_anomaly/commitment_expiring/sync_failure/billing_pattern). Mirrors GET /api/accounts/:accountId/alert-subscriptions.
⟨28 unchanged words⟩ ,"namespace","workload","cluster","resource_id","model"],"type":"string"},"end_date":{ ⟨10 unchanged words⟩
⟨158 unchanged words⟩ lines alone. Their `detail` carries `reason`, `spend_usd`, `impact_basis` (`upper_bound` means the saving is a ceiling, at most that figure, not an estimate; say "up to"), `impact_unknown` (true means the saving cannot be estimated ⟨53 unchanged words⟩ ), since providers may bill in different ones. `total_estimated_monthly_savings_cents` is the firm total only: it leaves out `upper_bound` billing patterns, which are reported separately as `upper_bound_findings` ({ count, max_monthly_cents }): say "N findings, up to $X/month", never add that into the total.
⟨35 unchanged words⟩ namespace","workload","cluster","resource_id","model","tag"],"type":"string"},"cost_metric" ⟨167 unchanged words⟩ :"string"},"type":"array"},"filter_model":{"description":"Restrict to these model values","items":{"type":"string"},"type":"array"},"filter_namespace":{"description":"Restrict to these namespace ⟨157 unchanged words⟩ ","namespace","workload","cluster","resource_id","model"],"type":"string"},"start_date": ⟨30 unchanged words⟩
Authorization not required, issuer https://console.plutus-cloud.com
Changed the definition of "list_budgets"
⟨16 unchanged words⟩ and forecast state). Mirrors GET /api/accounts/:accountId/budgets. `projected_cents` is the app's trend-based estimate of the period total (it follows weekday and weekend patterns when there is enough history), not a straight-line run rate. A budget carries its own `currency` (budgets are ⟨43 unchanged words⟩
Authorization not required, issuer https://console.plutus-cloud.com
Added "list_tracker_links" (31 tools before, 32 now)
List the tickets linked to savings recommendations, waste findings and anomalies, with their tracker status, resolution and Plutus-side owner. status is open, done, closed_unresolved (closed as Won't Do/Duplicate/Declined), orphaned (ticket not found) or disconnected. Mirrors GET /api/accounts/:accountId/tracker-links.
Changed the definition of "list_savings_recommendations" and "query_costs"
List active cost-reduction recommendations for thisaccountaccount.—Mostsourcedcome from each provider's own already-computed engine (AWS Cost Explorer, Azure Advisor, GCP Recommender),;notrowssomethingwith `source` = `plutus` are computed by Plutuscomputesitselfitself.(rightsizing, and `billing_pattern` below).
Authorization not required, issuer https://console.plutus-cloud.com
Authorization not required, issuer https://console.plutus-cloud.com
Authorization not required, issuer https://console.plutus-cloud.com
Authorization not required, issuer https://console.plutus-cloud.com
Changed the definition of "list_alert_subscriptions" and "list_data_health"
⟨8 unchanged words⟩ trigger (a specific budget's spend_threshold, or account-wideevent_overage/cost_anomalyevent_overage/cost_anomaly/commitment_expiring/sync_failure). Mirrors GET /api/accounts/:accountId/alert-subscriptions.
⟨30 unchanged words⟩ twice the connection's own effective sync interval).`status``recent_failure_count`iscountsonly
Changed the definition of "explain_cost_change", "get_cost_entries", "get_dashboard" and 28 more
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Explain Cost Change"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Get Cost Entries"}
Authorization not required, issuer https://console.plutus-cloud.com
Authorization not required, issuer https://console.plutus-cloud.com
Authorization not required, issuer https://console.plutus-cloud.com
Authorization not required, issuer https://console.plutus-cloud.com
Authorization not required, issuer https://console.plutus-cloud.com
Authorization not required, issuer https://console.plutus-cloud.com
Authorization not required, issuer https://console.plutus-cloud.com
Authorization not required, issuer https://console.plutus-cloud.com
Added "explain_cost_change" (30 tools before, 31 now)
Explain a specific cost change: which timeline events line up with it, how strongly, and how much of the move Plutus could account for. Ask this about any point on a cost chart — it is not limited to anomalies the detector flagged (use list_anomalies for those; each already carries the same explanation). RENDER `explanation.sentences` AS WRITTEN. They are generated under a strict discipline and are the only phrasing this data supports: Plutus reports temporal and dimensional evidence, never causation. Each candidate carries a `claim` of "coincides" (temporal proximity only — the common case)…
Certificate recorded, valid to 2026-12-09
Authorization not required, issuer https://console.plutus-cloud.com
Added "list_commitment_expirations"; changed the definition of "list_anomalies" (29 tools before, 30 now)
⟨128 unchanged words⟩ driver attribution was not measured for this anomaly(a service anomaly, or a grain with no service)and `[]` when it WAS measured and found no dominant driver — those mean different things. Its entries differ by anomaly kind: a tag anomaly's entries are service-shaped (`service`/`cost_source_id`/`share_pct` — the services that fed the tag_value's spike); a service anomaly's entries, when the account has resource-grain detection enabled, are resource-shaped (`resource_id`/`resource_type`/`share_pct` — the specific resources, e.g. an EC2 instance or Lambda function, that drove that service's spike). Report a resource entry as a decomposition of the same service anomaly, never as a separate anomaly of its own. `correlated_events` is the service-anomaly counterpart: deploy/incident/release activity ⟨107 unchanged words⟩
List this account's Reserved Instance / Savings Plan / Azure Reservation commitments with their expiration dates, ordered soonest-first. `days_until_expiration` is computed server-side against the current UTC date (negative means already expired — rows are not pruned immediately on expiry, so check the sign). `latest_utilization_percentage` is the commitment TYPE's most recent monthly aggregate utilization (from list_commitment_utilization) applied to every active commitment of that type — there is no true per-commitment utilization API, so this is the closest real signal for "is this expirin…
First tool surface recorded: 29 tools (server version 2.0.0)
Showing the latest 26 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨316 unchanged words⟩ to break spend down by simultaneously with breakdown_by.OnlyThe allowed pairsthatdependsomeonprovidertheactuallyaccount'sstoressources:togetheraonpairthethatsamenorowstoredaregrainsupportedcovers—ise.g.rejected(service,unlessregion),every(service,sourcelinked_account),in(usage_type,scopeoperation),writesandtheKubernetes'finer detail grain (namespace,currentlyworkloadAWS),—inanywhichothercase any pairreturnsofanservice/region/linked_account/usage_type/operationerror.works. Not applicable when breakdown_by is \"tag\". ⟨44 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Get Dashboard"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List Alert Channels"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List Alert Deliveries"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List Alert Subscriptions"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List Anomalies"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List Anomaly Suppressions"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List Budgets"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List Commitment Expirations"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List Commitment Utilization"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List Cost Source Tag Keys"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List Cost Source Tag Values"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List Cost Sources"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List Cost Tag Rules"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List Cost Tags"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List Dashboard Widget Catalog"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List Dashboards"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List Data Health"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List Dimensions"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List Event Facets"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List Savings Recommendations"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List Scheduled Reports"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List Tag Recommendations"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List Teams"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List Unit Metrics"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List Usage Dimensions"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Query Costs"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Query Events"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Query Unit Costs"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Query Usage"}