MCP Tool Reference

Most users do not need to call these tools by name. Ask your AI assistant the financial question you want answered and let it choose the appropriate Ternary capabilities.

For user-oriented examples, see What you can do and Example questions.

Tool index

ToolPurposeReads / writes
ternary_list_tenantsList accessible tenantsReads
ternary_list_dimensionsDiscover dimensions and measuresReads
ternary_get_dimension_valuesSample recent dimension valuesReads
ternary_run_cost_queryRun an ad-hoc cost or usage queryReads
ternary_list_reportsFind saved reportsReads
ternary_get_report_dataRetrieve saved report rowsReads
ternary_create_reportSave a private reportWrites
ternary_list_budgetsList budgets and healthReads
ternary_list_dashboardsFind dashboardsReads
ternary_get_dashboard_definitionDescribe dashboard compositionReads
ternary_get_dashboard_deltaCompare a dashboard across two periodsReads
ternary_list_cost_alertsList fired cost alertsReads
ternary_list_recommendationsList savings recommendationsReads
ternary_get_ai_roiWeigh AI spend against revenueReads
searchFind supported Ternary content by nameReads
fetchRetrieve a search resultReads

Access and discovery

ternary_list_tenants

Lists the Ternary tenants available to the authenticated user.

Typical use: the assistant needs to determine which organization or tenant a question refers to.

Reads / writes: reads.

Other tenant-scoped tools use a tenantID returned from this list.

⚠️

Empty list is not zero spend

A user with no explicit tenant role can receive an empty tenant list even if other global access exists.


ternary_list_dimensions

Lists the dimensions and measures available for a tenant. The assistant uses this before a query so it can work with real Ternary field names instead of inventing schema fields.

Supports search and paging.

Typical use:

  • Find the provider dimension
  • Find service or account fields
  • Discover tenant-specific fields available for grouping or filtering

Reads / writes: reads.

Important: field discovery is a technical step. Users can ask in business language rather than supplying schema field names themselves.


ternary_get_dimension_values

Returns recent distinct values for a dimension. The assistant can use this to discover real values before applying a filter.

Example: after finding a service-name dimension, the assistant can retrieve actual service names before filtering for one of them.

Reads / writes: reads.

Important: sampled values are useful for discovery and should not be treated as a complete historical catalog for every period.

Cost analysis

ternary_run_cost_query

Runs an ad-hoc cost or usage query.

The query can define:

  • Date range
  • Grouping dimensions
  • Measures
  • Filters
  • Time precision

The response returns the largest groups first and includes a server-computed summary with:

  • Exact total for the requested range
  • Coverage of the returned rows

Current data source: FOCUS_BILLING

Typical use:

Show last month's spend by provider.

Show AWS spend by service for August.

Reads / writes: reads.

Important limitations:

  • Non-FOCUS data sources are not currently available through this tool
  • General period-over-period comparison can require multiple calls and host-side arithmetic
  • Scope, period, currency, measure, and coverage should remain explicit in finance-critical interpretation

Reports

ternary_list_reports

Lists saved reports for a tenant.

Supports name-based search.

Typical use:

Find our Monthly Executive Summary report.

Reads / writes: reads.


ternary_get_report_data

Retrieves rows from a saved report one page at a time.

Typical use:

Show the data from the Monthly Executive Summary report.

Reads / writes: reads.

Important: a saved report carries business meaning from its configuration. The assistant should avoid guessing missing semantics if the available response does not make them explicit.


ternary_create_report

Creates a private saved report from a cost-query configuration.

This is the only current Ternary MCP write capability.

The report is:

  • Saved privately to the authenticated user
  • Visible in Ternary saved reports
  • Created only when the user explicitly asks to keep the analysis

MCP cannot currently update or delete the report afterward.

Reads / writes: writes.

Budgets

ternary_list_budgets

Lists budgets with the current figures shown by the Ternary budget evaluation.

The result can include:

  • Budget amount
  • Actual spend
  • Projected month-end spend
  • Health status
  • Evaluation period

Budgets are ordered with the most severe statuses first and can be filtered by status.

Typical use:

Which budgets are over budget or at risk?

Reads / writes: reads.

Important limitations:

  • Budget figures are a snapshot from the last evaluation
  • The period can predate the current month
  • No month-by-month history is exposed
  • The budget projection is not the Ternary Forecasting product

Dashboards

ternary_list_dashboards

Lists dashboards available to the user. Supports name-based search.

Reads / writes: reads.


ternary_get_dashboard_definition

Describes the composition of a dashboard. The result can identify widgets in reading order and resolve the report or budget represented by supported widgets.

Typical use:

What is included in the Executive dashboard?

Reads / writes: reads.


ternary_get_dashboard_delta

Compares supported dashboard report widgets across two time windows.

Can return:

  • Current value
  • Prior value
  • Absolute change
  • Percentage change
  • Groups with the largest movements

The default comparison is the last seven full days against the seven full days before them.

Typical use:

What changed on the Executive dashboard?

Reads / writes: reads.

Important limitations:

  • Up to 15 report widgets are compared per call
  • Unsupported widgets are disclosed rather than assigned a misleading value
  • Non-summable measures may not be compared
  • Budget widgets pass through their evaluated status
  • Invoice-month reports are compared over usage timestamps rather than their normal invoice-month accrual basis

Cost alerts

ternary_list_cost_alerts

Lists alerts fired by the tenant's Ternary cost rules.

Covers:

  • Anomaly detections
  • Threshold breaches

Can return:

  • Observed value
  • Baseline
  • Alert status
  • Rule context

Defaults to the last 30 days.

Typical use:

Which cost alerts fired this month?

Reads / writes: reads.

Important limitations:

  • The tool reads Ternary detections; it does not independently invent anomalies
  • The rule shown is its current configuration
  • Alert status is a user-managed triage status

Savings recommendations

ternary_list_recommendations

Lists current savings recommendations, ordered by estimated monthly savings.

Can cover supported optimization types such as:

  • Idle resources
  • Rightsizing
  • Other currently applicable recommendations

Can be filtered by supported provider and state.

Typical use:

What are our largest current savings opportunities?

Reads / writes: reads.

Important limitations:

  • Commitment inventory and commitment recommendations are not currently exposed
  • The recommendation view reflects currently applicable recommendations from the current recommendation window

AI spend and revenue

ternary_get_ai_roi

Weighs AI spend against revenue over a time window, for the whole tenant and for each value of one Custom Label, such as each product or team.

Can return:

  • AI cost
  • Revenue
  • The ratios between AI cost and revenue

Defaults to the last 30 days.

Typical use:

How does our AI spend compare with revenue this month?

Show AI cost against revenue by product for last quarter.

Reads / writes: reads.

Important limitations:

  • AI cost comes from Ternary's own AI classification of each billing row, not from service names or tags
  • Revenue comes from the Revenue field of a bring-your-own-data (BYOD) import
  • A per-label ratio also needs a billing rule that assigns the Custom Label to your revenue rows
  • When revenue is missing for the window or not tagged with the label, the tool returns AI cost alone and names what is missing instead of estimating a ratio
  • One Custom Label per question

Search and fetch

search

Finds supported Ternary content by name for clients that require the MCP search/fetch contract.

Current search content includes tenants and saved reports.

This tool is especially relevant to ChatGPT Deep research.

Reads / writes: reads.


fetch

Retrieves a result returned by search.

Depending on the result, it can retrieve:

  • Tenant summary information
  • Report data rows

ChatGPT Deep research can use search and fetch, but not the full Ternary domain tool set.

Reads / writes: reads.

Write behavior

All tools above read Ternary data except:

ternary_create_report

Creating a report should happen only after an explicit user request to save an analysis.


Did this page help you?