Plutus
mcp remote · streamable-http · v2.0.0 · source: crawl
https://console.plutus-cloud.com/api/mcp
Query cloud, AI and SaaS spend across 25+ providers: costs, budgets, anomalies, unit economics.
Works
100
Verified Oct 31, 2026 · p50 810 ms · p95 915 ms
Worth
no data
No outcomes reported yet. Agents report through report_outcome after a find_agents call.
Checks
| Check | Weight | Result | Evidence |
|---|---|---|---|
| reachable | 20 | pass | 3 of 3 handshakes succeeded; server 'plutus-cost-data' |
| tools_listed | 15 | pass | 34 tools |
| schema_complete | 15 | pass | 34 of 34 tools have a description and a typed schema |
| latency_p50 | 10 | pass | p50 810 ms |
| latency_p95 | 5 | pass | p95 915 ms |
| error_free | 10 | pass | 0 of 3 attempts failed |
| auth_posture | 10 | pass | https, open |
| injection_scan | 10 | pass | no patterns found |
| scope | 5 | pass | no execution-style tools |
Unknown counts as fail; n/a is left out of the denominator. How the weights work.
Tools (34)
| Name | Description | Schema |
|---|---|---|
list_cost_sources | List the cost-source providers (AWS, GCP, Anthropic, etc.) enabled for this account. Each row's cost_basis says where that provider's money figures come from: "invoiced" = amounts the provider actuall | typed |
list_unit_metrics | List this account's saved unit-economics metrics — each one a cost ÷ business-unit ratio such as "cost per 1k API requests" or "infra cost per order". `numerator_scope` says which slice of spend is on | typed |
query_unit_costs | Compute one of this account's saved unit-economics metrics (see list_unit_metrics) over a date range — the cost of a slice of spend divided by the business units it produced. Each row carries `cost` ( | typed |
query_costs | Query time-bucketed spend for this account, optionally broken down by a dimension (service, region, linked_account, usage_type, operation, or identity) or by a custom cost-allocation tag (see list_cos | typed |
list_savings_recommendations | List active cost-reduction recommendations for this account. Most come from each provider's own already-computed engine (AWS Cost Explorer, Azure Advisor, GCP Recommender); rows with `source` = `plutu | typed |
list_commitment_utilization | List Reservation (RI) and Savings Plan utilization/coverage snapshots for this account — sourced from AWS Cost Explorer's own GetReservationUtilization/GetSavingsPlansUtilization APIs, one snapshot pe | typed |
list_commitment_expirations | 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 cur | typed |
list_cost_tags | List the virtual cost-allocation tag_keys defined for this account (e.g. "team", "product"), each with the cost_entries grain it's locked to and how many rules map dimension values to a tag_value. Use | typed |
list_dashboard_widget_catalog | List the built-in ("preset") dashboard widgets available to place with create_dashboard/set_dashboard_widgets — small `kpi` stat tiles and larger `widget` data cards, each with the id (`catalog_id`) a | typed |
list_anomalies | List detected cost anomalies for this account over a trailing lookback window — the real output of Plutus's nightly anomaly detector (severity, baseline vs. current spend, and what drove a tag-level s | typed |
explain_cost_change | 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 | typed |
list_anomaly_suppressions | List this account's active anomaly suppressions — signatures (a provider+service pair, or a tag_key+tag_value) a human has marked as expected, so the detector stops surfacing them. Each has an `expire | typed |
list_tag_recommendations | List suggested cost-allocation tag rules this account doesn't have yet — high-spend values currently falling through to "Untagged" for an existing tag_key, or a provider-native tag worth promoting int | typed |
list_data_health | List sync health for every cost/event/usage connection this account has — last synced time, next scheduled sync, the outcome of its most recent run, and `is_overdue` (no successful sync within twice t | typed |
list_scheduled_reports | List this account's scheduled cost digests — schedule (daily, weekdays, weekly, monthly, quarterly, first/last business day, a chosen weekday or day of month, or custom dates, all UTC), scope (whole a | typed |
list_report_layouts | List what a scheduled report's layout can be made of: the presets (executive summary, spend by service, AI spend, budgets and anomalies), and the dashboard widgets that can be rendered into a report — | typed |
list_dashboards | List this account's org-shared dashboards — visible to every account member. Does not include any member's PERSONAL dashboard: those live in one specific signed-in user's own browser session and have | typed |
get_dashboard | Fetch one org-shared dashboard's full layout — its placed widgets, custom metrics and custom charts, and their grid positions. A `widgets` entry references a preset catalog_id (see list_dashboard_widg | typed |
query_usage | Query time-bucketed usage telemetry this account's own backend has pushed or synced in (e.g. API request counts, tokens processed) — the raw data unit-economics metrics divide cost by (see list_unit_m | typed |
list_usage_dimensions | List the distinct values seen for a usage dimension ("metric" or "external_customer_id") over a date range — useful for discovering filter values before calling query_usage. Each entry pairs the raw ` | typed |
query_events | Query this account's business-event timeline (GitHub releases/PRs, PagerDuty incidents, Jira issues, GitLab, Salesforce onboarding/churn, Stripe subscription created/canceled, Vercel production deploy | typed |
list_event_facets | List the distinct values seen for a faceted event metadata field over a date range — currently just "repo" (every GitHub repo with at least one event), the same facet the Event Explorer's repo picker | typed |
list_cost_tag_rules | List the actual match rules for one of this account's cost-allocation tag_keys (see list_cost_tags) — which dimension values (or provider-native tag) map to which tag_value, and in what priority order | typed |
list_cost_source_tag_keys | List distinct provider-native tag/label keys actually present in this account's cost data (AWS Cost Allocation Tags, GCP/Hetzner labels, Azure tags) — useful for discovering what a "tags.<key>" cost-t | typed |
list_cost_source_tag_values | List distinct values seen for one provider-native tag/label key (see list_cost_source_tag_keys) in this account's cost data. | typed |
list_teams | List this account's teams (user groups) with their members and the cost-tag tag_value each is reserved under — team-scoped budgets (create_budget with scope_type: "team") reference a team's id as scop | typed |
list_tracker_links | List the tickets linked to savings recommendations (findings included) and anomalies, with their tracker status, resolution and Plutus-side owner. status is open, done, closed_unresolved (closed as Wo | typed |
list_budgets | List this account's spend budgets with their current-cycle status (spend so far, projected total, ok/warning/exceeded state, and forecast state). Mirrors GET /api/accounts/:accountId/budgets. `project | typed |
list_alert_channels | List this account's alert notification channels (Slack/Teams/webhook/email) — need a channel's id to call create_alert_subscription. Never returns the channel's credentials/URL, only its id/type/name/ | typed |
list_alert_subscriptions | List which alert channels are subscribed to which trigger (a specific budget's spend_threshold, or account-wide event_overage/cost_anomaly/commitment_expiring/sync_failure/misconfiguration). Mirrors G | typed |
list_alert_deliveries | List recent alert delivery history for this account (did an alert actually fire, and did it send successfully) — the same data behind the Alerts page's delivery heatmap. Does not include the delivery | typed |
list_alert_history | The delivery history behind the Alerts page table: every alert, scheduled report, report attached to an alert, and test sent through an alert channel in the last 90 days, with the channel and recipien | typed |
list_dimensions | List the distinct values seen for a given dimension (service, region, linked_account, usage_type, or operation) for one provider — useful for discovering filter values before calling query_costs. | typed |
get_cost_entries | Fetch raw per-service cost entries for this account over a date range (unaggregated). Prefer query_costs for time-bucketed/aggregated spend — this is for inspecting individual rows. Each row's `cost` | typed |
Badge
Paste into your README. It updates on every verification.
[](https://app.agent-xm.com/a/com-plutus-cloud-plutus-cost-data)
Was this agent useful?
Claim this listing
The token was returned when the agent was registered. No token? Prove the domain or repository instead.