Tools Reference

Complete reference for all 31 read-only tools

The DigiUsher MCP Server exposes 31 read-only tools organized across 9 domains. All tools require authentication and most require an organization_id — use list_organizations first to discover available organizations.

Organizations & Users

list_organizations

Entry-point tool. Returns organizations the authenticated user can access. Call this first when organization_id is unknown.

ParameterTypeRequiredDescription
(none)No parameters needed

Example prompt: "What organizations do I have access to in DigiUsher?"


get_current_user

Returns the authenticated user's profile. Useful for confirming account context.

ParameterTypeRequiredDescription
(none)No parameters needed

Example prompt: "Who am I in DigiUsher?"


Data Sources

list_data_sources

Lists cloud account and billing data sources for an organization. Useful for mapping data_source_id values in expense and recommendation results.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID

Example prompt: "What cloud accounts are connected to my organization?"


get_data_source

Get detailed information for a single data source by ID. Returns richer detail than the list view, including configuration and status. Use list_data_sources first to find the data_source_id.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
data_source_idUUIDYesData source ID

Example prompt: "Show me the details and status of data source abc-123."


Expenses

The expense tools follow a recommended workflow:

  1. get_expense_dimension_catalog — Discover available dimensions
  2. query_expense_dimension_values — Get valid filter values for a dimension
  3. query_expense_data — Run the expense query
  4. get_expense_dimension_lookups — Translate IDs in results to friendly names

get_expense_dimension_catalog

Lists available expense dimensions and their capabilities for filtering or grouping.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID

Example prompt: "What dimensions can I use to break down my cloud costs?"


query_expense_dimension_values

Returns valid values for a selected expense dimension. Use the returned values in query_expense_data filters to avoid invalid filter errors.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
bodyobjectYesQuery parameters (see below)

Body fields:

FieldTypeRequiredDescription
dimensionstringYesDimension name to query values for
searchstringNoOptional search/filter string

Example prompt: "What services are available in my expense data?"


query_expense_data

Query aggregated expense data with grouping, filtering, and sorting.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
bodyobjectYesQuery parameters (see below)

Body fields:

FieldTypeRequiredDescription
start_datestring (YYYY-MM-DD)YesStart of date range
end_datestring (YYYY-MM-DD)YesEnd of date range
currencystringNoCurrency code (e.g., "USD")
granularitystringNoTime granularity: "day", "week", "month"
group_byarrayNoDimensions to group by (max 3), e.g. [{"dimension": "service_name"}]
filtersarrayNoFilters to apply, e.g. [{"dimension": "service_name", "values": ["Amazon EC2"]}]
metricsarrayNoMetrics to include
order_byarrayNoSort order (max 3), e.g. [{"field": "cost", "direction": "desc"}]
limitintegerNoMax number of results (1-10,000)

Example prompt: "Show me our AWS spending for January 2026 broken down by service, sorted by cost descending, top 10."


get_expense_dimension_lookups

Returns lookup tables to translate IDs (like data_source_id and pool_id) into user-friendly names. Use after query_expense_data when results contain IDs.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
include_poolsbooleanNoInclude pool name lookups
include_data_sourcesbooleanNoInclude data source name lookups

Example prompt: "Translate the data source IDs in my expense results to names."


Anomaly Detection

get_anomaly_summary

Get aggregated anomaly counts by severity, type, and group. Use as a dashboard-style overview before drilling into individual anomalies.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
severityarrayNoFilter by severity: HIGH, MEDIUM, LOW
anomaly_typearrayNoFilter by type: COST_SPIKE, PATTERN_DEVIATION, RESOURCE_INEFFICIENCY, UNEXPECTED_RESOURCE
group_typearrayNoFilter by group: ORGANIZATION, DATA_SOURCE, SERVICE, REGION, POOL, PERSPECTIVE
start_datestring (YYYY-MM-DD)NoStart of date range
end_datestring (YYYY-MM-DD)NoEnd of date range

Example prompt: "Give me a summary of cost anomalies detected this month."


list_anomalies

List anomalies with filtering, sorting, and pagination. Use after get_anomaly_summary to inspect matching anomalies in detail.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
bodyobjectYesList parameters (see below)

Body fields:

FieldTypeRequiredDescription
severityarrayNoFilter by severity: HIGH, MEDIUM, LOW
anomaly_typearrayNoFilter by type
group_typearrayNoFilter by group
group_keyarrayNoFilter by specific group keys
start_datestring (YYYY-MM-DD)NoStart of date range
end_datestring (YYYY-MM-DD)NoEnd of date range
sort_bystringNoSort field
sort_directionstringNoSort direction: asc or desc
limitintegerNoMax results (1-500, default: 50)
offsetintegerNoPagination offset (default: 0)

Example prompt: "Show me all high-severity cost anomalies from the last 30 days."


get_anomaly

Get a single anomaly by ID with computed impact metrics and metadata. Use after list_anomalies for deeper inspection.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
anomaly_idUUIDYesAnomaly ID

Example prompt: "Show me the full details of anomaly abc-123."


Recommendations

list_all_scenarios

List recommendation scenarios and their configurable thresholds. Use to discover scenario IDs before filtering recommendations.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
cloud_providerstringNoFilter by cloud provider

Example prompt: "What types of cost optimization scenarios does DigiUsher check for?"


get_scenario_by_id

Get one recommendation scenario by ID, including threshold definitions and optimization detection metadata.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
scenario_idstringYesScenario ID

Example prompt: "Show me the details of the rightsizing scenario."


list_threshold_overrides

List threshold overrides configured for the organization, optionally filtered by scenario.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
scenario_idstringNoFilter by scenario ID

Example prompt: "Are there any custom threshold overrides configured for our recommendations?"


get_threshold_override

Get a specific threshold override by ID.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
override_idUUIDYesOverride ID

Example prompt: "Show me override abc-123."


list_recommendations

List cost optimization recommendations with filtering, sorting, and pagination.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
bodyobjectYesList parameters

Body fields:

FieldTypeRequiredDescription
statusarrayNoFilter by status: open, applied, dismissed, snoozed, auto_resolved, stale
severityarrayNoFilter by severity: low, medium, high, critical
scenario_idarrayNoFilter by scenario
scenario_tagsarrayNoFilter by scenario tags: commitment, delete, resize, migrate, upgrade, quick_win, requires_planning, orphaned, idle, oversized, outdated, legacy, security, reliability
data_source_idarrayNoFilter by data source
assignee_idarrayNoFilter by assignee
resource_typearrayNoFilter by resource type
regionarrayNoFilter by region
servicearrayNoFilter by service
resource_tagsarrayNoFilter by resource tags
group_bystringNoGroup results by: scenario_id, severity, data_source_id, region, service
sort_bystringNoSort field: annual_savings, monthly_savings, severity, created_at, last_seen_at, status
sort_directionstringNoSort direction: asc or desc
limitintegerNoMax results (1-500, default: 50)
offsetintegerNoPagination offset (default: 0)

Example prompt: "Show me the top 5 open recommendations sorted by savings."


get_savings_summary

Get aggregated potential savings from recommendations, with optional filtering and grouping. Useful for executive summaries and trend breakdowns.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
bodyobjectYesSummary parameters (see below)

Body fields:

FieldTypeRequiredDescription
statusarrayNoFilter by status: open, applied, dismissed, snoozed, auto_resolved, stale
severityarrayNoFilter by severity
scenario_idarrayNoFilter by scenario
scenario_tagsarrayNoFilter by scenario tags
data_source_idarrayNoFilter by data source
assignee_idarrayNoFilter by assignee
resource_typearrayNoFilter by resource type
regionarrayNoFilter by region
servicearrayNoFilter by service
resource_tagsarrayNoFilter by resource tags
group_bystringNoGroup results by: scenario_id, severity, data_source_id, region, service

Example prompt: "What's the total potential savings from all open recommendations?"


get_recommendation

Get one recommendation by ID, including automation status and detailed payload.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
recommendation_idUUIDYesRecommendation ID

Example prompt: "Show me the full details of recommendation abc-123."


KPIs

list_kpi_definitions

List available KPI definitions, including units, categories, and favorable direction. Use before snapshot or time-series calls to discover kpi_ids.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID

Available KPIs:

KPI IDDescription
effective_savings_rateOverall savings rate from discounts and optimizations
compute_commitment_coveragePercentage of compute covered by commitments
commitment_discount_wasteWasted spend from unused commitments
allocation_accuracy_indexHow accurately costs are allocated to teams
compute_cost_per_coreCost per compute core
cost_per_gb_storedStorage cost per GB
legacy_resource_percentagePercentage of resources on legacy/previous-gen types
cost_optimization_indexOverall optimization score

Example prompt: "What FinOps KPIs are available for my organization?"


get_kpi_snapshots

Get KPI values for a single date.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
datestring (YYYY-MM-DD)NoDate for the snapshot (defaults to latest)
kpi_idsarrayNoFilter by specific KPI IDs

Example prompt: "What are our current KPI values?"


get_kpi_time_series

Get KPI values across a date range. start_date must be on or before end_date.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
start_datestring (YYYY-MM-DD)YesStart of date range
end_datestring (YYYY-MM-DD)YesEnd of date range
kpi_idsarrayNoFilter by specific KPI IDs

Example prompt: "How has our effective savings rate trended over the last 3 months?"


get_unit_economics

Calculate cost per unit of business value by combining pool costs with North Star Metric (NSM) values.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
bodyobjectYesUnit economics parameters

Body fields:

FieldTypeRequiredDescription
start_datestring (YYYY-MM-DD)YesStart of date range
end_datestring (YYYY-MM-DD)YesEnd of date range (inclusive)
nsm_key_idUUIDYesNorth Star Metric key ID
granularitystringNoTime granularity: day, week, month (default: month). Must be equal to or coarser than the NSM key's granularity
viewstringNoCost allocation view: showback or chargeback
pool_idUUIDNoFilter by specific cost pool
group_bystringNoGroup results by dimension
filtersarrayNoDimension filters

Example prompt: "What's our cost per transaction over the last quarter?"


Chargeback

get_chargeback_for_month

Get chargeback data for a specific month. Returns persisted runs when available, or on-the-fly computed results.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
monthstring (YYYY-MM-DD)YesFirst day of the month (e.g., "2026-01-01")
aggregate_flowsbooleanNoSet to true for Sankey-style flow summaries

Example prompt: "Show me the chargeback data for January 2026."


get_cost_allocation_summary

Get showback or chargeback summaries across one or more months. start_date is automatically snapped to the start of the month; end_date is inclusive and can be any date.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
bodyobjectYesSummary parameters (see below)

Body fields:

FieldTypeRequiredDescription
start_datestring (YYYY-MM-DD)YesStart date (snapped to start of month)
end_datestring (YYYY-MM-DD)YesEnd date (inclusive, any date)
pool_idUUIDNoFilter by specific cost pool
granularitystringNoTime granularity
filtersobjectNoAdditional filters

Example prompt: "Show me cost allocation across teams for Q1 2026."


get_cost_allocation_dimensions

Get available filter dimension values (services, regions, data sources) for cost allocation queries. Use this to discover valid filter options before calling get_cost_allocation_summary.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
start_datestring (YYYY-MM-DD)YesStart of date range
end_datestring (YYYY-MM-DD)YesEnd of date range
viewstringYesView type: showback or chargeback

Example prompt: "What services and regions are available for chargeback filtering?"


Forecasting

get_forecast_summary

Get a forecast overview for the organization or a specific showback pool. Returns projected totals, trend direction, and confidence range. Omit group_type and group_key for the org-level forecast.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
group_typestringNoGroup type (e.g., SHOWBACK_POOL)
group_keyUUIDNoGroup key (e.g., pool ID)

Example prompt: "What's the cost forecast for my organization?"


get_forecast_series

Get daily forecast time-series data for charting: actuals, predicted values, and confidence bands. Use after get_forecast_summary to drill into the trend. Omit group_type and group_key for the org-level series.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
group_typestringNoGroup type (e.g., SHOWBACK_POOL)
group_keyUUIDNoGroup key (e.g., pool ID)

Example prompt: "Show me the daily forecast trend with confidence bands for next month."


get_forecast_batch

Get per-entry forecast summaries for all entries of a given group_type in one call. Use group_type=SHOWBACK_POOL to get forecast summaries for every pool at once. ORGANIZATION is not a valid group_type here — use get_forecast_summary instead.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
group_typestringYesGroup type (e.g., SHOWBACK_POOL)

Example prompt: "Give me forecast summaries for all cost pools at once."


Resource Inventory

get_resource_types

List available resource types for resource inventory queries. Use before get_dimension_values to select a valid resource_type.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
searchstringNoSearch filter
limitintegerNoMax results

Example prompt: "What resource types are in my cloud inventory?"


get_dimension_values

Get values for resource inventory dimensions for a specific resource type. This is for resource dimensions, not expense dimensions.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
resource_typestringYesResource type (from get_resource_types)
namestringYesDimension name: region, service, resource_group, tag_keys, or tag_values
keystringNoTag key (required when name is tag_values)
searchstringNoSearch filter
limitintegerNoMax results

Example prompt: "What regions do our EC2 instances run in?"


get_resource_time_series

Get metric time-series data for a specific discovered cloud resource. Returns daily metric values over the requested date range (default: last 30 days).

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
discovered_resource_idUUIDYesResource ID
start_datestring (YYYY-MM-DD)NoStart of date range (defaults to 30 days ago)
end_datestring (YYYY-MM-DD)NoEnd of date range (defaults to today)

Example prompt: "Show me the CPU utilization metrics for resource abc-123 over the last 30 days."