Tools Reference

Complete reference for all 25 read-only tools

The DigiUsher MCP Server exposes 25 read-only tools organized across 8 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?"


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, e.g. [{"dimension": "service_name"}]
filtersarrayNoFilters to apply, e.g. [{"dimension": "service_name", "values": ["Amazon EC2"]}]
metricsarrayNoMetrics to include
order_byarrayNoSort order, e.g. [{"field": "cost", "direction": "desc"}]
limitintegerNoMax number of results

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
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_keystringNoFilter by specific group key
start_datestring (YYYY-MM-DD)NoStart of date range
end_datestring (YYYY-MM-DD)NoEnd of date range

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:

FieldTypeDescription
statusarrayFilter by status: open, applied, dismissed, snoozed, auto_resolved, stale
severityarrayFilter by severity
scenario_idarrayFilter by scenario
cloud_providerstringFilter by cloud provider
order_byarraySort order
limitintegerMax results
offsetintegerPagination offset

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


get_savings_summary

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

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
statusarrayNoFilter by status: open, applied, dismissed, snoozed, auto_resolved, stale
group_bystringNoGroup results by: scenario_id, severity, data_source_id

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
nsm_key_idstringYesNorth Star Metric key ID

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. Date rules: start_date must be the first day of a month; end_date must be the last day of a month.

ParameterTypeRequiredDescription
organization_idUUIDYesOrganization ID
bodyobjectYesSummary parameters (see below)

Body fields:

FieldTypeRequiredDescription
start_datestring (YYYY-MM-DD)YesFirst day of start month (e.g., "2026-01-01")
end_datestring (YYYY-MM-DD)YesLast day of end month (e.g., "2026-03-31")
pool_idUUIDNoFilter by specific cost pool
granularitystringNoTime granularity

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


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?"