Tools Reference

Complete reference for every read-only tool in the DigiUsher MCP Server

The DigiUsher MCP Server has 59 read-only tools in 14 domains. Every tool needs an authentication.

Most tools take an optional organization_id. If you omit it and your account can access one organization, the tool uses that organization. If your account can access more than one organization, the tool returns the list of organizations. Then call the tool again with the organization_id of the organization that you want.

Every tool calls the DigiUsher API for you, so the permissions of your DigiUsher account apply. A tool with a body parameter takes a JSON object. A separate Body fields table gives the fields of that object.

Dates are YYYY-MM-DD strings. Wherever a tool takes start_date and end_date, start_date must be on or before end_date.

Organizations & Users

list_organizations

Returns the organizations that the authenticated user can access, with the currency of each organization. The other tools find the organization automatically. You need this tool only to see the choices when your account can access more than one organization.

ParameterTypeRequiredDefaultDescription
(none)———No parameters needed

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


get_current_user

Returns the profile of the authenticated DigiUsher user. Use it to identify the caller, and to make sure that the account context is correct, before an operation on an organization.

ParameterTypeRequiredDefaultDescription
(none)———No parameters needed

Example prompt: "Who am I in DigiUsher?"


Glossary

get_glossary

Returns the definitions of the DigiUsher terms that the tool results use. Examples are showback, chargeback, pools, dimensions, allocation runs, the FOCUS columns, and the anomaly terms. Read it once in each conversation, before you interpret cost figures.

ParameterTypeRequiredDefaultDescription
(none)———No parameters needed

Example prompt: "What is the difference between showback and chargeback 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.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID

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


get_data_source

Get detailed information for a single data source by ID, including configuration and status. Use list_data_sources first to find the data_source_id.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
data_source_idUUIDYes—Data source ID

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


Expenses

DigiUsher recommends this workflow for the expense tools:

  1. Call get_expense_dimension_catalog to find the available dimensions.
  2. Call query_expense_dimension_values to get the valid filter values of a dimension.
  3. Call query_expense_data to run the expense query.
  4. Call get_expense_dimension_lookups to translate the IDs in the results into names.

get_expense_dimension_catalog

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

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID

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


query_expense_dimension_values

Returns the valid values of one expense dimension. It works for standard dimensions and for tags. In a query_expense_data filter, use only these values. Another value gives an error.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
bodyobjectYes—Query parameters. The Body fields table gives them

Body fields:

FieldTypeRequiredDefaultDescription
dimensionobjectYes—Dimension specification. The field dimension_type gives its shape, as in the table that follows
searchstringNo—Search term to filter values (max 100 characters)
limitintegerNo100Maximum number of values to return (1–1,000,000)

The dimension object takes one of four shapes:

dimension_typeOther fieldsDescription
standardnameA standard dimension name, for example {"dimension_type": "standard", "name": "service_name"}
tagtag_type, keyCloud tags. tag_type is keys to list the tag keys, and you then omit key. tag_type is values to list the values of one tag, and key is then necessary
allocated_tagtag_type, keyAllocated tags (JSON paths such as k8s.namespace). Same tag_type/key rules as tag
derivedkeyA derived allocation dimension identified by its slug, as defined in Cost Allocation

Standard dimension names: service_name, service_category, service_subcategory, resource_type, resource_id, resource_group, region_id, network_from, network_to, data_source_id, provider, publisher, charge_category, pricing_category, license_model, sku_name, invoice_id, invoice_issuer, commitment_discount_type, commitment_discount_category, commitment_discount_id, commitment_discount_status, consumed_unit, allocated_resource_id, allocated_resource_name, allocated_method_id.

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


query_expense_data

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

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
bodyobjectYes—Query parameters. The Body fields table gives them

Body fields:

FieldTypeRequiredDefaultDescription
start_datestring (YYYY-MM-DD)Yes—Start of date range
end_datestring (YYYY-MM-DD)Yes—End of date range
currencystringNoorganization currencyThe API accepts the currency of your organization only. Omit this field. It rejects every other value
granularitystringNodayTime bucket: hour, day, week, month, year, or total
group_byarrayNo[]Up to 3 dimensions. Each entry is a standard dimension name, for example "service_name", or a tag object from the table that follows
filtersobjectNo—One object, with one key for each dimension, as in the table that follows
metricsarrayNo["effective_cost", "billed_cost"]Metrics to return: billed_cost, effective_cost, list_cost, consumed_quantity
order_byarrayNo[]Up to 3 {"field": ..., "direction": ...} objects. field is date, billed_cost, effective_cost, list_cost, or consumed_quantity. direction is asc or desc, and the default is desc
limitintegerNo—Maximum number of rows (1–100,000)

group_by entries: a plain string from the list of standard dimension names, or one of these objects:

sourceOther fieldsDescription
tagtype, keyCloud tags. type is keys to group by tag key, and you then omit key. type is values to group by the values of one tag, and key is then necessary. An example is {"source": "tag", "type": "values", "key": "Environment"}
allocated_tagtype, keyAllocated tags (JSON paths). Same type/key rules
derivedkeyA derived allocation dimension slug, for example {"source": "derived", "key": "team"}

filters object: one key per dimension you want to filter. Unknown keys are rejected.

Key(s)Value shape
Any standard dimension name, for example service_name, region_id, data_source_id, or provider. The key sku_id is also validA list of the values to include, such as ["Amazon EC2"], or an object {"include": [...], "exclude": [...]} with at least one of the two keys
tags, allocated_tagsList of {"key": "...", "include": [...], "exclude": [...]} or {"key": "...", "exists": true} objects. exists cannot be combined with include/exclude
dimensionsList of {"key": "<slug>", "include": [...], "exclude": [...]} objects for derived allocation dimensions
billed_cost, effective_cost, list_cost, consumed_quantityList of {"value": <number>, "op": "gt" | "gte" | "lt" | "lte"} range conditions

Ordering rules: a cost metric used in order_by must also appear in metrics, and date cannot be used when granularity is total.

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


get_expense_dimension_lookups

Returns lookup tables that translate data source IDs and pool IDs into names. Use it after query_expense_data when the results contain IDs.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
include_poolsbooleanNo—Include pool name lookups
include_data_sourcesbooleanNo—Include data source name lookups

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


Anomaly Detection

If you give no start_date and no end_date, the summary tools and the list tools use the last 90 days. A range that you give cannot be longer than 366 days.

get_anomaly_summary

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

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
severityarrayNo—Filter by severity: HIGH, MEDIUM, LOW
anomaly_typearrayNo—Filter by type: COST_SPIKE, PATTERN_DEVIATION, RESOURCE_INEFFICIENCY, UNEXPECTED_RESOURCE
scope_typearrayNo—Filter by scope: organization, data_source, service, region, perspective
start_datestring (YYYY-MM-DD)No90 days agoStart of date range
end_datestring (YYYY-MM-DD)NotodayEnd 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.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
bodyobjectYes—List parameters. The Body fields table gives them

Body fields:

FieldTypeRequiredDefaultDescription
severityarrayNo—Filter by severity: HIGH, MEDIUM, LOW
anomaly_typearrayNo—Filter by type: COST_SPIKE, PATTERN_DEVIATION, RESOURCE_INEFFICIENCY, UNEXPECTED_RESOURCE
scope_typearrayNo—Filter by scope: organization, data_source, service, region, perspective
scope_idarray of stringsNo—Filter by the IDs of specific scopes (max 1,000)
start_datestring (YYYY-MM-DD)No90 days agoStart of date range
end_datestring (YYYY-MM-DD)NotodayEnd of date range
sort_bystringNodateSort field: date, severity, cost_impact, anomaly_score
sort_directionstringNodescasc or desc
limitintegerNo50Max results (1–500)
offsetintegerNo0Pagination offset

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


get_anomaly

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

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
anomaly_idUUIDYes—Anomaly 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 and threshold metadata before working with overrides or filtering recommendations.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
cloud_providerstringNo—Filter by data source type. Accepts any DigiUsher data source type value, for example aws, azure, gcp, oci, alibaba, kubernetes, databricks, nebius, snowflake, mongodb, focus_any

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


get_scenario_by_id

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

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
scenario_idstringYes—Scenario 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. Use to audit customized scenario sensitivity.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
scenario_idstringNo—Filter 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. Use after list_threshold_overrides when details for one override are needed.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
override_idUUIDYes—Override ID

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


list_recommendations

List cost optimization recommendations with filtering, sorting, and pagination. Common filters include status, severity, scenario tags, cloud account, and resource attributes.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
bodyobjectYes—List parameters. The Body fields table gives them

Body fields:

FieldTypeRequiredDefaultDescription
statusarrayNo["open"]Filter by status: open, applied, dismissed, snoozed, stale
severityarrayNo—Filter by severity: low, medium, high, critical
scenario_idarray of stringsNo—Filter by scenario
scenario_tagsarrayNo—Filter by scenario tags: commitment, delete, resize, migrate, upgrade, quick_win, requires_planning, orphaned, idle, oversized, outdated, legacy, security, reliability
data_source_idarray of UUIDsNo—Filter by data source
assignee_idarray of UUIDsNo—Filter by assignee
commitment_idarray of UUIDsNo—Filter to recommendations linked to specific commitments
resource_idarray of stringsNo—Filter by resource ID
resource_typearray of stringsNo—Filter by resource type
regionarray of stringsNo—Filter by region
servicearray of stringsNo—Filter by service
resource_tagsarrayNo—List of {"key": "...", "include": [...], "exclude": [...]} or {"key": "...", "exists": true} objects. exists cannot be combined with include/exclude
created_at_start_datestring (YYYY-MM-DD)No—Recommendations created on or after this date (inclusive)
created_at_end_datestring (YYYY-MM-DD)No—Recommendations created on or before this date (inclusive)
group_bystringNo—Group the embedded savings summary by: scenario_id, severity, data_source_id, region, service
sort_bystringNoannual_savingsSort field: annual_savings, monthly_savings, severity, created_at, last_seen_at, status
sort_directionstringNodescasc or desc
limitintegerNo50Max results (1–500)
offsetintegerNo0Pagination offset

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


get_savings_summary

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

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
bodyobjectYes—Summary parameters. The Body fields table gives them

Body fields: the same filter fields as list_recommendations, without the pagination fields and the sorting fields. These fields are status (default ["open"]), severity, scenario_id, scenario_tags, data_source_id, assignee_id, commitment_id, resource_id, resource_type, region, service, resource_tags, created_at_start_date, created_at_end_date, and group_by.

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


get_recommendation

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

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
recommendation_idUUIDYes—Recommendation ID

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


Kubernetes

These tools report the cost, the rightsizing, and the node pool capacity of your Kubernetes clusters. The amounts use the currency of your organization.

Most Kubernetes tools take a filters object in the body. Each key takes a list of values to include, or an object {"include": [...], "exclude": [...]}.

KeyDescription
clusterCluster IDs. A cluster ID is the data source ID from list_data_sources
namespaceNamespace names
workloadWorkload names
podPod names
storage_classStorageClass names. The rightsizing tools and query_k8s_node_pools do not accept this key
node_poolNode pool names. An empty string in include matches the nodes that have no node pool

get_k8s_expense_summary

Get the total Kubernetes cost of a date range, split into used cost, unused requests, and unrequested capacity. The result also gives the efficiency ratio.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
bodyobjectYes—Query parameters. The Body fields table gives them

Body fields:

FieldTypeRequiredDefaultDescription
start_datestring (YYYY-MM-DD)No6 days agoStart of date range
end_datestring (YYYY-MM-DD)NotodayEnd of date range
filtersobjectNo—Filters from the table at the start of this section

Example prompt: "How much of our Kubernetes spend last week was idle capacity?"


query_k8s_expenses

Get Kubernetes cost rows grouped by one dimension, with a daily series for each row. Only the cluster, namespace, node, and pod groupings add up to the cluster total.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
bodyobjectYes—Query parameters. The Body fields table gives them

Body fields:

FieldTypeRequiredDefaultDescription
start_datestring (YYYY-MM-DD)No6 days agoStart of date range
end_datestring (YYYY-MM-DD)NotodayEnd of date range
filtersobjectNo—Filters from the table at the start of this section
group_bystringNonamespacecluster, namespace, node, pod, pvc, deployment, daemonset, replicaset, or replicationcontroller
sort_bystringNototaltotal, compute, gpu, or storage
limitintegerNo100Max results (1–500)

Example prompt: "Which namespaces cost the most in our production cluster this week?"


get_k8s_rightsizing_summary

Get the total monthly saving from workload rightsizing, the workload counts, and the capacity that the changes free. For node counts, use query_k8s_node_pools.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
bodyobjectYes—Query parameters. The Body fields table gives them

Body fields:

FieldTypeRequiredDefaultDescription
filtersobjectNo—Filters from the table at the start of this section, without storage_class

Example prompt: "How much can we save each month if we rightsize our Kubernetes workloads?"


list_k8s_rightsizing

List the rightsizing recommendations for Kubernetes workloads, with the highest monthly saving first. Each entry gives the current and recommended CPU and memory requests and limits for each container.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
bodyobjectYes—Query parameters. The Body fields table gives them

Body fields:

FieldTypeRequiredDefaultDescription
filtersobjectNo—Filters from the table at the start of this section, without storage_class
limitintegerNo100Max results (1–500)

Example prompt: "Which Kubernetes workloads in the payments namespace have the largest rightsizing savings?"


get_k8s_workload_series

Get the hourly CPU and memory usage, requests, limits, and throttle ratio for each container of one workload. The result also gives the restarts for each hour. Before you reduce the requests of a workload, use this tool to examine its throttling and restarts.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
bodyobjectYes—Query parameters. The Body fields table gives them

Body fields: take all four values from a list_k8s_rightsizing entry.

FieldTypeRequiredDefaultDescription
data_source_idUUIDYes—Data source of the cluster
namespacestringYes—Kubernetes namespace
kindstringYes—Workload kind in lowercase, for example deployment or statefulset
namestringYes—Workload name

Example prompt: "Was the checkout deployment throttled before we lower its CPU request?"


query_k8s_node_pools

Get one entry for each node pool of each cluster. Each entry gives the requested and used capacity, the idle capacity, and the node count that the pods need at their recommended requests. If a less expensive instance type fits, the entry also gives it.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
bodyobjectYes—Query parameters. The Body fields table gives them

Body fields:

FieldTypeRequiredDefaultDescription
filtersobjectNo—Only the cluster and node_pool keys

Example prompt: "Which node pools have the most idle capacity?"


KPIs

list_kpi_definitions

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

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID

Available KPI IDs: effective_savings_rate, compute_commitment_coverage, commitment_discount_waste, allocation_accuracy_index, compute_cost_per_core, cost_per_gb_stored, legacy_resource_percentage, cost_optimization_index.

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


get_kpi_snapshots

Get KPI values for a single date. Billing data for yesterday and the day before is still arriving, so these two days return no values.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
datestring (YYYY-MM-DD)Nothree days agoDate for the snapshot. The default is the latest settled day
kpi_idsarrayNo—Filter by KPI IDs (see list_kpi_definitions)

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


get_kpi_time_series

Get KPI values across a date range. The series stops three days ago, because billing data for yesterday and the day before is still arriving. The end_date in the response tells where the series stopped.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
start_datestring (YYYY-MM-DD)Yes—Start of date range
end_datestring (YYYY-MM-DD)Yes—End of date range
kpi_idsarrayNo—Filter by KPI IDs (see list_kpi_definitions)

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


Unit Economics

Unit economics combine a cost expression with a North Star Metric (NSM) to compute cost per unit of business value. Dimension map groups translate raw billing dimension values into business categories that formulas can use.

list_dimension_map_groups

List dimension map groups in the organization. A dimension map group is a named set of mappings used to translate raw billing dimension values into business-meaningful categories.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID

Example prompt: "What dimension map groups are defined for unit economics?"


get_dimension_map_group

Get a single dimension map group by ID, including all of its source-to-target mapping entries.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
group_idUUIDYes—Dimension map group ID

Example prompt: "Show me the mappings in dimension map group abc-123."


list_formulas

List unit-economics formulas in the organization. Use to discover formula IDs before fetching or calculating one.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID

Example prompt: "What unit economics formulas do we have?"


get_formula

Get a single unit-economics formula by ID, including its cost expression, NSM reference, default grouping, and metadata.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
formula_idUUIDYes—Formula ID

Example prompt: "Show me how the cost-per-transaction formula is defined."


calculate_formula

Calculate cost, NSM, and cost-per-unit for a formula over a date range. Returns one entry per period with totals plus a per-group breakdown.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
formula_idUUIDYes—Formula ID (from list_formulas)
bodyobjectYes—Calculation parameters. The Body fields table gives them

Body fields:

FieldTypeRequiredDefaultDescription
start_datestring (YYYY-MM-DD)Yes—Inclusive start of the calculation window
end_datestring (YYYY-MM-DD)Yes—Inclusive end of the calculation window
granularitystringNoformula's base granularityday, week, or month. Must be at least as coarse as both the formula's base granularity and the NSM key's granularity
group_bystringNo—NSM dimension to break each group's cost down by, in proportion to that dimension's NSM share. Cannot be a dimension already linked by the formula
filtersarrayNo[]List of {"dimension": "<key>", "values": [...]} objects. A filter changes the visible rows only. The share and the allocated cost still use the full NSM denominator, without the filter

Example prompt: "What was our cost per transaction each month last quarter?"


Chargeback

get_chargeback_for_month

Get the cost of each pool for one month, after the redistribution rules move shared costs between pools. Returns the saved run when one exists, or else computes the month. If DigiUsher cannot compute the month, the tool returns a 404. To compare showback and chargeback cost side by side, use get_allocation_pools_overview.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
monthstring (YYYY-MM-DD)Yes—A date in the month, for example 2026-01-01

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


get_cost_allocation_summary

Get the showback summaries or the chargeback summaries of one or more months. DigiUsher moves start_date to the start of its month. end_date is inclusive, and it can be any date.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
bodyobjectYes—Summary parameters. The Body fields table gives them

Body fields:

FieldTypeRequiredDefaultDescription
start_datestring (YYYY-MM-DD)Yes—Start date (snapped to the start of the month)
end_datestring (YYYY-MM-DD)Yes—End date (inclusive)
viewstringYes—showback (cost per pool before redistribution) or chargeback (cost per pool after all redistributions)
granularitystringNomonthmonth or day
pool_idUUIDNo—Restrict to one pool
filtersobjectNo—{"service_names": [...], "regions": [...], "data_source_ids": [...]}. Every key is optional. The result contains the matching costs only
breakdown_dimensionsarrayNo[]Dimensions to break pool costs down by: service_name, data_source, region. Empty returns pool totals only

Example prompt: "Show me the chargeback allocation across teams for Q1 2026, by month."


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.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
start_datestring (YYYY-MM-DD)Yes—Start of date range
end_datestring (YYYY-MM-DD)Yes—End of date range
viewstringYes—showback or chargeback

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


Allocation Hub

These tools show how DigiUsher allocates cost to pools and dimensions. They also show why some cost stays unallocated. Where a tool takes a period, use any day in the month. If you omit period, the tool uses the current month.

get_allocation_pools_overview

Get the cost of each pool for a period, before and after redistribution. Use it to find what a team, pool, or cost center spent.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
start_datestring (YYYY-MM-DD)Nocurrent monthStart of date range
end_datestring (YYYY-MM-DD)Nocurrent monthEnd of date range

Example prompt: "What did each team spend this month, before and after chargeback?"


list_allocation_pools

List the pool hierarchy with the name, parent, owner, and cost-center code of each pool. The result has no costs.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID

Example prompt: "Show me our pool hierarchy."


get_allocation_pool

Get the configuration of one pool.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
pool_idUUIDYes—Pool ID (from list_allocation_pools)

Example prompt: "Show me the configuration of the platform pool."


list_allocation_dimensions

List the allocation dimensions, such as team, application, or cost center. The slug of a published dimension is also a derived dimension key in query_expense_data.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID

Example prompt: "What allocation dimensions do we have?"


list_allocation_mapping_rules

List the mapping rules that give each expense row a dimension value, in evaluation order. The first rule that matches a row wins.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
dimension_idUUIDNo—Show the rules of one dimension. Omit it to show the rules of all dimensions

Example prompt: "What rules assign costs to teams?"


get_allocation_dimension_rule_match_stats

Show how much cost each mapping rule of a dimension matched in a month, and how much cost stayed unallocated. Use it to find why cost is unallocated.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
dimension_idUUIDYes—Dimension ID (from list_allocation_dimensions)
periodstring (YYYY-MM-DD)Nocurrent monthAny day in the month

Example prompt: "Why is so much of our cost unallocated on the team dimension?"


get_allocation_dimension_sample_traces

Show sample expense rows and the rule that matched each row. The result also contains a sample unallocated row.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
dimension_idUUIDYes—Dimension ID (from list_allocation_dimensions)
window_daysintegerNo30Lookback window in days (1–365)
rows_per_outcomeintegerNo1Sample rows for each matched rule (1–10)

Example prompt: "Show me examples of costs that end up unallocated on the team dimension."


list_allocation_split_rules

List the split rules that divide one shared expense row across the values of a dimension. Examples of shared rows are a database instance, a NAT gateway, or a Kubernetes node.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID

Example prompt: "How do we split shared database costs across teams?"


get_allocation_split_rule_stats

Show, for each split rule in a month, the cost that the rule split and the cost that it left unallocated.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
periodstring (YYYY-MM-DD)Nocurrent monthAny day in the month

Example prompt: "How much shared cost did our split rules leave unallocated last month?"


list_redistribution_rule_sets

List the redistribution rule sets. Each rule set tells how a shared pool, such as a platform pool, charges its costs out to other pools.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID

Example prompt: "How are platform costs charged back to the product teams?"


list_redistribution_stages

List the redistribution stages in the order that DigiUsher applies them. Use it when the chargeback cost of a pool is different from what one rule set suggests.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID

Example prompt: "In what order are our chargeback rules applied?"


list_allocation_runs

List the allocation runs, newest first. A run is the computed allocation of one month. A month with no completed run has no allocated cost.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
periodstring (YYYY-MM-DD)No—Any day in a month. Shows the runs of that month only
limitintegerNo50Max results (1–200)
offsetintegerNo0Pagination offset

Example prompt: "Has the allocation for last month been computed?"


get_allocation_run

Get one allocation run, with its status, timings, the configuration version that it used, and its cost totals. If the run failed, the result also gives the error.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
run_idUUIDYes—Run ID (from list_allocation_runs)

Example prompt: "Why did the allocation run for March fail?"


get_allocation_config_status

Show which allocation changes are in draft and the latest published version. Draft changes do not change allocated cost until you publish them and a run computes them.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID

Example prompt: "Do we have unpublished allocation changes?"


Forecasting

get_forecast_summary

Get the forecast overview of the organization. Returns projected totals, trend direction, and confidence range.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization 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.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID

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


Resource Inventory

get_resource_types

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

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
searchstringNo—Search filter
limitintegerNo100Max results (1–10,000)

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.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
resource_typestringYes—Resource type (from get_resource_types)
namestringYes—Dimension name: region, service, resource_group, tag_keys, or tag_values
keystringNo—Tag key (required when name is tag_values)
searchstringNo—Search filter
limitintegerNo100Max results (1–10,000)

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


get_resource_time_series

Get the metric time series of one discovered cloud resource. Returns the daily metric values of the date range. The default range is the last 30 days.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
discovered_resource_idUUIDYes—Discovered resource ID
start_datestring (YYYY-MM-DD)No30 days agoStart of date range
end_datestring (YYYY-MM-DD)NotodayEnd of date range

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


Governance

list_tagging_policies

List all tagging policies configured for the organization. Each policy defines required tags, allowed values, and the resources it applies to. Use to discover policy IDs before fetching details or violations.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID

Example prompt: "What tagging policies are enforced in our organization?"


get_tagging_policy

Get a single tagging policy by ID, including its rules, required tag keys, allowed values, and resource scope.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
policy_idUUIDYes—Tagging policy ID

Example prompt: "Show me the rules of the cost-center tagging policy."


list_tagging_violations

List individual tagging-policy violations across the organization, optionally filtered to one or more policies and paginated.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID
policy_idsarray of UUIDsNo—Restrict to these policies
sort_directionstringNodescdesc (newest first) or asc (oldest first)
offsetintegerNo0Pagination offset
limitintegerNo50Max results (1–500)

Example prompt: "List the 20 most recent resources violating our tagging policies."


get_tagging_violations_summary

Get a roll-up summary of tagging violations across the organization, including counts by policy and severity. Use for governance dashboards before drilling into individual violations.

ParameterTypeRequiredDefaultDescription
organization_idUUIDNoyour only organizationOrganization ID

Example prompt: "How many tagging violations do we have, by policy?"

On this page