---
canonical_url: "https://docs.composio.dev/toolkits/vantage_mcp"
markdown_url: "https://docs.composio.dev/toolkits/vantage_mcp.md"
product: "platform"
version: null
last_updated: null
---

# Vantage MCP

Vantage MCP lets agents analyze authorized cloud costs, reports, resources, tags, budgets, anomalies, and optimization recommendations, and perform supported FinOps management actions.

- **Category:** model context protocol
- **Auth:** DCR_OAUTH
- **Composio-managed OAuth available?** No
- **Tools:** 134
- **Triggers:** 0
- **Slug:** `VANTAGE_MCP`
- **Version:** 20260910_00

## Tools

### Add-team-member

**Slug:** `VANTAGE_MCP_ADD_TEAM_MEMBER`

Add a user to a Team by email address and assign their Team role.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("owner" | "editor" | "viewer" | "integration_owner") | No | Team role, defaults to editor. |
| `team_token` | string | Yes | Team token (`team_*`). |
| `user_email` | string | Yes | Email address of the user to add to the Team. |

### Create-annotation

**Slug:** `VANTAGE_MCP_CREATE_ANNOTATION`

Create an Annotation on one or more Cost Reports for a specific date. Use this tool when a user asks to add a note, explanation, or event marker to Cost Reports.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | Yes | Date of the Annotation in ISO 8601 format (YYYY-MM-DD). |
| `title` | string | No | Annotation title. Generated automatically when omitted. |
| `message` | string | Yes | Message to display for the Annotation. |
| `report_tokens` | array | Yes | Cost Reports to annotate. |

### Create-billing-rule

**Slug:** `VANTAGE_MCP_CREATE_BILLING_RULE`

Creates a new Billing Rule. Billing rules allow you to adjust, exclude, credit, charge, or apply custom modifications to your cost data.
The required fields depend on the rule type:
- Exclusion rules require charge_type.
- Adjustment rules require percentage. Optionally accepts service and category to scope the adjustment.
- Charge and Credit rules require service, category, sub_category, amount, and start_date.
- Custom rules require sql_query.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string ("exclusion" | "adjustment" | "credit" | "charge" | "custom") | Yes | The type of billing rule. |
| `title` | string | Yes | The title of the Billing Rule. |
| `amount` | number | No | The amount. Required for Charge and Credit rules (e.g. 300). |
| `service` | string | No | The service. Required for Charge and Credit rules, optional for Adjustment rules. |
| `category` | string | No | The category. Required for Charge and Credit rules, optional for Adjustment rules. |
| `end_date` | string | No | The end date for the billing rule in ISO 8601 format (YYYY-MM-DD). |
| `sql_query` | string | No | The SQL query. Required for Custom rules. |
| `percentage` | number | No | The percentage adjustment. Required for Adjustment rules (e.g. 75.0). |
| `start_date` | string | No | The start date for the billing rule in ISO 8601 format (YYYY-MM-DD). Required for Charge and Credit rules. |
| `charge_type` | string | No | The charge type. Required for Exclusion rules. |
| `apply_to_all` | boolean | No | Whether the rule applies to all cost reports. |
| `sub_category` | string | No | The sub-category. Required for Charge and Credit rules. |

### Create-budget

**Slug:** `VANTAGE_MCP_CREATE_BUDGET`

Creates a budget based on the parameters specified. This is useful if you have been tasked with managing budgets
or you are building a cost report with budgets in mind.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the Budget. |
| `periods` | array | No | The periods for the Budget. The start_at and end_at must be iso8601 formatted e.g. YYYY-MM-DD. Ignored for hierarchical Budgets. |
| `period_cadence` | object | No | Interval cadence for budget periods. When set, starts_at is required (YYYY-MM-DD, or null to clear). interval_count and interval_unit may be omitted on updates. Rejected for hierarchical Budgets. |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). Workspace to add the Budget to. |
| `cost_report_token` | string | No | Cost Report token (`rprt_*`). Ignored for hierarchical Budgets. |
| `child_budget_tokens` | array | No | The tokens of any child Budgets when creating a hierarchical Budget. |

### Create-budget-alert

**Slug:** `VANTAGE_MCP_CREATE_BUDGET_ALERT`

Create a Budget Alert that notifies users or connected channels when one or more Budgets reach a percentage threshold during a monthly time window.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `threshold` | integer | Yes | Budget percentage that triggers the alert; 100 means costs have reached 100% of the Budget. |
| `user_tokens` | array | No | Users that receive the Budget Alert. |
| `budget_tokens` | array | Yes | Budgets monitored by this Budget Alert. |
| `period_to_track` | string ("start_of_the_month" | "end_of_the_month") | No | Side of the month from which duration_in_days is measured; defaults to start_of_the_month. |
| `duration_in_days` | string | Yes | Number of days from the start or end of the month in which the threshold triggers the alert; use an empty string for the full month. |
| `recipient_emails` | array | No | Email addresses that receive the Budget Alert. Each address must belong to an organization user or a verified domain. |
| `recipient_channels` | array | No | Connected Slack or Microsoft Teams channels that receive the Budget Alert. |

### Create-canvas

**Slug:** `VANTAGE_MCP_CREATE_CANVAS`

Creates a Canvas based on the parameters specified. A Canvas is an AI-generated cost analysis view created from a natural language prompt.
The prompt describes what cost data to analyze (e.g. "Show me monthly costs by provider"). Creating a canvas triggers an asynchronous refresh to generate the data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | The title of the Canvas. |
| `prompt` | string | Yes | The prompt used to generate the Canvas. |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). Required if the API token is associated with multiple Workspaces. |

### Create-cost-alert

**Slug:** `VANTAGE_MCP_CREATE_COST_ALERT`

Create a new Cost Alert in Vantage. Cost Alerts are threshold-based spending alerts for one or more Cost Reports.

Use this tool when a user asks to create, add, or set up a cost alert, spending alert, budget alert, threshold alert, or spend-limit notification.

Do not use this for Report Notifications, scheduled report summaries, or recurring Cost Report delivery.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | The title of the cost alert. |
| `interval` | string ("day" | "week" | "month" | "quarter") | Yes | The interval for the cost alert. |
| `threshold` | number | Yes | The threshold amount that triggers the alert. Must be greater than 0. |
| `unit_type` | string ("currency" | "percentage") | Yes | The unit type for the threshold. |
| `report_tokens` | array | Yes | The tokens of the cost reports to monitor. Between 1 and 10 report tokens. |
| `slack_channels` | array | No | Slack channels to notify when the alert triggers. |
| `teams_channels` | array | No | Microsoft Teams channels to notify when the alert triggers. |
| `workspace_token` | string | Yes | Workspace token (`wrkspc_*`). |
| `email_recipients` | array | No | Email addresses to notify when the alert triggers. |
| `minimum_threshold` | number | No | Minimum threshold amount. Only applicable for percentage unit_type. |

### Create-cost-report

**Slug:** `VANTAGE_MCP_CREATE_COST_REPORT`

Create a new Cost Report in Vantage.

Cost Reports are saved queries that can be used to track and analyze spending over time. They can be filtered using VQL (Vantage Query Language) and configured with various display options.

VQL Filtering Guide:
All costs originate from a Cost Provider (generally a cloud company like AWS, Azure, Datadog) and then filter on a service that they provide (like EC2, S3, etc).
A cost provider is required on every VQL query.
VQL is always in parenthesis. Always use single quotes around names that are being queried.

Basic VQL Syntax:
- Query on a cost provider: (costs.provider = '<provider name>')
- Query on a service: (costs.provider = '<provider name>' AND costs.service = '<service name>')
- Multiple providers: ((costs.provider = 'aws') OR (costs.provider = 'azure'))
- Multiple services: (costs.provider = 'aws' AND costs.service IN ('AWSQueueService', 'AWSLambda'))
- Filter by region: (costs.provider = 'aws' AND costs.region = 'us-east-1')
- Filter by account: (costs.provider = 'aws' AND costs.account_id = '1000000717')

Tag Filtering:
- Tag with specific value: (costs.provider = 'aws' AND tags.name = 'environment' AND tags.value = 'production')
- Any value of a tag: (costs.provider = 'aws' AND tags.name = 'environment')
- Resources without a tag: (costs.provider = 'aws' AND tags.name = NULL)
- Multiple tag values: (costs.provider = 'aws' AND tags.name = 'environment' AND (tags.value = 'dev' OR tags.value = 'staging'))

Use get-myself to find available workspaces and list-cost-providers/list-cost-services to find valid provider and service names for your VQL queries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Title for the new Cost Report |
| `filter` | string | No | VQL filter to apply to the Cost Report |
| `date_bin` | string ("cumulative" | "day" | "week" | "month" | "quarter" | "hour") | No | The date bin of the CostReport. Defaults to 'cumulative' if not provided. |
| `end_date` | string | No | The end date of the CostReport. ISO 8601 Formatted. Incompatible with 'date_interval' parameter, required with 'start_date'. |
| `settings` | object | No | Report settings. |
| `groupings` | array | No | Grouping values for aggregating costs on the report. Valid groupings: account_id, billing_account_id, charge_type, cost_category, cost_subcategory, provider, region, resource_id, service, tagged, tag:<tag_value>. |
| `chart_type` | string ("area" | "line" | "bar" | "multi_bar" | "pie") | No | The chart type to use in the CostReport. Defaults to 'line' if not provided. |
| `start_date` | string | No | The start date of the CostReport. ISO 8601 Formatted. Incompatible with 'date_interval' parameter. |
| `folder_token` | string | No | Folder token (`fldr_*`). Determines the Workspace the report is assigned to. |
| `date_interval` | string ("this_month" | "last_7_days" | "last_30_days" | "last_month" | "last_3_months" | "last_6_months" | "custom" | "last_12_months" | "last_24_months" | "last_36_months" | "year_to_date" | "last_3_days" | "last_14_days" | "next_month" | "next_3_months" | "next_6_months" | "next_12_months") | No | The date interval of the CostReport. Incompatible with 'start_date' and 'end_date' parameters. Defaults to 'this_month' if start_date and end_date are not provided. |
| `chart_settings` | object | No | Report chart settings. |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). Ignored if folder_token is set. Required if the API token is associated with multiple Workspaces. |
| `saved_filter_tokens` | array | No | The tokens of the SavedFilters to apply to the CostReport. |
| `previous_period_end_date` | string | No | The previous period end date of the CostReport. ISO 8601 Formatted. |
| `previous_period_start_date` | string | No | The previous period start date of the CostReport. ISO 8601 Formatted. |
| `business_metric_tokens_with_metadata` | array | No | The tokens for any BusinessMetrics to attach to the CostReport, and the unit scale. |

### Create-dashboard

**Slug:** `VANTAGE_MCP_CREATE_DASHBOARD`

Create a new Dashboard in Vantage.

Dashboards are collections of widgets that visualize cost data. You can optionally attach widgets (by
their widgetable_token) and saved filters, and you can control the time range using either:
- date_interval (recommended), or
- start_date + end_date (custom range)

Note: start_date/end_date are incompatible with date_interval.

The list of supported widgets is:
- cost reports
- usage reports
- resource reports
- kubernetes efficiency reports
- financial commitment reports
- recommendation saved views

The token returned in the response can be used to link to the Dashboard in the Vantage Web UI:
https://console.vantage.sh/go/<token>

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | The title of the dashboard |
| `widgets` | array | No | The widgets to add to the dashboard |
| `date_bin` | string ("day" | "week" | "month") | No | Date binning for returned costs, allowed values: day, week, month |
| `end_date` | string | No | The end date of the dashboard. ISO 8601 Formatted. Incompatible with 'date_interval' parameter, required with 'start_date'. |
| `start_date` | string | No | The start date of the dashboard. ISO 8601 Formatted. Incompatible with 'date_interval' parameter. |
| `date_interval` | string ("this_month" | "last_7_days" | "last_30_days" | "last_month" | "last_3_months" | "last_6_months" | "custom" | "last_12_months" | "last_24_months" | "last_36_months" | "year_to_date" | "last_3_days" | "last_14_days" | "next_month" | "next_3_months" | "next_6_months" | "next_12_months") | No | The date interval of the dashboard. Incompatible with 'start_date' and 'end_date' parameters. |
| `workspace_token` | string | Yes | Workspace token (`wrkspc_*`). |
| `saved_filter_tokens` | array | No | The tokens of the Saved Filters used in the Dashboard |

### Create-financial-commitment-report

**Slug:** `VANTAGE_MCP_CREATE_FINANCIAL_COMMITMENT_REPORT`

Create a new Financial Commitment Report in Vantage.

Financial Commitment Reports track committed spend and on-demand costs over time. They can be filtered
using VQL and grouped by dimensions such as commitment type, service, region, or tags.

VQL Filtering Guide:
Financial Commitment Report VQL uses the financial_commitments namespace. A provider filter should be
included in each query, and string values should be wrapped in single quotes.

Basic VQL Syntax:
- Query on a provider: (financial_commitments.provider = 'aws')
- Query on a service: (financial_commitments.provider = 'aws' AND financial_commitments.service = 'AmazonEC2')
- Multiple services: (financial_commitments.provider = 'aws' AND financial_commitments.service IN ('AmazonEC2','AmazonRDS'))
- Filter by billing account: (financial_commitments.provider = 'aws' AND financial_commitments.provider_account_id = '123456789012')
- Filter by region: (financial_commitments.provider = 'aws' AND financial_commitments.region = 'us-east-1')
- Filter by tag: (financial_commitments.provider = 'aws' AND financial_commitments.resource_tags->>'environment' = 'production')

Use get-myself to find available workspaces. Use the VQL for Financial Commitment Reports resource for
the full list of available financial_commitments fields and examples.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Title for the new Financial Commitment Report |
| `filter` | string | No | VQL filter to apply to the Financial Commitment Report |
| `end_date` | string | No | The end date of the Financial Commitment Report. ISO 8601 Formatted. Incompatible with 'date_interval' parameter, required with 'start_date'. |
| `groupings` | array | No | Grouping dimensions for aggregating financial commitments on the report. Valid groupings: provider, service, resource_account_id, provider_account_id, commitment_type, commitment_id, cost_type, cost_category, cost_sub_category, instance_type, region, and tag:<tag_key>. |
| `start_date` | string | No | The start date of the Financial Commitment Report. ISO 8601 Formatted. Incompatible with 'date_interval' parameter. |
| `date_bucket` | string ("hour" | "day" | "week" | "month" | "quarter") | No | Date aggregation bucket |
| `date_interval` | string ("this_month" | "last_7_days" | "last_30_days" | "last_month" | "last_3_months" | "last_6_months" | "custom" | "last_12_months" | "last_24_months" | "last_36_months" | "year_to_date" | "last_3_days" | "last_14_days") | No | The date interval of the Financial Commitment Report. Incompatible with 'start_date' and 'end_date' parameters. |
| `workspace_token` | string | Yes | Workspace token (`wrkspc_*`). |
| `on_demand_costs_scope` | string ("discountable" | "all") | No | Scope for on-demand costs |

### Create-folder

**Slug:** `VANTAGE_MCP_CREATE_FOLDER`

Create a folder for organizing Cost Reports or Resource Reports. Set type to CostFolder for Cost Reports or ProviderResourceFolder for Resource Reports.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string ("CostFolder" | "ProviderResourceFolder") | Yes | Folder type. Set to CostFolder for Cost Reports or ProviderResourceFolder for Resource Reports. |
| `title` | string | Yes | The title of the Folder. |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). Ignored if parent_folder_token is set. Required if the API token is associated with multiple Workspaces. |
| `parent_folder_token` | string | No | Folder token (`fldr_*`). Parent Folder to nest this Folder under. |
| `saved_filter_tokens` | array | No | The tokens of SavedFilters to apply to any Cost Report contained within the Folder. |

### Create-network-flow-report

**Slug:** `VANTAGE_MCP_CREATE_NETWORK_FLOW_REPORT`

Creates a saved Network Flow Report for analyzing cloud network traffic by cost or bytes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Title for the Network Flow Report. |
| `filter` | string | No | VQL filter using the network_flow_logs namespace. |
| `end_date` | string | No | Custom range end date, YYYY-MM-DD. Requires date_interval=custom and start_date. |
| `groupings` | array | No | Dimensions used to group network traffic. |
| `start_date` | string | No | Custom range start date, YYYY-MM-DD. Requires date_interval=custom and end_date. |
| `flow_weight` | string ("costs" | "bytes") | No | Metric used to order aggregated network flow rows. |
| `date_interval` | string ("last_3_days" | "last_7_days" | "last_14_days" | "last_30_days" | "custom") | No | For a custom range, set to custom and provide start_date and end_date. |
| `flow_direction` | string ("all" | "ingress" | "egress") | No | Network traffic direction to include. |
| `workspace_token` | string | Yes | Workspace token (`wrkspc_*`). |

### Create-recommendation-view

**Slug:** `VANTAGE_MCP_CREATE_RECOMMENDATION_VIEW`

Create a new Recommendation View in Vantage.

Recommendation Views are saved filters for recommendations. They can be scoped by provider,
billing account, cloud account, region, recommendation type, tags, creation date, and minimum
potential savings.

Use get-myself to find available workspaces. Use list-recommendations to discover valid provider
IDs, recommendation types, accounts, regions, tags, and savings ranges before creating a view.

Filter examples:
- AWS recommendations in production: provider_ids ["aws"], tag_key "environment", tag_value "production"
- High-savings recommendations: min_savings 100
- Recommendations created in a date range: start_date "2024-01-01", end_date "2024-06-30"

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Title for the new Recommendation View. |
| `types` | array | No | Filter by one or more recommendation type slugs. |
| `regions` | array | No | Filter by region slugs (e.g. us-east-1, eastus, asia-east1). |
| `tag_key` | string | No | Filter by tag key. Must be used with tag_value. |
| `end_date` | string | No | Filter recommendations created on/before this YYYY-MM-DD date. |
| `tag_value` | string | No | Filter by tag value. Requires tag_key. |
| `start_date` | string | No | Filter recommendations created on/after this YYYY-MM-DD date. |
| `account_ids` | array | No | Filter by cloud account identifiers. |
| `min_savings` | number | No | Filter recommendations with at least this amount of potential savings. |
| `provider_ids` | array | No | Filter by one or more providers (e.g. aws, gcp, azure, kubernetes, datadog). |
| `workspace_token` | string | Yes | Workspace token (`wrkspc_*`). |
| `billing_account_ids` | array | No | Filter by billing account identifiers. |

### Create-report-forecast

**Slug:** `VANTAGE_MCP_CREATE_REPORT_FORECAST`

Create a scenario-model ReportForecast for a Cost Report.
Provide at least one of scenario_model_tokens or business_metric_token. Use list-scenario-models and list-business-metrics to discover tokens.
Requires Scenario Models (Enterprise). A 403 means the account is not entitled or the caller cannot update the Cost Report.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Title for the new ReportForecast. |
| `set_as_default` | boolean | No | When true, sets this ReportForecast as the default forecast for its Cost Report. |
| `cost_report_token` | string | Yes | Cost Report token (`rprt_*`). |
| `business_metric_token` | string | No |  |
| `scenario_model_tokens` | array | No | ScenarioModel tokens to assign to the forecast. Use list-scenario-models to discover tokens. |

### Create-report-notification

**Slug:** `VANTAGE_MCP_CREATE_REPORT_NOTIFICATION`

Create a new Report Notification in Vantage.

Report Notifications send scheduled Cost Report summaries to configured users, Slack channels, or Microsoft Teams channels on a daily, weekly, or monthly cadence. Use this tool when a user asks to create, add, or set up scheduled report delivery for an existing Cost Report.

Do not use this for Cost Alerts, budget alerts, threshold alerts, or spend-limit notifications. Cost Alerts notify users when spend crosses a configured threshold; Report Notifications deliver scheduled report summaries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | The title of the report notification. |
| `change` | string ("percentage" | "dollars") | Yes | The type of change the report notification tracks. |
| `frequency` | string ("daily" | "weekly" | "monthly") | Yes | The frequency the report notification is sent. |
| `user_tokens` | array | No | Users that receive the notification. |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). Required if the API token is associated with multiple Workspaces. |
| `cost_report_token` | string | Yes | Cost Report token (`rprt_*`). |
| `recipient_channels` | array | No | The Slack or Microsoft Teams channels that receive the notification. |

### Create-resource-report

**Slug:** `VANTAGE_MCP_CREATE_RESOURCE_REPORT`

Create a saved Resource Report in Vantage. Resource Reports persist a VQL filter over cloud infrastructure resources so the view can be reopened, shared, added to dashboards, and queried later with list-provider-resources via resource_report_token. Returns the report token; link users to https://console.vantage.sh/go/<token>.

Resource Report VQL uses the resources and tags namespaces — not Cost Report costs VQL (create-cost-report). Use list-provider-resources for one-off resource queries without saving a report; use list-resource-reports to browse existing reports.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | Title for the new Resource Report. |
| `filter` | string | No | VQL filter using resources and tags namespaces (e.g. resources.provider = 'aws' AND resources.type = 'aws_instance'). |
| `columns` | array | No | Table columns in display order. Names must match list-resource-report-columns for the report's resource type.     Names that are not one of [provider, label, accruedCosts, resource, type, resource, account] must be formatted as lowercase strictly-alpha strings.     Remove 'metadata.*' prefixes. Only valid when filter targets a single resource type.     Important: Always use the column name format from this description when setting columns. Do NOT reuse column names from API responses, as the API may normalize names differently on output (e.g., accruedCosts on input becomes accrued_costs on output)      |
| `folder_token` | string | No | Folder token (`fldr_*`). When set, determines the Workspace and workspace_token is ignored. |
| `workspace_token` | string | Yes | Workspace token (`wrkspc_*`). Required when the API token spans multiple Workspaces. |

### Create-scenario-model

**Slug:** `VANTAGE_MCP_CREATE_SCENARIO_MODEL`

Create a ScenarioModel with optional periods and provider/service filters.
Assign created ScenarioModels to Cost Report forecasts with create-report-forecast or update-report-forecast.
Requires Scenario Models (Enterprise). A 403 means the account is not entitled or the caller cannot create models.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Title for the new ScenarioModel. |
| `periods` | array | No | The periods for the ScenarioModel. |
| `service` | string | No | Optional service filter. Use list-cost-services to discover values. Requires workspace_token when set or cleared. Send null to clear. |
| `priority` | string | No | Priority used when applying scenario models. Send null to clear. |
| `provider` | string | No | Optional provider filter. Use list-cost-providers to discover values. Requires workspace_token when set or cleared. Send null to clear. |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). Required when provider or service is set or cleared. |

### Create-team

**Slug:** `VANTAGE_MCP_CREATE_TEAM`

Create a Team and optionally associate it with Workspaces, users, and a default Dashboard.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Team name. |
| `role` | string ("owner" | "editor" | "viewer") | No | Role to assign to the provided users. The Vantage API defaults to editor. |
| `description` | string | No | Team description. |
| `user_emails` | array | No | User email addresses to associate with the Team. |
| `user_tokens` | array | No | Existing users to associate with the Team. |
| `workspace_tokens` | array | No | Workspaces to associate with the Team. |
| `default_dashboard_token` | string | No | Dashboard to set as the Team default. Send null for no default Dashboard. |

### Create-virtual-tag-config

**Slug:** `VANTAGE_MCP_CREATE_VIRTUAL_TAG_CONFIG`

Creates a new Virtual Tag (Virtual Tag Config) in Vantage.
Do not use this to edit an existing Virtual Tag Config; use update-virtual-tag-config for config settings or value order, and the Virtual Tag Config Value tools for individual values.

Virtual Tag Configs define a derived (virtual) tag key and a set of values determined by VQL filters.
This is useful for normalizing cost attribution (e.g., mapping multiple provider tag formats into a
single tag), collapsing noisy tag keys, and optionally overriding provider-supplied tags.

You can optionally:
- backfill_until: backfill the virtual tag values to an earliest month
- collapsed_tag_keys: collapse values for specific underlying tag keys (optionally scoped by provider)
- values: define named values via VQL filters, optionally linked to Business Metrics and/or cost metrics

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | The key of the VirtualTagConfig |
| `values` | array | No | Ordered values to create for the Virtual Tag Config. |
| `overridable` | boolean | Yes | Whether the VirtualTagConfig can override a provider-supplied tag on a matching Cost. |
| `backfill_until` | string | No | The earliest month the VirtualTagConfig should be backfilled to. ISO 8601 Formatted. |
| `collapsed_tag_keys` | array | No | Tag keys whose values should be collapsed. |

### Create-virtual-tag-config-value

**Slug:** `VANTAGE_MCP_CREATE_VIRTUAL_TAG_CONFIG_VALUE`

Adds a new mapping/value to an existing Virtual Tag Config without replacing its other values. Use this to append a mapping while editing a Virtual Tag; new values are added after existing values.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Name for a simple Virtual Tag Config Value. |
| `filter` | string | Yes | VQL filter that determines which costs match this Virtual Tag Config Value. |
| `label_key` | string | No | Business Metric label key used by this value. |
| `cost_metric` | object | No | Cost metric used for dynamic allocation. |
| `date_ranges` | array | No | Date ranges that restrict when this value applies. |
| `percentages` | array | No | Fixed percentage allocations for matching costs. |
| `display_name` | string | No | Display name for a cost metric or percentage allocation value. |
| `label_values` | array | No | Business Metric label values. An empty array includes every value for the label key. |
| `label_transforms` | array | No | Transforms applied to Business Metric labels. |
| `business_metric_token` | string | No | Business Metric token (`bsnss_mtrc_*`). Associates this value with a Business Metric. |
| `virtual_tag_config_token` | string | Yes | Virtual Tag Config token (`vtag_*`). Parent Virtual Tag Config. |

### Create-workspace

**Slug:** `VANTAGE_MCP_CREATE_WORKSPACE`

Create a new Workspace in Vantage. Workspaces are isolated environments for organizing cost data and access control across teams.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the workspace |
| `currency` | string | No | Currency code for the workspace (e.g., "USD") |
| `exchange_rate_date` | string ("daily_rate" | "end_of_billing_period_rate") | No | The date to use for currency conversion |
| `enable_currency_conversion` | boolean | No | Enable currency conversion for the workspace |

### Delete-annotation

**Slug:** `VANTAGE_MCP_DELETE_ANNOTATION`

Delete an Annotation by its token. This action is irreversible. Use list-annotations to find the annotation_token.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `annotation_token` | string | Yes | Annotation token (`issue_*`). |

### Delete-billing-rule

**Slug:** `VANTAGE_MCP_DELETE_BILLING_RULE`

Deletes a Billing Rule by its token. This action is irreversible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `billing_rule_token` | string | Yes | Billing Rule token (`bllng_rule_*`). |

### Delete-budget

**Slug:** `VANTAGE_MCP_DELETE_BUDGET`

Deletes a Budget by its token. This action is irreversible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `budget_token` | string | Yes | Budget token (`bdgt_*`). |

### Delete-budget-alert

**Slug:** `VANTAGE_MCP_DELETE_BUDGET_ALERT`

Delete a Budget Alert by token. This permanently removes the alert without deleting its monitored Budgets.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `budget_alert_token` | string | Yes | Budget Alert token (`bdgt_alrt_*`). |

### Delete-canvas

**Slug:** `VANTAGE_MCP_DELETE_CANVAS`

Deletes a Canvas by its token. This action is irreversible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `canvas_token` | string | Yes | Canvas token (`cnvs_*`). |

### Delete-cost-alert

**Slug:** `VANTAGE_MCP_DELETE_COST_ALERT`

Deletes a Cost Alert by its token. This action is irreversible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cost_alert_token` | string | Yes | Cost Alert token (`cstm_alrt_rl_*`). |

### Delete-cost-report

**Slug:** `VANTAGE_MCP_DELETE_COST_REPORT`

Deletes a cost report by its token. This action is irreversible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cost_report_token` | string | Yes | Cost Report token (`rprt_*`). |

### Delete-dashboard

**Slug:** `VANTAGE_MCP_DELETE_DASHBOARD`

Deletes a Dashboard by its token. This action is irreversible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `dashboard_token` | string | Yes | Dashboard token (`dshbrd_*`). |

### Delete-financial-commitment-report

**Slug:** `VANTAGE_MCP_DELETE_FINANCIAL_COMMITMENT_REPORT`

Deletes a financial commitment report by its token. This action is irreversible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `financial_commitment_report_token` | string | Yes | Financial Commitment Report token (`fncl_cmnt_rprt_*`). |

### Delete-folder

**Slug:** `VANTAGE_MCP_DELETE_FOLDER`

Deletes a Folder. Reports within the Folder will not be deleted.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `folder_token` | string | Yes | Folder token (`fldr_*`). |

### Delete-network-flow-report

**Slug:** `VANTAGE_MCP_DELETE_NETWORK_FLOW_REPORT`

Deletes a Network Flow Report by token.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `network_flow_report_token` | string | Yes | Network Flow Report token (`ntflw_lg_rprt_*`). |

### Delete-recommendation-view

**Slug:** `VANTAGE_MCP_DELETE_RECOMMENDATION_VIEW`

Deletes a recommendation view by its token. This action is irreversible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `recommendation_view_token` | string | Yes | Recommendation View token (`rec_vw_*`). |

### Delete-report-forecast

**Slug:** `VANTAGE_MCP_DELETE_REPORT_FORECAST`

Delete a scenario-model ReportForecast by token. This action is irreversible.
Requires Scenario Models (Enterprise). A 403 means the account is not entitled or the caller cannot update the Cost Report.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `report_forecast_token` | string | Yes | Report Forecast token (`rprt_frcst_*`). |

### Delete-report-notification

**Slug:** `VANTAGE_MCP_DELETE_REPORT_NOTIFICATION`

Deletes a Report Notification by its token. This action is irreversible and stops the scheduled Cost Report summary from being delivered.

Use this tool when a user asks to delete, remove, disable, or stop a scheduled report notification. Do not use this for deleting Cost Alerts, budget alerts, threshold alerts, or spend-limit notifications.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `report_notification_token` | string | Yes | Report Notification token (`rprt_ntfctn_*`). |

### Delete-resource-report

**Slug:** `VANTAGE_MCP_DELETE_RESOURCE_REPORT`

Deletes a resource report by its token. This action is irreversible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `resource_report_token` | string | Yes | Resource Report token (`prvdr_rsrc_rprt_*`). |

### Delete-scenario-model

**Slug:** `VANTAGE_MCP_DELETE_SCENARIO_MODEL`

Delete a ScenarioModel by token. This action is irreversible and regenerates forecasts that referenced the model.
Requires Scenario Models (Enterprise). A 403 means the account is not entitled or the caller cannot delete the model.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `scenario_model_token` | string | Yes | Scenario Model token (`frcst_mdl_*`). |

### Delete-team

**Slug:** `VANTAGE_MCP_DELETE_TEAM`

Delete a Team.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_token` | string | Yes | Team token (`team_*`). |

### Delete-virtual-tag-config

**Slug:** `VANTAGE_MCP_DELETE_VIRTUAL_TAG_CONFIG`

Deletes an entire Virtual Tag Config and all of its mappings/values. To remove only one mapping, use delete-virtual-tag-config-value instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `virtual_tag_config_token` | string | Yes | Virtual Tag Config token (`vtag_*`). |

### Delete-virtual-tag-config-value

**Slug:** `VANTAGE_MCP_DELETE_VIRTUAL_TAG_CONFIG_VALUE`

Deletes exactly one mapping/value from an existing Virtual Tag Config, not the containing tag. Remaining values are preserved without replacement or reordering.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `virtual_tag_config_token` | string | Yes | Virtual Tag Config token (`vtag_*`). Parent Virtual Tag Config. |
| `virtual_tag_config_value_token` | string | Yes | Virtual Tag Config Value token (`vtag_val_*`). |

### Get-anomaly

**Slug:** `VANTAGE_MCP_GET_ANOMALY`

Gets a specific anomaly alert by its token.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `anomaly_alert_token` | string | Yes | Anomaly Alert token (`anmly_alrt_*`). |

### Get-billing-rule

**Slug:** `VANTAGE_MCP_GET_BILLING_RULE`

Gets a specific Billing Rule by its token. Returns details about the rule including its type, configuration, and applicable dates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `billing_rule_token` | string | Yes | Billing Rule token (`bllng_rule_*`). |

### Get-budget

**Slug:** `VANTAGE_MCP_GET_BUDGET`

Gets a specific Budget by its token. Optionally includes performance data showing actual spend vs. budget amounts by period.
The token of a budget can be used to link the user to the budget in the Vantage Web UI. Build the link like this: https://console.vantage.sh/go/<BudgetToken>

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `budget_token` | string | Yes | Budget token (`bdgt_*`). |
| `include_performance` | boolean | No | If true, includes performance data showing actual spend vs. budget amounts by period. |

### Get-budget-alert

**Slug:** `VANTAGE_MCP_GET_BUDGET_ALERT`

Get a specific Budget Alert by token. Budget Alerts monitor Budget objects.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `budget_alert_token` | string | Yes | Budget Alert token (`bdgt_alrt_*`). |

### Get-business-metric

**Slug:** `VANTAGE_MCP_GET_BUSINESS_METRIC`

Get a specific BusinessMetric by token.
BusinessMetrics can be attached to Cost Reports for per-unit cost analysis, and their values can be retrieved with get-business-metric-values or get-business-metric-forecasted-values.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `business_metric_token` | string | Yes | Business Metric token (`bsnss_mtrc_*`). |

### Get-business-metric-forecasted-values

**Slug:** `VANTAGE_MCP_GET_BUSINESS_METRIC_FORECASTED_VALUES`

Get forecasted values for a BusinessMetric.
Values are returned in descending date order by the Vantage API and can include optional labels.
Use start_date to limit results to values on or after a YYYY-MM-DD date.
This endpoint is paginated. If the user asks for all values, complete data, or values for a date range such as a month, keep calling this tool with pagination.nextPage until pagination.hasNextPage is false before answering.
The API only supports a start_date lower bound. For bounded ranges, such as a specific month, fetch all pages from the requested start date and then filter the returned values to the requested end date locally.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | number | No | The page number to return, defaults to 1. |
| `start_date` | string | No | Query BusinessMetric values by the first date to filter from. Must be YYYY-MM-DD format. |
| `business_metric_token` | string | Yes | Business Metric token (`bsnss_mtrc_*`). |

### Get-business-metric-values

**Slug:** `VANTAGE_MCP_GET_BUSINESS_METRIC_VALUES`

Get historical values for a BusinessMetric.
Values default to monthly sums grouped by label. Use day for daily sums or raw to preserve original timestamps, including hourly values; binned sums may not suit gauges or percentages.
Values are returned in descending date order by the Vantage API and can include optional labels.
When a request depends on labels but exact values are not confirmed, call list-business-metric-labels first and pass the selected values through label_values. Skip label discovery when exact values are already supplied.
Use start_date to limit results to values on or after a YYYY-MM-DD date.
This endpoint is paginated. If the user asks for all values, complete data, or values for a date range such as a month, keep calling this tool with pagination.nextPage until pagination.hasNextPage is false before answering.
The API only supports a start_date lower bound. For bounded ranges, such as a specific month, fetch all pages from the requested start date and then filter the returned values to the requested end date locally.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | number | No | The page number to return, defaults to 1. |
| `date_bin` | string ("raw" | "day" | "month") | No | Time aggregation. Defaults to month. Day and month sum amounts by UTC bucket and label; raw preserves original timestamps, including hourly values. Use raw for gauges or percentages when summing is not appropriate. |
| `start_date` | string | No | Query BusinessMetric values by the first date to filter from. Must be YYYY-MM-DD format. |
| `label_values` | array | No | Return values matching any exact label value. For multi-label metrics, matches values under any label key. If exact values are not confirmed, call list-business-metric-labels first. |
| `business_metric_token` | string | Yes | Business Metric token (`bsnss_mtrc_*`). |

### Get-canvas

**Slug:** `VANTAGE_MCP_GET_CANVAS`

Gets a specific Canvas by its token. Returns the canvas details including its title, prompt, status, and structured table data.
The token of a canvas can be used to link the user to the canvas in the Vantage Web UI. Build the link like this: https://console.vantage.sh/go/<CanvasToken>

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `canvas_token` | string | Yes | Canvas token (`cnvs_*`). |

### Get-cost-alert

**Slug:** `VANTAGE_MCP_GET_COST_ALERT`

Gets a specific Cost Alert by its token.

Use this tool when you already have a cost alert token, such as one returned by list-cost-alerts or referenced in Vantage. Cost Alerts are threshold-based spending alerts for Cost Reports.

Do not use this for Report Notifications, scheduled report summaries, or recurring Cost Report delivery.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cost_alert_token` | string | Yes | Cost Alert token (`cstm_alrt_rl_*`). |

### Get-cost-alert-event

**Slug:** `VANTAGE_MCP_GET_COST_ALERT_EVENT`

Gets a specific Cost Alert event by its token. Use after list-cost-alert-events when you need the full trigger record.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_token` | string | Yes | Cost Alert Event token (`cstm_alrt_evnt_*`). |
| `cost_alert_token` | string | Yes | Cost Alert token (`cstm_alrt_rl_*`). |

### Get-cost-provider-accounts

**Slug:** `VANTAGE_MCP_GET_COST_PROVIDER_ACCOUNTS`

Get Cost Provider Accounts in a workspace with human-readable titles.
Useful for mapping account IDs to names, or looking up an account_id for VQL.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Search Cost Provider Accounts by title. |
| `provider` | string ("aws" | "azure" | "gcp" | "snowflake" | "databricks" | "mongo" | "datadog" | "fastly" | "new_relic" | "opencost" | "open_ai" | "oracle" | "confluent" | "planetscale" | "coralogix" | "kubernetes" | "custom_provider" | "github" | "linode" | "grafana" | "clickhouse" | "temporal" | "twilio" | "azure_csp" | "kubernetes_agent" | "anthropic" | "anyscale" | "cursor" | "elastic" | "vercel" | "redis_cloud" | "circle_ci" | "modal" | "eleven_labs" | "baseten" | "cloudflare" | "fireworks_ai" | "cartesia" | "depot" | "xai" | "digital_ocean" | "together_ai" | "coreweave" | "devin" | "openrouter") | No | Provider to filter provider accounts to. Use list-cost-providers to discover connected providers. |
| `account_id` | string | No | Filter by a specific account ID. |
| `account_name` | string | No | Filter by account name (exact match). |
| `workspace_token` | string | Yes | Workspace token (`wrkspc_*`). |

### Get-cost-report

**Slug:** `VANTAGE_MCP_GET_COST_REPORT`

Gets a specific cost report by its token. The token of a report can be used to generate a link to the report in the Vantage Web UI: https://console.vantage.sh/go/<token>
The same token can be used with the get-cost-report-forecast tool to retrieve forecasted future costs for the report.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cost_report_token` | string | Yes | Cost Report token (`rprt_*`). |

### Get-cost-report-forecast

**Slug:** `VANTAGE_MCP_GET_COST_REPORT_FORECAST`

Given a Cost Report Token, Vantage can forecast the costs for a given time range. Vantage will return costs that are *predicted*, but have not yet been actually incurred.
If the user does not set a date, best to pick the next month as the default.
The report token can be used to link the user to the report in the Vantage Web UI. Build the link like this: https://console.vantage.sh/go/<CostReportToken>

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | number | No | The page number to return, defaults to 1 |
| `service` | string | No | Service to filter costs by, refer to the list-cost-services tool, must pass a provider when you pass a service |
| `end_date` | string | No | End date to filter costs by, format=YYYY-MM-DD |
| `provider` | string | No | Provider to filter costs by, refer to the list-cost-providers tool |
| `start_date` | string | No | Start date to filter costs by, format=YYYY-MM-DD |
| `cost_report_token` | string | Yes | Cost Report token (`rprt_*`). |

### Get-dashboard

**Slug:** `VANTAGE_MCP_GET_DASHBOARD`

Gets a specific dashboard by its token. The token of a dashboard can be used to generate a link to the dashboard in the Vantage Web UI: https://console.vantage.sh/go/<token>

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `dashboard_token` | string | Yes | Dashboard token (`dshbrd_*`). |

### Get-financial-commitment-report

**Slug:** `VANTAGE_MCP_GET_FINANCIAL_COMMITMENT_REPORT`

Gets a specific financial commitment report by its token.

Use this tool when you already have a financial commitment report token, such as one returned by
Vantage or referenced in the Vantage console. The response includes the report's title, workspace,
date range, grouping, cost scope, and filter configuration. Use query-financial-commitment-report-costs
with the same token to retrieve cost data for the report.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `financial_commitment_report_token` | string | Yes | Financial Commitment Report token (`fncl_cmnt_rprt_*`). |

### Get-folder

**Slug:** `VANTAGE_MCP_GET_FOLDER`

Gets a specific Folder by its token.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `folder_token` | string | Yes | Folder token (`fldr_*`). |

### Get-myself

**Slug:** `VANTAGE_MCP_GET_MYSELF`

Get data that is available to the current auth token.
This includes the list of Workspaces they have access to.

default_workspace_token: The token of the workspace that is set as the default for the user and can be used for queries unless told otherwise.

### Get-network-flow-report

**Slug:** `VANTAGE_MCP_GET_NETWORK_FLOW_REPORT`

Gets a saved Network Flow Report by token. Open in the console at https://console.vantage.sh/go/<token>.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `network_flow_report_token` | string | Yes | Network Flow Report token (`ntflw_lg_rprt_*`). |

### Get-provider-resource

**Slug:** `VANTAGE_MCP_GET_PROVIDER_RESOURCE`

Get detailed information about a specific provider resource using its token or UUID.

This returns comprehensive details about the resource including:
- Resource metadata (instance type, size, configuration, etc.)
- Account and billing account information
- Provider and region details
- Creation timestamp
- Optional cost breakdown by category

The resource_token can be either a Vantage token (starting with prvdr_rsrc) or the resource's UUID/ARN from the cloud provider.
Set include_cost to true to get cost information broken down by category.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `include_cost` | boolean | No | Include cost information broken down by category |
| `resource_token` | string | Yes | The resource token (prvdr_rsrc_*) or UUID/ARN of the resource |

### Get-recommendation-details

**Slug:** `VANTAGE_MCP_GET_RECOMMENDATION_DETAILS`

Get comprehensive details about a specific cost optimization recommendation using its unique token.

This tool provides in-depth information about a single recommendation including:
- Full description of the optimization opportunity
- Exact potential cost savings amount and currency
- Current status (open, resolved, dismissed)
- Category and type of recommendation (e.g., ec2_rightsizing_recommender, unused_financial_commitments)
- Cloud provider and provider account information
- Service being optimized (e.g., EC2, RDS, S3)
- Number of resources that would be affected
- Creation and last updated timestamps
- Additional metadata specific to the recommendation type

Use this tool after getting a recommendation token from list-recommendations to understand exactly what optimization is being suggested and the potential impact.

The recommendation token can also be used with get-recommendation-resources to see the specific infrastructure resources involved.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `recommendation_token` | string | Yes | Recommendation token (`rcmmndtn_*`). |

### Get-recommendation-resource-details

**Slug:** `VANTAGE_MCP_GET_RECOMMENDATION_RESOURCE_DETAILS`

Get comprehensive details about a specific infrastructure resource within a cost optimization recommendation, including the exact actions recommended for that resource.

This tool provides the deepest level of detail about a single resource that's part of a recommendation. The response includes:
- Complete resource identification (resource ID, type, region, account)
- Current configuration and specifications
- Resource utilization metrics and patterns
- Specific recommendation actions for this resource
- Estimated cost savings for implementing the recommendations
- CLI command for remediating the recommendation
- Implementation complexity and effort estimates
- Detailed metadata specific to the resource type and recommendation category

Use this tool when you need to understand exactly what should be done with a specific resource. For example:
- For rightsizing recommendations: shows current vs. recommended instance types, CPU/memory utilization data
- For unused resources: shows usage patterns, last activity, and safe termination recommendations
- For storage optimization: shows current vs. recommended volume types, IOPS usage, throughput patterns
- For Reserved Instance recommendations: shows usage patterns, recommended commitment levels

This is the most granular level of recommendation data available and is essential for making informed decisions about implementing specific optimizations.

You must have both the recommendation token (from list-recommendations) and the resource token (from get-recommendation-resources) to use this tool.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `resource_token` | string | Yes | Provider Resource token (`prvdr_rsrc_*`). |
| `recommendation_token` | string | Yes | Recommendation token (`rcmmndtn_*`). |

### Get-recommendation-resources

**Slug:** `VANTAGE_MCP_GET_RECOMMENDATION_RESOURCES`

Get a paginated list of all infrastructure resources affected by a specific cost optimization recommendation.

This tool returns the actual cloud resources (instances, volumes, load balancers, etc.) that are involved in a recommendation. Each resource entry includes:
- Resource token (unique identifier for the specific resource)
- Resource type (e.g., EC2 instance, EBS volume, RDS instance)
- Resource identifier (instance ID, volume ID, etc.)
- Current configuration details
- Resource-specific metadata

Use this tool after getting recommendation details to see exactly which resources need attention. For example:
- For EC2 rightsizing recommendations: shows the specific instances that are over-provisioned
- For unused resource recommendations: shows the idle instances, volumes, or load balancers
- For Reserved Instance recommendations: shows the usage patterns and instance families
- For storage optimization: shows the volumes that could be optimized

Each resource has its own token that can be used with get-recommendation-resource-details to get comprehensive information about that specific resource and what actions are recommended.

Use pagination (page parameter) to navigate through large numbers of affected resources.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | number | No | The page number to return, defaults to 1 |
| `recommendation_token` | string | Yes | Recommendation token (`rcmmndtn_*`). |

### Get-recommendation-view

**Slug:** `VANTAGE_MCP_GET_RECOMMENDATION_VIEW`

Gets a specific recommendation view by its token.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `recommendation_view_token` | string | Yes | Recommendation View token (`rec_vw_*`). |

### Get-report-forecast

**Slug:** `VANTAGE_MCP_GET_REPORT_FORECAST`

Get a specific scenario-model ReportForecast by token.
Use list-report-forecasts to discover tokens for a Cost Report.
Requires Scenario Models (Enterprise). A 403 means the account is not entitled.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `report_forecast_token` | string | Yes | Report Forecast token (`rprt_frcst_*`). |

### Get-report-notification

**Slug:** `VANTAGE_MCP_GET_REPORT_NOTIFICATION`

Gets a specific Report Notification by its token.

Use this tool when you already have a report notification token, such as one returned by list-report-notifications or referenced in Vantage. The response includes the notification title, Cost Report token, recipients, delivery channels, frequency, and tracked change type.

Do not use this for Cost Alerts, budget alerts, threshold alerts, or spend-limit notifications.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `report_notification_token` | string | Yes | Report Notification token (`rprt_ntfctn_*`). |

### Get-resource-report

**Slug:** `VANTAGE_MCP_GET_RESOURCE_REPORT`

Gets a specific resource report by its token. The token of a report can be used to generate a link to the resource report in the Vantage Web UI: https://console.vantage.sh/go/<token>

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `resource_report_token` | string | Yes | Resource Report token (`prvdr_rsrc_rprt_*`). |

### Get-scenario-model

**Slug:** `VANTAGE_MCP_GET_SCENARIO_MODEL`

Get a specific ScenarioModel by token.
ScenarioModels define future-cost adjustments that can be assigned to Cost Report forecasts.
Use list-scenario-models to discover tokens. The token can also be used with update-scenario-model, delete-scenario-model, and report-forecast tools.
Requires Scenario Models (Enterprise). A 403 means the account is not entitled.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `scenario_model_token` | string | Yes | Scenario Model token (`frcst_mdl_*`). |

### Get-team

**Slug:** `VANTAGE_MCP_GET_TEAM`

Gets a specific team with its token.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `token` | string | Yes | Team token (`team_*`). |

### Get-team-members

**Slug:** `VANTAGE_MCP_GET_TEAM_MEMBERS`

Return the members of a Team, including each user's name, email, token, and Team role.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number, defaults to 1. |
| `team_token` | string | Yes | Team token (`team_*`). |

### Get-teams

**Slug:** `VANTAGE_MCP_GET_TEAMS`

Return all Teams that the user has access to.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Search Teams by name. |
| `page` | number | No | The page number to return, defaults to 1 |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). Only return Teams with access to this Workspace. |

### Get-user

**Slug:** `VANTAGE_MCP_GET_USER`

Gets a specific User by their token. Use get-users to discover user tokens in the workspace.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_token` | string | Yes | User token (`usr_*`). |

### Get-users

**Slug:** `VANTAGE_MCP_GET_USERS`

Return all Users that the user can see in the workspace.

Requires account owner permissions; non-owners receive 403 from the API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | number | No | The page number to return, defaults to 1 |

### Get-virtual-tag-config

**Slug:** `VANTAGE_MCP_GET_VIRTUAL_TAG_CONFIG`

Returns one existing Virtual Tag (Virtual Tag Config) with its complete ordered mappings/values. Use this to show all values on a tag and discover value tokens before editing or reordering.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `virtual_tag_config_token` | string | Yes | Virtual Tag Config token (`vtag_*`). |

### Get-virtual-tag-config-value

**Slug:** `VANTAGE_MCP_GET_VIRTUAL_TAG_CONFIG_VALUE`

Returns one mapping/value from an existing Virtual Tag Config, including its filter and allocation settings. Use this to inspect one mapping before editing it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `virtual_tag_config_token` | string | Yes | Virtual Tag Config token (`vtag_*`). Parent Virtual Tag Config. |
| `virtual_tag_config_value_token` | string | Yes | Virtual Tag Config Value token (`vtag_val_*`). |

### Get-workspace

**Slug:** `VANTAGE_MCP_GET_WORKSPACE`

Gets a specific Workspace by its token. Workspaces are isolated environments within Vantage for organizing cost data and access control across teams.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `workspace_token` | string | Yes | Workspace token (`wrkspc_*`). |

### List-annotations

**Slug:** `VANTAGE_MCP_LIST_ANNOTATIONS`

List report annotations available to the authenticated Vantage access token, ordered from newest to oldest. Optionally filter annotations to a specific Cost Report.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number, defaults to 1 |
| `limit` | integer | No | Number of annotations per page, defaults to 100 and has a maximum of 5000 |
| `report_token` | string | No | Cost Report token (`rprt_*`). When provided, return only annotations associated with this Cost Report. |

### List-anomalies

**Slug:** `VANTAGE_MCP_LIST_ANOMALIES`

Given a token of a Cost Report, look for anomalies in the report. You may optionally pass a Provider, like AWS to filter on. If you do pass a Provider, you can futher filter on a Service, like EC2 or S3.
The report token can be used to link the user to the report in the Vantage Web UI. Build the link like this: https://console.vantage.sh/go/<CostReportToken>

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | number | No | The page number to return, defaults to 1 |
| `service` | string | No | Service to filter anomalies to |
| `end_date` | string | No | End date to filter anomalies to |
| `provider` | string | No | Provider to filter anomalies to |
| `start_date` | string | No | Start date to filter anomalies to |
| `cost_category` | string | No | Cost category to filter anomalies to |
| `cost_report_token` | string | No | Cost Report token (`rprt_*`). Filter anomalies to this Cost Report. |

### List-audit-logs

**Slug:** `VANTAGE_MCP_LIST_AUDIT_LOGS`

List audit logs visible to the authenticated Vantage access token. Audit logs provide a chronological history of supported changes to user-facing resources in Vantage, such as cost reports, virtual tags, segments, recommendation commitments, and other workspace-related objects.

Results are returned in reverse chronological order (newest first).

Each audit log entry can include:
- The audit log token
- The affected object's token, type, and title
- The event (`record_created`, `record_updated`, or `record_destroyed`)
- The source of the action (`console`, `api`, or `finops_agent`)
- The user display name, when available
- The workspace title and workspace token, when available
- The timestamp when the audit log was created
- Field-level change data in `changed_values` and `unchanged_values`

Audit logs commonly include actions such as:
- Creating, updating, or deleting cost reports
- Modifying report filters or related configuration
- Creating, updating, or deleting virtual tags
- Updating recommendation commitments
- Creating, updating, or deleting segments

Use pagination with the `page` parameter starting at 1. You can also pass `limit`; if omitted, the API defaults to 100 results per page.

Audit logs can be filtered by:
- `user`: numeric user ID associated with the action
- `workspace_token`: workspace token
- `action`: `create`, `update`, or `delete`
- `object_type`: `cost_report`, `virtual_tag`, `recommendation_commitment`, or `segment`
- `object_name`: exact object title
- `object_token`: audited object token
- `source`: `console`, `api`, or `finops_agent`
- `start_date` and `end_date`: YYYY-MM-DD dates such as `2024-06-01`
- `token`: audit log token

Use cases for audit logs include:
- Compliance and security review
- Debugging change history
- Change management for reports and configuration
- Monitoring actions taken through the API or the Finops Agent

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | number | No | The page of results to return, defaults to 1 |
| `user` | integer | No | Filter by numeric user ID (the user's database id). Do not pass email addresses or user tokens. |
| `limit` | integer | No | The amount of results to return. The maximum is 1000. Defaults to 100. |
| `token` | string | No | Audit Log token (`adt_lg_*`). Filter by Audit Log token. |
| `action` | string ("create" | "update" | "delete") | No | Filter by action type: create, update, or delete. |
| `source` | string ("console" | "api" | "finops_agent") | No | Filter by source: console, api, or finops_agent. Use finops_agent for actions taken by the FinOps Agent. |
| `end_date` | string | No | Filter by end date (YYYY-MM-DD, inclusive). |
| `start_date` | string | No | Filter by start date (YYYY-MM-DD, inclusive). |
| `object_name` | string | No | Filter by object name |
| `object_type` | string ("virtual_tag" | "cost_report" | "recommendation_commitment" | "segment") | No | Filter by object type: cost_report, virtual_tag, recommendation_commitment, or segment. Other types (e.g. dashboard, budget) are not supported. |
| `object_token` | string | No | Filter by object token (auditable_token) |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). Filter audit logs to this Workspace. |

### List-billing-rules

**Slug:** `VANTAGE_MCP_LIST_BILLING_RULES`

List all billing rules available in the Vantage account. Billing rules allow you to adjust, exclude, or add charges to your cost data.
Use the page value of 1 to start.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | number | No | The page number to return, defaults to 1 |

### List-budget-alerts

**Slug:** `VANTAGE_MCP_LIST_BUDGET_ALERTS`

List Budget Alerts in Vantage. Budget Alerts notify users or connected channels when one or more Budgets reach a percentage threshold during a monthly time window.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number, defaults to 1 |
| `limit` | integer | No | Number of Budget Alerts per page, defaults to 128 and has a maximum of 1000 |
| `budget_token` | string | No | Budget token (`bdgt_*`). When provided, return only Budget Alerts monitoring this Budget. |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). When provided, return only Budget Alerts in this Workspace. |

### List-budgets

**Slug:** `VANTAGE_MCP_LIST_BUDGETS`

List all budgets available in the Vantage account. Budgets help track spending against predefined limits.
Use the page value of 1 to start.
A budget is built against a Cost Report. The Budget objects returned by this tool will have a "cost_report_token" field that contains the token of the Cost Report. The Cost Report has the "filter" field to know what is the range of providers & services that the budget is tracking.
When a user is looking at a Cost Report for a specific date range, they can decide if the providers and services spend is higher than desired by looking at the budgets for that report and the date range of the budget.
The token of a budget can be used to link the user to the budget in the Vantage Web UI. Build the link like this: https://console.vantage.sh/go/<BudgetToken>

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Search Budgets by name. |
| `page` | number | No | The page number to return, defaults to 1 |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). Only return Budgets in this Workspace. |

### List-business-metric-labels

**Slug:** `VANTAGE_MCP_LIST_BUSINESS_METRIC_LABELS`

List distinct label values for a BusinessMetric. For multi-label metrics, values are flattened across label keys.
Use this before get-business-metric-values when a label-dependent request does not provide confirmed exact label values.
This endpoint is paginated. If the user needs the complete set of labels, keep calling this tool with pagination.nextPage until pagination.hasNextPage is false.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number to return, defaults to 1. |
| `business_metric_token` | string | Yes | Business Metric token (`bsnss_mtrc_*`). |

### List-business-metrics

**Slug:** `VANTAGE_MCP_LIST_BUSINESS_METRICS`

List all BusinessMetrics available to the current Vantage API token.
Use page 1 when calling this tool for the first time. If the user asks for all BusinessMetrics or needs to search across the full set, keep calling this tool with pagination.nextPage until pagination.hasNextPage is false.
BusinessMetrics represent business KPIs, such as requests, users, or revenue, that can be attached to Cost Reports for per-unit cost analysis.
The token of a BusinessMetric can be used with get-business-metric, list-business-metric-labels, get-business-metric-values, and get-business-metric-forecasted-values.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Search Business Metrics by title. |
| `page` | number | No | The page number to return, defaults to 1. |

### List-canvases

**Slug:** `VANTAGE_MCP_LIST_CANVASES`

List all saved Canvases available in the Vantage account. Canvases are AI-generated cost analysis views created from natural language prompts.
Use the page value of 1 to start.
The token of a canvas can be used to link the user to the canvas in the Vantage Web UI. Build the link like this: https://console.vantage.sh/go/<CanvasToken>

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Search Canvases by title. |
| `page` | number | No | The page number to return, defaults to 1 |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). Only return Canvases in this Workspace. |

### List-cost-alert-events

**Slug:** `VANTAGE_MCP_LIST_COST_ALERT_EVENTS`

List events for a Cost Alert. Events are individual alert trigger records and can be filtered by Cost Report token.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | number | No | The page number to return, defaults to 1. |
| `limit` | number | No | The maximum number of returned Cost Alert events, defaults to 128. |
| `report_token` | string | No | Cost Report token (`rprt_*`). Filter events to this Cost Report. |
| `cost_alert_token` | string | Yes | Cost Alert token (`cstm_alrt_rl_*`). |

### List-cost-alerts

**Slug:** `VANTAGE_MCP_LIST_COST_ALERTS`

List Cost Alerts available in the Vantage account. Cost Alerts are threshold-based spending alerts for Cost Reports.

Use this tool when a user asks to list, show, view, or find cost alerts, spending alerts, budget alerts, threshold alerts, or spend-limit notifications.

Do not use this for Report Notifications, scheduled report summaries, or recurring Cost Report delivery.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Search cost alerts by title |
| `page` | integer | No | Page number, defaults to 1 |
| `limit` | integer | No | Number of Cost Alerts per page, defaults to 128 and has a maximum of 5000 |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). When provided, return only Cost Alerts in this Workspace. |

### List-cost-integrations

**Slug:** `VANTAGE_MCP_LIST_COST_INTEGRATIONS`

List all cost provider integrations available to provide costs data from and their associated accounts.
Integrations are the cost providers that Vantage is configured to connect to and pull cost data from.
If a user wants to see their providers in the Vantage Web UI, they can visit https://console.vantage.sh/settings/integrations

Note that when 'provider' is 'custom_provider', that has a special case. When doing a VQL query for custom provider, use the 'token' you get back. Here is an example, where the token of the custom provider is "accss_crdntl_07171984": 
  (costs.provider = 'custom_provider:accss_crdntl_07171984')

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | number | No | The page number to return, defaults to 1 |

### List-cost-providers

**Slug:** `VANTAGE_MCP_LIST_COST_PROVIDERS`

List of cost providers available to query for a given Workspace. Can be used to filter costs down to a specific provider in VQL queries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `workspace_token` | string | Yes | Workspace token (`wrkspc_*`). |

### List-cost-reports

**Slug:** `VANTAGE_MCP_LIST_COST_REPORTS`

List all cost reports available. Cost reports are already created reports authored by a user in Vantage. If the user isn't asking about a specific report, it's better to use the query-costs tool.
When you first call this function, use the "Page" parameter of 1.
The 'Title' of a report is a good way to know what the report is about.
The 'filter' of a report also gives clues to the data it provides.
The 'token' of a report is a unique identifier for the report. It can be used to generate a link to the report in the Vantage Web UI. If a user wants to see a report, you can link them like this: https://console.vantage.sh/go/<token>
Vantage offers data related to a cost report: Forecasts. The same report token can be used on the get-cost-report-forecast tool and Vantage will forecast future costs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Search Cost Reports by title. |
| `page` | number | No | The page number to return, defaults to 1 |
| `folder_token` | string | No | Folder token (`fldr_*`). Only return Cost Reports within this Folder. |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). Only return Cost Reports in this Workspace. |

### List-costs

**Slug:** `VANTAGE_MCP_LIST_COSTS`

List the cost items inside a report. The Token of a Report must be provided. Use the page value of 1 to start.
The report token can be used to link the user to the report in the Vantage Web UI. Build the link like this: https://console.vantage.sh/go/<CostReportToken>

The DateBin parameter controls the time granularity of returned results.
When DateBin=day you get a record for each service spend on that day. For DateBin=week you get one entry per week,
with the accrued_at field set to the first day of the week, but the spend item represents spend for a full week.
Same with DateBin=month, each record returned covers a month of data. This lets you get answers with processing fewer
records. If omitted, the API uses the cost report's configured date bin, or day if the report has no override.

Cost settings (credits, refunds, discounts, tax, amortization, etc.) default to the report's own settings.
Only provide these parameters if you need to override the report's defaults.

Use settings_aggregate_by to choose the metric: cost (default), usage, or count.
When aggregate_by is count, the response includes total_count and counts (date-binned distinct Group By permutation counts for the full requested period). Count is not supported for segment reports.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | number | No | The page number to return, defaults to 1 |
| `date_bin` | string ("day" | "week" | "month") | No | Date binning for returned costs. If omitted, the API uses the cost report's configured date bin, or day if the report has no override. Allowed values: day, week, month. |
| `end_date` | string | No | End date to filter costs by, format=YYYY-MM-DD |
| `groupings` | array | No | Group the results by specific field(s). Defaults to provider, service, account_id. Valid groupings: account_id, billing_account_id, charge_type, cost_category, cost_subcategory, provider, region, resource_id, service, tagged, tag:<tag_value>. Let Groupings default unless explicitly asked for. |
| `start_date` | string | No | Start date to filter costs by, format=YYYY-MM-DD |
| `cost_report_token` | string | Yes | Cost Report token (`rprt_*`). |
| `settings_amortize` | boolean | No | Results will amortize. If not provided, the report's setting is used. |
| `settings_include_tax` | boolean | No | Results will include tax. If not provided, the report's setting is used. |
| `settings_unallocated` | boolean | No | Results will show unallocated costs. If not provided, the report's setting is used. |
| `settings_aggregate_by` | string ("cost" | "usage" | "count") | No | Results will aggregate by cost, usage, or count. If not provided, the report's setting is used. |
| `settings_include_credits` | boolean | No | Results will include credits. If not provided, the report's setting is used. |
| `settings_include_refunds` | boolean | No | Results will include refunds. If not provided, the report's setting is used. |
| `settings_include_discounts` | boolean | No | Results will include discounts. If not provided, the report's setting is used. |
| `settings_show_previous_period` | boolean | No | Results will show previous period cost, usage, or count comparison. If not provided, the report's setting is used. |

### List-cost-services

**Slug:** `VANTAGE_MCP_LIST_COST_SERVICES`

List cost service display names for a workspace. These names may NOT match VQL costs.service identifiers used in query-costs filters.
Do not copy names from this tool directly into VQL. Use vql_info or costs.service values from a broad query-costs probe instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `workspace_token` | string | Yes | Workspace token (`wrkspc_*`). |

### List-dashboards

**Slug:** `VANTAGE_MCP_LIST_DASHBOARDS`

List all dashboards available in the Vantage account. Dashboards provide visualizations of cost data.
Use the page value of 1 to start.
The token of a dashboard can be used to link the user to the dashboard in the Vantage Web UI. Build the link like this: https://console.vantage.sh/go/<token>

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Search Dashboards by title. |
| `page` | number | No | The page number to return, defaults to 1 |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). Only return Dashboards in this Workspace. |

### List-financial-commitment-reports

**Slug:** `VANTAGE_MCP_LIST_FINANCIAL_COMMITMENT_REPORTS`

List all financial commitment reports available in the Vantage account.
Use the page value of 1 to start.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Search Financial Commitment Reports by title. |
| `page` | number | No | The page number to return, defaults to 1 |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). Only return Financial Commitment Reports in this Workspace. |

### List-folders

**Slug:** `VANTAGE_MCP_LIST_FOLDERS`

List folders for Cost Reports or Resource Reports, optionally filtering by title, Workspace, or folder type. Use CostFolder for Cost Report folders and ProviderResourceFolder for Resource Report folders; folder tokens link to https://console.vantage.sh/go/<token>.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Search Folders by title. |
| `page` | number | No | The page number to return, defaults to 1 |
| `type` | string ("CostFolder" | "ProviderResourceFolder") | No | Only return Cost Report folders (CostFolder) or Resource Report folders (ProviderResourceFolder). |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). Only return Folders in this Workspace. |

### List-network-flow-reports

**Slug:** `VANTAGE_MCP_LIST_NETWORK_FLOW_REPORTS`

Lists saved Network Flow Reports. Use get-network-flow-report for a report's configuration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Search Network Flow Reports by title. |
| `page` | integer | No | Page number, defaults to 1 |
| `limit` | integer | No | Number of reports per page |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). Only return Network Flow Reports in this Workspace. |

### List-provider-resources

**Slug:** `VANTAGE_MCP_LIST_PROVIDER_RESOURCES`

List infrastructure provider resources (instances, volumes, load balancers, etc.) from your cloud accounts.
Resources can be fetched either from a specific Resource Report or by using VQL filters.

When using a resource_report_token, you get the pre-filtered resources from that report.
When using VQL filters with workspace_token, you can dynamically query resources across your infrastructure.
Provide either resource_report_token or filter (not both). When using filter, workspace_token is required.

VQL for Resource Reports enables filtering using two primary namespaces:

**Resources Namespace** - Access infrastructure attributes:
- resources.provider (AWS, GCP, Azure, etc.)
- resources.region (geographic location codes)
- resources.account_id and resources.provider_account_id
- resources.type (resource classification)
- resources.label and resources.uuid (identifiers)
- resources.metadata (detailed resource properties using ->> operator, e.g., resources.metadata->>'architecture')

**Tags Namespace** - Tag-based filtering:
- tags.name (tag key)
- tags.value (tag content)

VQL supports standard logical operators (AND, OR) and specialized functions:
- Pattern Matching: LIKE and NOT LIKE for substring searches
- Comparisons: IN/NOT IN for list evaluation; !=, <, >, <=, >= for values
- Metadata Queries: >> operator for resource metadata (e.g., resources.metadata->>'architecture')

VQL Representation of Resource Types:

| Provider | VQL Representation | Friendly Name |
|---|---|---|
| AWS | aws_auto_scaling_group | Auto Scaling Group |
| AWS | aws_cloudtrail | CloudTrail |
| AWS | aws_cloudwatch_log_group | CloudWatch Log Group |
| AWS | aws_db_instance | RDS Instance (NOT aws_rds_instance) |
| AWS | aws_db_snapshot | RDS Snapshot (NOT aws_rds_snapshot) |
| AWS | aws_docdb_cluster_instance | DocumentDB Cluster Instance |
| AWS | aws_dynamodb_table | DynamoDB Table |
| AWS | aws_ebs_volume | EBS Volume |
| AWS | aws_instance | EC2 Instance (NOT aws_ec2_instance) |
| AWS | aws_ec2_managed_prefix_list | EC2 Managed Prefix List |
| AWS | aws_ec2_reserved_instance | EC2 Reserved Instance |
| AWS | aws_ecs_service | ECS Service |
| AWS | aws_ecs_task_definition | ECS Task Definition |
| AWS | aws_egress_only_internet_gateway | Egress-Only Internet Gateway |
| AWS | aws_eip | Elastic IP |
| AWS | aws_elasticache_cluster | ElastiCache Cluster |
| AWS | aws_elasticsearch_domain | Elasticsearch Domain |
| AWS | aws_flow_log | Flow Log |
| AWS | aws_glacier_vault | Glacier Vault |
| AWS | aws_instance_snapshot | EC2 Instance Snapshot (NOT aws_ebs_snapshot) |
| AWS | aws_internet_gateway | Internet Gateway |
| AWS | aws_kms_key | KMS Key |
| AWS | aws_lambda_function | Lambda Function |
| AWS | aws_lb | Load Balancer |
| AWS | aws_nat_gateway | NAT Gateway |
| AWS | aws_rds_reserved_instance | RDS Reserved Instance |
| AWS | aws_redshift_cluster | Redshift Cluster |
| AWS | aws_s3_bucket | S3 Bucket |
| AWS | aws_savings_plan | Savings Plan |
| AWS | aws_secretsmanager_secret | Secrets Manager Secret |
| AWS | aws_vpc | VPC |
| AWS | aws_vpc_endpoint | VPC Endpoint |
| AWS | aws_vpn_gateway | VPN Gateway |

Example VQL queries:
- Multi-provider: (resources.provider IN ('aws', 'gcp'))
- Regional: (resources.provider = 'aws' AND resources.region = 'us-east-1')
- Resource type: (resources.provider = 'aws' AND resources.type = 'aws_instance')
- Metadata: (resources.provider = 'aws' AND resources.metadata->>'architecture' = 'x86_64')
- Tags: (resources.provider = 'aws' AND tags.name = 'environment' AND tags.value = 'production')
- Untagged resources: (resources.provider = 'aws' AND tags.name = NULL)

Set include_cost to true to get cost breakdowns by category for each resource.
Use the page parameter starting with 1 for pagination.

Resources include metadata specific to their type (EC2 instances show instance type, EBS volumes show size, etc.).
Each resource has a unique token that can be used to get more details or link to the Vantage Web UI.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | number | No | The page number to return, defaults to 1 |
| `filter` | string | No | VQL query to filter resources (requires workspace_token) |
| `include_cost` | boolean | No | Include cost information broken down by category for each resource |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). Required when using filter. |
| `resource_report_token` | string | No | Resource Report token (`prvdr_rsrc_rprt_*`). |

### List-recommendations

**Slug:** `VANTAGE_MCP_LIST_RECOMMENDATIONS`

List all cost optimization recommendations available in the Vantage account. Recommendations are AI-powered suggestions that help identify opportunities to reduce costs and optimize cloud spending across your infrastructure.

Use the page value of 1 to start pagination.

Recommendations include various types such as:
- EC2 rightsizing (resize overprovisioned instances)
- Unused financial commitments (unused Reserved Instances or Savings Plans)
- Idle resources (running but unused instances, volumes, load balancers)
- Storage optimization (EBS volume type recommendations)
- Reserved Instance and Savings Plan purchase recommendations

Each recommendation includes:
- Potential cost savings amount
- Description of what can be optimized
- Provider and service information
- Number of resources affected
- Current status (open, resolved, dismissed)

Recommendations can be filtered by:
- Status (open shows active recommendations, resolved shows implemented ones, dismissed shows ignored ones)
- Cloud provider via provider (single) or provider_ids (multiple; requires workspace_token) — only use these when the user explicitly specifies cloud providers; do not infer or default to all providers
- Specific workspace via workspace_token
- Provider account ID via provider_account_id (single) or account_ids (multiple; requires workspace_token)
- Billing account via billing_account_ids (requires workspace_token)
- Region via regions (requires workspace_token)
- Tag key/value pair via tag_key + tag_value (both required together; requires workspace_token) — use this when users ask about recommendations for a specific virtual tag, e.g. "recommendations for department=engineering"
- Date range via start_date + end_date in YYYY-MM-DD format (both required together; requires workspace_token)
- Minimum monthly potential savings via min_savings
- Recommendation type via type (case-insensitive fuzzy matching; e.g. "AWS recommendations" -> type=aws; "EC2 rightsizing" -> type=aws:ec2:rightsizing)

The token of each recommendation can be used with other recommendation tools to get detailed information and see specific resources affected.

For users to view and manage recommendations in the Vantage Web UI, they can visit https://console.vantage.sh/recommendations

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | number | No | The page number to return, defaults to 1 |
| `type` | string | No | Filter recommendations by type with case-insensitive fuzzy matching (e.g., aws, aws:ec2, aws:ec2:rightsizing). Natural language values like 'AWS recommendations' are normalized. |
| `filter` | string ("open" | "resolved" | "dismissed") | No | Filter recommendations by status: open (default), resolved, or dismissed |
| `regions` | array | No | Filter by region slugs (e.g. us-east-1, eastus, asia-east1). Requires workspace_token. |
| `tag_key` | string | No | Filter by tag key. Must be provided together with tag_value. Requires workspace_token. |
| `end_date` | string | No | Filter recommendations created on or before this date (YYYY-MM-DD). Must be provided together with start_date. Requires workspace_token. |
| `provider` | string ("aws" | "gcp" | "azure" | "kubernetes" | "datadog") | No | Filter recommendations by cloud provider (aws, gcp, azure, kubernetes, datadog). Aliases like 'Amazon Web Services' and 'Google Cloud' are normalized. |
| `tag_value` | string | No | Filter by tag value. Must be provided together with tag_key. Requires workspace_token. |
| `start_date` | string | No | Filter recommendations created on or after this date (YYYY-MM-DD). Must be provided together with end_date. Requires workspace_token. |
| `account_ids` | array | No | Filter by cloud account identifiers (AWS account IDs, Azure subscription IDs, etc.). Cannot be used together with provider_account_id. Requires workspace_token. |
| `min_savings` | number | No | Filter to recommendations with monthly potential savings greater than or equal to this amount, in the workspace currency. |
| `provider_ids` | array | No | Filter by one or more cloud providers. Cannot be used together with provider. Requires workspace_token. Only use this when the user explicitly asks to filter by specific cloud providers — do not infer or default to passing all providers. |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). Filter recommendations to this Workspace. |
| `billing_account_ids` | array | No | Filter by billing account identifiers. Requires workspace_token. |
| `provider_account_id` | string | No | Filter recommendations by provider account ID |

### List-recommendation-views

**Slug:** `VANTAGE_MCP_LIST_RECOMMENDATION_VIEWS`

List all recommendation views available in the Vantage account. Recommendation views are saved filters for cost optimization recommendations.
Use the page value of 1 to start.
The title of a recommendation view is a good way to understand what optimization scope it represents.
The token of a recommendation view is its unique identifier and can be used to link the user to the view in the Vantage Web UI. Build the link like this: https://console.vantage.sh/go/<token>
The workspace token, date range, providers, accounts, regions, and tag fields provide additional context about which recommendations are included in the view.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Search Recommendation Views by title. |
| `page` | integer | No | The page number to return, defaults to 1 |
| `limit` | integer | No | The number of results per page. Defaults to 128. The maximum is 1000. |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). Only return Recommendation Views in this Workspace. |

### List-report-forecasts

**Slug:** `VANTAGE_MCP_LIST_REPORT_FORECASTS`

List scenario-model ReportForecasts for a Cost Report.
ReportForecasts assign ScenarioModels (and optionally a BusinessMetric) to a Cost Report for planning views.
Use page 1 when calling this tool for the first time. Keep calling with pagination.nextPage until pagination.hasNextPage is false when listing all forecasts.
The token of a ReportForecast can be used with get-report-forecast, update-report-forecast, and delete-report-forecast.
Requires Scenario Models (Enterprise). A 403 means the account is not entitled.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | number | No | The page number to return, defaults to 1. |
| `cost_report_token` | string | Yes | Cost Report token (`rprt_*`). |

### List-report-notifications

**Slug:** `VANTAGE_MCP_LIST_REPORT_NOTIFICATIONS`

List Report Notifications available in the Vantage account. Report Notifications are scheduled deliveries of Cost Report summaries to users, Slack channels, or Microsoft Teams channels.

Use this tool when a user asks to list, show, view, or find scheduled report notifications or recurring Cost Report summaries. Use the page value of 1 to start.

Do not use this for Cost Alerts, budget alerts, threshold alerts, or spend-limit notifications. Cost Alerts are threshold-based spending alerts; Report Notifications are scheduled report deliveries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Search Report Notifications by title. |
| `page` | number | No | The page number to return, defaults to 1 |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). Only return Report Notifications in this Workspace. |

### List-resource-report-columns

**Slug:** `VANTAGE_MCP_LIST_RESOURCE_REPORT_COLUMNS`

List available columns for a resource type. The resource_type is a required parameter, and must be a valid VQL resource type name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `resource_type` | string | Yes | The resource type to retrieve available columns for. This parameter must be a valid VQL resource type name. |

### List-resource-reports

**Slug:** `VANTAGE_MCP_LIST_RESOURCE_REPORTS`

List all resource reports available. Resource reports are already created reports authored by a user in Vantage.
When you first call this function, use the "Page" parameter of 1.
The 'Title' of a report is a good way to know what the report is about.
The 'filter' of a report also gives clues to the data it provides.
The 'token' of a report is a unique identifier for the report. It can be used to generate a link to the report in the Vantage Web UI.
If a user wants to see a report, you can link them like this: https://console.vantage.sh/go/<token>

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Search Resource Reports by title. |
| `page` | number | No | The page number to return, defaults to 1 |
| `limit` | number | No | The maximum number of returned resource reports this call, defaults to 128 |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). Only return Resource Reports in this Workspace. |

### List-scenario-models

**Slug:** `VANTAGE_MCP_LIST_SCENARIO_MODELS`

List ScenarioModels available to the current Vantage API token.
ScenarioModels define future-cost adjustments (dollar or percent) that can be assigned to Cost Report forecasts via report-forecast tools.
Use page 1 when calling this tool for the first time. If the user asks for all ScenarioModels, keep calling with pagination.nextPage until pagination.hasNextPage is false.
The token of a ScenarioModel can be used with get-scenario-model, update-scenario-model, delete-scenario-model, and create-report-forecast / update-report-forecast.
Requires Scenario Models (Enterprise). A 403 means the account is not entitled.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | number | No | The page number to return, defaults to 1. |

### List-tags

**Slug:** `VANTAGE_MCP_LIST_TAGS`

List tags that can be used to filter costs and cost reports.
Tags are associated with one or more Cost Providers.
Tags can be edited in the Vantage Web UI, or have further details displayed there. Link a user to the tag page like this: https://console.vantage.sh/settings/tags?search_query=<tag>

Requires integration settings permission; callers without it receive 403 from the API.
Each tag in the response uses the field `tag_key` (not `key`).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | number | No | The page number to return, defaults to 1 |
| `providers` | array | No | Filter tags to those present on the given cost providers (e.g. aws, azure, gcp) |
| `search_query` | string | No | Search query to filter tags by tag key name |

### List-tag-values

**Slug:** `VANTAGE_MCP_LIST_TAG_VALUES`

List values for a tag key. The argument is `key` (the tag key name); the API response fields use `tag_value`.

Requires integration settings permission; callers without it receive 403 from the API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | Tag key name to list values for (matches API path parameter `key`) |
| `page` | number | No | The page number to return, defaults to 1 |
| `providers` | array | No | Filter values to those present on the given cost providers (e.g. aws, azure, gcp) |
| `search_query` | string | No | Search query to filter tag values by value name |

### List-unit-costs

**Slug:** `VANTAGE_MCP_LIST_UNIT_COSTS`

Retrieve the unit costs for a given CostReport, with optional paging, date filters, and ordering.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | number | No | The page number to return, defaults to 1 |
| `order` | string ("asc" | "desc") | No | Order of the returned costs, defaults to desc |
| `date_bin` | string ("day" | "week" | "month") | No | Date binning for returned costs. If omitted, the API uses the cost report's configured date bin, or day if the report has no override. Allowed values: day, week, month. |
| `end_date` | string | No | Last date to filter unit costs to, format=YYYY-MM-DD |
| `start_date` | string | No | First date to filter unit costs from, format=YYYY-MM-DD |
| `cost_report_token` | string | Yes | Cost Report token (`rprt_*`). |

### List-virtual-tag-configs

**Slug:** `VANTAGE_MCP_LIST_VIRTUAL_TAG_CONFIGS`

Lists or searches the Virtual Tags (Virtual Tag Configs) the current API token can access, including every mapping/value. Use this to discover config and value tokens or find a tag by key.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Search query that filters Virtual Tag Configs by key. |

### List-workspaces

**Slug:** `VANTAGE_MCP_LIST_WORKSPACES`

List all Workspaces available to the authenticated API token. Workspaces are isolated environments within Vantage for organizing cost data and access control across teams.

Use get-myself to see the user's default workspace. Use get-workspace to retrieve details for a specific workspace.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Search Workspaces by name. |
| `page` | number | No | The page number to return, defaults to 1 |
| `limit` | number | No | The number of results to return per page, defaults to 128 |

### Query-costs

**Slug:** `VANTAGE_MCP_QUERY_COSTS`

Query for costs in a Vantage Account. These are independent of a cost reports.
Use Vantage VQL to structure a query.
Queries must be scoped to a Workspace. Use the get-myself tool to know about available workspaces, and the get-cost-integrations tool to know about available cost providers. If the user didn't tell you a workspace it is best to ask them than to guess it.
It's best to set a date range of 30 days unless the user specifically wants to query for a longer time period.

When a user asks for data from an account, use the "get-cost-provider-accounts" tool to match a name to an account. With that result, always use the account_id in the account_id parameter for this tool. 

Here is some more detailed info on using VQL:
All costs originate from a Cost Provider (generally a cloud company like AWS, Azure, Datadog) and then filter on a service that they provide (like EC2, S3, etc).
A cost provider is required on every VQL query.
VQL is always in parenthesis. Always use single quotes around names that are being queried.
To query on a cost provider, use this syntax: (costs.provider = '<provider name>'). The provider name must come from the list-cost-providers tool.
To query on a cost service, use this syntax: (costs.provider = '<provider name>' AND costs.service = '<service name>').
For AWS, costs.service must be a CUR identifier (e.g. 'AmazonEC2', 'AmazonVPC', 'AWSDirectConnect'). Use vql_info to resolve aliases — not display names from list-cost-services.
If a query returns no rows, run one broad probe query first (provider only, date_bin=month, wide date range) to learn available months and service identifiers before retrying with a narrower filter.
For month-over-month comparisons, span both months in start_date/end_date with date_bin=month and settings_show_previous_period=true instead of separate queries per month.
Prefer one query-costs call with all needed groupings (e.g. service, account_id, tag:<key>) over multiple calls that only change groupings.
You can only filter against one cost provider at a time. If you want to query for costs from two providers, you need to use the OR operator. Example: ((costs.provider = 'aws') OR (costs.provider = 'azure'))
You can otherwise use the IN system to compare against a list of items, like this: (costs.provider = 'aws' AND costs.service IN ('AWSQueueService', 'AWSLambda'))
To filter within a cost provider, keep the cost provider part and add a AND section, example: (costs.provider = 'aws' AND costs.service = 'AmazonRDS')
Many costs have tags on them. A tag is a "name" and one or more values.
To find an AWS cost that has a tag of "environment" the value "production", use this syntax: (costs.provider = 'aws' AND tags.name = 'environment' AND tags.value = 'production')
You can also query for any value of the "environment" tag, like this: (costs.provider = 'aws' AND tags.name = 'environment')
Items without a tag can also be filtered, example: (costs.provider = 'aws' AND tags.name = NULL)
Parenthesis can be nested. Here we surround an OR clause to look for either of two values for a tag: (costs.provider = 'aws' AND tags.name = 'environment' AND (tags.value = 'dev' OR tags.value = 'staging'))
A user can have more than one provider account. They can filter on provider accounts if they supply you with the account id. Example: (costs.provider = 'aws' AND costs.account_id = '1000000717')
You can also combine top-level queries to find for two providers: ((costs.provider = 'datadog') OR (costs.provider = 'azure'))
Some cost providers operate in a specific region, you can filter using the costs.region field. Example: (costs.provider = 'aws' AND costs.region = 'us-east-1')
Note that when users want to query a Custom Provider, that has a special case. When doing a VQL query for custom provider, use the 'token' you get back from the 'list-cost-integrations' tool. Here is an example, where the token of the custom provider is "accss_crdntl_07171984": 
  (costs.provider = 'custom_provider:accss_crdntl_07171984')

The DateBin parameter controls the time granularity of returned results.
When DateBin=day you get a record for each service spend on that day. For DateBin=week you get one entry per week,
with the accrued_at field set to the first day of the week, but the spend item represents spend for a full week.
Same with DateBin=month, each record returned covers a month of data. This lets you get answers with processing fewer
records. If omitted, DateBin defaults to day.

Cost settings (credits, refunds, discounts, tax, amortization, etc.) default to the workspace's default report settings.
Only provide these parameters if you need to override those defaults.

Use settings_aggregate_by to choose the metric: cost (default), usage, or count.
When aggregate_by is count, the response includes total_count and counts (date-binned distinct Group By permutation counts for the full requested period).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | number | No | The page number to return, defaults to 1 |
| `filter` | string | Yes | A VQL query to run against your vantage account |
| `date_bin` | string ("day" | "week" | "month") | No | Date binning for returned costs. Defaults to day if omitted. Allowed values: day, week, month. |
| `end_date` | string | No | End date to filter costs by, format=YYYY-MM-DD |
| `groupings` | array | No | Group the results by specific field(s). Defaults to provider, service, region. Valid groupings: account_id, billing_account_id, charge_type, cost_category, cost_subcategory, provider, region, resource_id, service, tagged, tag:<tag_value>. Include every grouping you need in one call rather than issuing separate calls per grouping. |
| `start_date` | string | No | Start date to filter costs by, format=YYYY-MM-DD |
| `workspace_token` | string | Yes | Workspace token (`wrkspc_*`). |
| `settings_amortize` | boolean | No | Results will amortize. If not provided, the workspace's default report setting is used. |
| `settings_include_tax` | boolean | No | Results will include tax. If not provided, the workspace's default report setting is used. |
| `settings_unallocated` | boolean | No | Results will show unallocated costs. If not provided, the workspace's default report setting is used. |
| `settings_aggregate_by` | string ("cost" | "usage" | "count") | No | Results will aggregate by cost, usage, or count. If not provided, the workspace's default report setting is used. |
| `settings_include_credits` | boolean | No | Results will include credits. If not provided, the workspace's default report setting is used. |
| `settings_include_refunds` | boolean | No | Results will include refunds. If not provided, the workspace's default report setting is used. |
| `settings_include_discounts` | boolean | No | Results will include discounts. If not provided, the workspace's default report setting is used. |
| `settings_show_previous_period` | boolean | No | Results will show previous period cost, usage, or count comparison. If not provided, the workspace's default report setting is used. |

### Query-financial-commitment-report-costs

**Slug:** `VANTAGE_MCP_QUERY_FINANCIAL_COMMITMENT_REPORT_COSTS`

Query cost data for a Financial Commitment Report. Omit date_bin, groupings, filter, and
on_demand_costs_scope to use the report's saved configuration.

DateBin controls time granularity. When DateBin=day each record represents one day; week and month
behave similarly with accrued_at set to the period start. Hourly costs are limited to 14 days.
If omitted, the report's configured date bucket is used.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number, defaults to 1 |
| `order` | string ("asc" | "desc") | No | Order costs by date ascending or descending |
| `filter` | string | No | VQL filter overriding the report's saved filter. Uses the financial_commitments namespace — see the VQL for Financial Commitment Reports resource. |
| `date_bin` | string ("hour" | "day" | "week" | "month" | "quarter") | No | Date binning for returned costs. If omitted, the report's configured date bucket is used. Hourly costs are limited to 14 days. |
| `end_date` | string | No | End date to filter costs by, format=YYYY-MM-DD |
| `groupings` | array | No | Grouping dimensions for aggregating costs on the report. Valid groupings: cost_type, commitment_type, commitment_id, service, resource_account_id, provider_account_id, region, cost_category, cost_sub_category, instance_type, and tag:<tag_key>. If omitted, the report's configured groupings are used. |
| `start_date` | string | No | Start date to filter costs by, format=YYYY-MM-DD |
| `on_demand_costs_scope` | string ("discountable" | "all") | No | Scope for on-demand costs: discountable or all. If omitted, the report's configured scope is used. |
| `financial_commitment_report_token` | string | Yes | Financial Commitment Report token (`fncl_cmnt_rprt_*`). |

### Query-network-flow-logs

**Slug:** `VANTAGE_MCP_QUERY_NETWORK_FLOW_LOGS`

Queries aggregated network flow log data (costs and bytes). Pass a saved report token or an ad hoc filter. Unlike create/update, custom date ranges use start_date and end_date without date_interval=custom.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number, defaults to 1 |
| `limit` | integer | No | Number of rows per page |
| `filter` | string | No | Ad hoc VQL filter or override for a saved report. Uses the network_flow_logs namespace. |
| `end_date` | string | No | Custom range end date, YYYY-MM-DD. Provide start_date and omit date_interval. |
| `groupings` | array | No | Dimensions used to group network traffic. |
| `start_date` | string | No | Custom range start date, YYYY-MM-DD. Provide end_date and omit date_interval. |
| `flow_weight` | string ("costs" | "bytes") | No | Override the saved report's ordering metric. |
| `date_interval` | string ("last_3_days" | "last_7_days" | "last_14_days" | "last_30_days") | No | Relative date interval. Incompatible with start_date and end_date. |
| `flow_direction` | string ("all" | "ingress" | "egress") | No | Override the saved report's traffic direction. |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). Required for ad hoc queries. |
| `network_flow_report_token` | string | No | Network Flow Report token (`ntflw_lg_rprt_*`). |

### Remove-team-member

**Slug:** `VANTAGE_MCP_REMOVE_TEAM_MEMBER`

Remove a user from a Team without deleting the user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_token` | string | Yes | Team token (`team_*`). |
| `user_token` | string | Yes | User token (`usr_*`). |

### Submit-user-feedback

**Slug:** `VANTAGE_MCP_SUBMIT_USER_FEEDBACK`

Submit feedback on using the Vantage MCP Server. Ask the user if they'd like to provide feedback any time you sense they might be frustrated.
Stop suggesting if they say they're not interested in providing feedback.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `message` | string | Yes | Feedback message regarding using the Vantage MCP Server |

### Update-annotation

**Slug:** `VANTAGE_MCP_UPDATE_ANNOTATION`

Update the title, date, message, or associated Cost Reports of an existing Annotation. Providing report_tokens replaces all existing Report associations. Use list-annotations to find the annotation_token.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | No | Updated Annotation date in ISO 8601 format (YYYY-MM-DD). |
| `title` | string | No | Updated Annotation title. |
| `message` | string | No | Updated message for the Annotation. |
| `report_tokens` | array | No | Replacement Cost Reports for the Annotation. |
| `annotation_token` | string | Yes | Annotation token (`issue_*`). |

### Update-anomaly

**Slug:** `VANTAGE_MCP_UPDATE_ANOMALY`

Updates an existing anomaly alert by its token. Use this to change the status of an anomaly alert (e.g. to archive or ignore it) and optionally provide feedback.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `status` | string ("active" | "archived" | "ignored") | Yes | The new status of the anomaly alert. |
| `feedback` | string | No | Optional comments explaining why the alert is being ignored or archived. |
| `anomaly_alert_token` | string | Yes | Anomaly Alert token (`anmly_alrt_*`). |

### Update-billing-rule

**Slug:** `VANTAGE_MCP_UPDATE_BILLING_RULE`

Updates an existing Billing Rule. You can update the title, dates, and type-specific fields.
Type-specific fields:
- Exclusion: charge_type
- Adjustment: percentage, service, category
- Charge/Credit: service, category, sub_category, amount, start_date
- Custom: sql_query

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | The updated title of the Billing Rule. |
| `amount` | number | No | The amount (e.g. 300). |
| `service` | string | No | The service. |
| `category` | string | No | The category. |
| `end_date` | string | No | The updated end date in ISO 8601 format (YYYY-MM-DD). |
| `sql_query` | string | No | The SQL query for Custom rules. |
| `percentage` | number | No | The percentage adjustment (e.g. 75.0). |
| `start_date` | string | No | The updated start date in ISO 8601 format (YYYY-MM-DD). |
| `charge_type` | string | No | The charge type. |
| `apply_to_all` | boolean | No | Whether the rule applies to all cost reports. |
| `sub_category` | string | No | The sub-category. |
| `billing_rule_token` | string | Yes | Billing Rule token (`bllng_rule_*`). |

### Update-budget

**Slug:** `VANTAGE_MCP_UPDATE_BUDGET`

Updates an existing Budget. You can update the name, linked Cost Report, child Budget tokens for hierarchical budgets, period cadence, or budget periods.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The updated name of the Budget. |
| `periods` | array | No | The updated periods for the Budget. The start_at and end_at must be iso8601 formatted e.g. YYYY-MM-DD. Ignored for hierarchical Budgets. |
| `budget_token` | string | Yes | Budget token (`bdgt_*`). |
| `period_cadence` | object | No | Updated interval cadence for budget periods. When set, starts_at is required (YYYY-MM-DD, or null to clear). interval_count and interval_unit may be omitted. Rejected for hierarchical Budgets. |
| `cost_report_token` | string | No | Cost Report token (`rprt_*`). Ignored for hierarchical Budgets. |
| `child_budget_tokens` | array | No | The updated tokens of child Budgets for a hierarchical Budget. |

### Update-budget-alert

**Slug:** `VANTAGE_MCP_UPDATE_BUDGET_ALERT`

Update an existing Budget Alert's monitored Budgets, percentage threshold, monthly time window, or recipients. Budget Alerts monitor Budget objects.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `threshold` | integer | No | Updated Budget percentage that triggers the alert; 100 means the Budget has been fully reached. |
| `user_tokens` | array | No | Updated users that receive the Budget Alert. |
| `budget_tokens` | array | No | Updated Budgets monitored by this Budget Alert. |
| `period_to_track` | string ("start_of_the_month" | "end_of_the_month") | No | Updated side of the month from which duration_in_days is measured. |
| `duration_in_days` | string | No | Updated number of days in the monthly time window; use an empty string for the full month. |
| `recipient_emails` | array | No | Updated email addresses that receive the Budget Alert. Each address must belong to an organization user or a verified domain. |
| `budget_alert_token` | string | Yes | Budget Alert token (`bdgt_alrt_*`). |
| `recipient_channels` | array | No | Updated connected Slack or Microsoft Teams channels that receive the Budget Alert. |

### Update-canvas

**Slug:** `VANTAGE_MCP_UPDATE_CANVAS`

Updates an existing Canvas. You can update the title, the prompt, or both. Updating the prompt triggers an asynchronous refresh to regenerate the canvas data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | The updated title of the Canvas. |
| `prompt` | string | No | The updated prompt used to generate the Canvas. |
| `canvas_token` | string | Yes | Canvas token (`cnvs_*`). |

### Update-cost-alert

**Slug:** `VANTAGE_MCP_UPDATE_COST_ALERT`

Updates an existing Cost Alert. Use to change the title, threshold, interval, monitored Cost Reports, or notification destinations.

Use list-cost-alerts or get-cost-alert to find the cost_alert_token. Do not use this for Report Notifications or recurring Cost Report delivery.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | Updated title for the Cost Alert. |
| `interval` | string ("day" | "week" | "month" | "quarter") | No | Updated evaluation interval for the Cost Alert. |
| `threshold` | number | No | Updated threshold amount that triggers the alert. |
| `unit_type` | string ("currency" | "percentage") | No | Updated unit type for the threshold. |
| `report_tokens` | array | No | Updated Cost Report tokens to monitor. |
| `slack_channels` | array | No | Updated Slack channels to notify when the alert triggers. |
| `teams_channels` | array | No | Updated Microsoft Teams channels to notify when the alert triggers. |
| `cost_alert_token` | string | Yes | Cost Alert token (`cstm_alrt_rl_*`). |
| `email_recipients` | array | No | Updated email addresses to notify when the alert triggers. |
| `minimum_threshold` | number | No | Updated minimum threshold amount. Only applicable for percentage unit_type. |

### Update-cost-report

**Slug:** `VANTAGE_MCP_UPDATE_COST_REPORT`

Updates an existing Cost Report. Use to change the title, VQL filter, groupings, date range, chart type, folder, report settings, or attached business metrics.

Do not use create-cost-report (creates a new report) or get-cost-report (reads without changing). Use list-cost-reports or get-cost-report to find the cost_report_token.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | Updated title for the Cost Report. |
| `filter` | string | No | Updated VQL filter. Use list-cost-providers and list-cost-services for valid names. |
| `date_bin` | string ("cumulative" | "day" | "week" | "month" | "quarter" | "hour") | No | Updated date bin for how costs are bucketed over time. |
| `end_date` | string | No | Updated end date. ISO 8601 formatted (YYYY-MM-DD). Required when start_date is set. Incompatible with date_interval. |
| `settings` | object | No | Updated report settings. |
| `groupings` | array | No | Updated grouping values. Valid groupings: account_id, billing_account_id, charge_type, cost_category, cost_subcategory, provider, region, resource_id, service, tagged, usage_unit, tag:<tag_value>. |
| `chart_type` | string ("area" | "line" | "bar" | "multi_bar" | "pie") | No | Updated chart type. |
| `start_date` | string | No | Updated start date. ISO 8601 formatted (YYYY-MM-DD). Incompatible with date_interval. |
| `folder_token` | string | No | Folder token (`fldr_*`). Determines the Workspace the report is assigned to. |
| `date_interval` | string ("this_month" | "last_7_days" | "last_30_days" | "last_month" | "last_3_months" | "last_6_months" | "custom" | "last_12_months" | "last_24_months" | "last_36_months" | "year_to_date" | "last_3_days" | "last_14_days" | "next_month" | "next_3_months" | "next_6_months" | "next_12_months") | No | Updated date interval. Incompatible with start_date and end_date. |
| `chart_settings` | object | No | Updated chart settings. |
| `default_forecast` | object | No | Updated default forecast selection for the Cost Report. |
| `cost_report_token` | string | Yes | Cost Report token (`rprt_*`). |
| `saved_filter_tokens` | array | No | Updated SavedFilter tokens to apply to the Cost Report. |
| `previous_period_end_date` | string | No | Updated previous period end date. ISO 8601 formatted (YYYY-MM-DD). Required when previous_period_start_date is set. |
| `previous_period_start_date` | string | No | Updated previous period start date. ISO 8601 formatted (YYYY-MM-DD). |
| `business_metric_tokens_with_metadata` | array | No | Updated BusinessMetric tokens and unit scale metadata. |

### Update-dashboard

**Slug:** `VANTAGE_MCP_UPDATE_DASHBOARD`

Updates an existing Dashboard. You can update the title, widgets, saved filters, and date range settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | The updated title of the dashboard. |
| `widgets` | array | No | The updated widgets for the dashboard. |
| `date_bin` | string ("cumulative" | "day" | "week" | "month") | No | Date binning for returned costs, allowed values: cumulative, day, week, month |
| `end_date` | string | No | The end date of the dashboard. ISO 8601 Formatted. Incompatible with 'date_interval' parameter, required with 'start_date'. |
| `start_date` | string | No | The start date of the dashboard. ISO 8601 Formatted. Incompatible with 'date_interval' parameter. |
| `date_interval` | string ("this_month" | "last_7_days" | "last_30_days" | "last_month" | "last_3_months" | "last_6_months" | "custom" | "last_12_months" | "last_24_months" | "last_36_months" | "year_to_date" | "last_3_days" | "last_14_days" | "next_month" | "next_3_months" | "next_6_months" | "next_12_months" | "") | No | The date interval of the dashboard. Incompatible with 'start_date' and 'end_date' parameters. Use an empty string to clear the date interval. |
| `dashboard_token` | string | Yes | Dashboard token (`dshbrd_*`). |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). Move the Dashboard to a different Workspace. |
| `saved_filter_tokens` | array | No | The updated tokens of the Saved Filters used in the Dashboard. |

### Update-financial-commitment-report

**Slug:** `VANTAGE_MCP_UPDATE_FINANCIAL_COMMITMENT_REPORT`

Updates an existing Financial Commitment Report. Use this to change the report title, VQL filter, date range, date bucket, on-demand costs scope, or grouping dimensions.

Date ranges can be set with either:
- date_interval, or
- start_date and end_date.

Unless date_interval is "custom", date_interval is incompatible with start_date and end_date.

VQL filters use financial commitment fields and should follow Vantage Query Language syntax. Additional VQL documentation is available at https://docs.vantage.sh/vql.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | Updated title for the Financial Commitment Report. |
| `filter` | string | No | Updated VQL filter to apply to the Financial Commitment Report. Additional documentation is available at https://docs.vantage.sh/vql. |
| `end_date` | string | No | Updated end date for the Financial Commitment Report. YYYY-MM-DD formatted. Incompatible with 'date_interval' unless date_interval is 'custom'. |
| `groupings` | array | No | Grouping dimensions for aggregating financial commitments on the report. Valid groupings: provider, service, resource_account_id, provider_account_id, commitment_type, commitment_id, cost_type, cost_category, cost_sub_category, instance_type, region, and tag:<tag_key>. |
| `start_date` | string | No | Updated start date for the Financial Commitment Report. YYYY-MM-DD formatted. Incompatible with 'date_interval' unless date_interval is 'custom'. |
| `date_bucket` | string ("hour" | "day" | "week" | "month" | "quarter") | No | Updated date bucket. |
| `date_interval` | string ("this_month" | "last_7_days" | "last_30_days" | "last_month" | "last_3_months" | "last_6_months" | "custom" | "last_12_months" | "last_24_months" | "last_36_months" | "year_to_date" | "last_3_days" | "last_14_days") | No | Updated date interval for the Financial Commitment Report. Unless 'custom' is used, this is incompatible with 'start_date' and 'end_date'. |
| `on_demand_costs_scope` | string ("discountable" | "all") | No | Updated on-demand costs scope. |
| `financial_commitment_report_token` | string | Yes | Financial Commitment Report token (`fncl_cmnt_rprt_*`). |

### Update-folder

**Slug:** `VANTAGE_MCP_UPDATE_FOLDER`

Updates a Folder's title, parent, or SavedFilter tokens. Folder type cannot be changed after creation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | Updated title for the Folder |
| `folder_token` | string | Yes | Folder token (`fldr_*`). |
| `parent_folder_token` | string | No | Folder token (`fldr_*`). Updated parent Folder for nesting. |
| `saved_filter_tokens` | array | No | Updated tokens of SavedFilters to apply to any Cost Report contained within the Folder |

### Update-network-flow-report

**Slug:** `VANTAGE_MCP_UPDATE_NETWORK_FLOW_REPORT`

Updates a saved Network Flow Report. Use list-network-flow-reports to discover tokens.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | Updated title for the Network Flow Report. |
| `filter` | string | No | VQL filter using the network_flow_logs namespace. |
| `end_date` | string | No | Custom range end date, YYYY-MM-DD. Requires date_interval=custom and start_date. |
| `groupings` | array | No | Dimensions used to group network traffic. |
| `start_date` | string | No | Custom range start date, YYYY-MM-DD. Requires date_interval=custom and end_date. |
| `flow_weight` | string ("costs" | "bytes") | No | Metric used to order aggregated network flow rows. |
| `date_interval` | string ("last_3_days" | "last_7_days" | "last_14_days" | "last_30_days" | "custom") | No | For a custom range, set to custom and provide start_date and end_date. |
| `flow_direction` | string ("all" | "ingress" | "egress") | No | Network traffic direction to include. |
| `network_flow_report_token` | string | Yes | Network Flow Report token (`ntflw_lg_rprt_*`). |

### Update-recommendation-view

**Slug:** `VANTAGE_MCP_UPDATE_RECOMMENDATION_VIEW`

Updates an existing Recommendation View. Use this to change the view title or the filters applied to saved recommendation views.

Filters can be scoped by provider, billing account, cloud account, region, tag key/value, and recommendation creation date range.

Dates must be YYYY-MM-DD formatted. Tag filters should use tag_key and tag_value together.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | Updated title for the Recommendation View. |
| `regions` | array | No | Updated region slug filters, such as us-east-1, eastus, or asia-east1. |
| `tag_key` | string | No | Updated tag key filter. Use with tag_value. |
| `end_date` | string | No | Updated end date for recommendation creation filtering. YYYY-MM-DD formatted. |
| `tag_value` | string | No | Updated tag value filter. Requires tag_key. |
| `start_date` | string | No | Updated start date for recommendation creation filtering. YYYY-MM-DD formatted. |
| `account_ids` | array | No | Updated cloud account identifier filters. |
| `provider_ids` | array | No | Updated provider filters, such as aws, gcp, azure, kubernetes, or datadog. |
| `billing_account_ids` | array | No | Updated billing account identifier filters. |
| `recommendation_view_token` | string | Yes | Recommendation View token (`rec_vw_*`). |

### Update-report-forecast

**Slug:** `VANTAGE_MCP_UPDATE_REPORT_FORECAST`

Update a scenario-model ReportForecast. Providing scenario_model_tokens replaces the assigned models.
Send business_metric_token as null to clear the BusinessMetric. Use set_as_default to make this the Cost Report default forecast.
Requires Scenario Models (Enterprise). A 403 means the account is not entitled or the caller cannot update the Cost Report.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | Updated title for the ReportForecast. |
| `set_as_default` | boolean | No | When true, sets this ReportForecast as the default forecast for its Cost Report. |
| `business_metric_token` | string | No |  |
| `report_forecast_token` | string | Yes | Report Forecast token (`rprt_frcst_*`). |
| `scenario_model_tokens` | array | No | ScenarioModel tokens to assign to the forecast. Use list-scenario-models to discover tokens. |

### Update-report-notification

**Slug:** `VANTAGE_MCP_UPDATE_REPORT_NOTIFICATION`

Updates an existing Report Notification in Vantage.

Use this tool to change a scheduled Cost Report notification's title, Cost Report, recipients, Slack or Microsoft Teams channels, delivery frequency, or tracked change type. Report Notifications deliver recurring Cost Report summaries on a daily, weekly, or monthly cadence.

Do not use this for Cost Alerts, budget alerts, threshold alerts, or spend-limit notifications. Cost Alerts manage spend thresholds; Report Notifications manage scheduled report delivery.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | Updated title for the report notification. |
| `change` | string ("percentage" | "dollars") | No | Updated type of change the report notification tracks. |
| `frequency` | string ("daily" | "weekly" | "monthly") | No | Updated frequency for the report notification. |
| `user_tokens` | array | No | Updated users that receive the notification. |
| `cost_report_token` | string | No | Cost Report token (`rprt_*`). |
| `recipient_channels` | array | No | Updated Slack or Microsoft Teams channels that receive the notification. |
| `report_notification_token` | string | Yes | Report Notification token (`rprt_ntfctn_*`). |

### Update-resource-report

**Slug:** `VANTAGE_MCP_UPDATE_RESOURCE_REPORT`

Updates an existing Resource Report. Use to change the title, VQL filter, table columns, or folder.

Do not use create-resource-report (creates a new report) or get-resource-report (reads without changing). Use list-resource-reports or get-resource-report to find the resource_report_token.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | Updated title for the Resource Report. |
| `filter` | string | No | Updated VQL filter using resources and tags namespaces (e.g. resources.provider = 'aws' AND resources.type = 'aws_instance'). |
| `columns` | array | No | Table columns in display order. Names must match list-resource-report-columns for the report's resource type.     Names that are not one of [provider, label, accruedCosts, resource, type, resource, account] must be formatted as lowercase strictly-alpha strings.     Remove 'metadata.*' prefixes. Only valid when filter targets a single resource type.     Important: Always use the column name format from this description when setting columns. Do NOT reuse column names from API responses, as the API may normalize names differently on output (e.g., accruedCosts on input becomes accrued_costs on output)      |
| `folder_token` | string | No | Folder token (`fldr_*`). Move the Resource Report into this Folder. |
| `resource_report_token` | string | Yes | Resource Report token (`prvdr_rsrc_rprt_*`). |

### Update-scenario-model

**Slug:** `VANTAGE_MCP_UPDATE_SCENARIO_MODEL`

Update an existing ScenarioModel. Providing periods replaces the full period set.
Use null for priority, provider, service, or period end_at to clear those values.
Requires Scenario Models (Enterprise). A 403 means the account is not entitled or the caller cannot update the model.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | Updated title for the ScenarioModel. |
| `periods` | array | No | Replaces all periods on the ScenarioModel when provided. |
| `service` | string | No | Optional service filter. Use list-cost-services to discover values. Requires workspace_token when set or cleared. Send null to clear. |
| `priority` | string | No | Priority used when applying scenario models. Send null to clear. |
| `provider` | string | No | Optional provider filter. Use list-cost-providers to discover values. Requires workspace_token when set or cleared. Send null to clear. |
| `workspace_token` | string | No | Workspace token (`wrkspc_*`). Required when provider or service is set or cleared. |
| `scenario_model_token` | string | Yes | Scenario Model token (`frcst_mdl_*`). |

### Update-team

**Slug:** `VANTAGE_MCP_UPDATE_TEAM`

Update a Team's name, description, Workspace and user associations, user role, or default Dashboard.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Updated Team name. |
| `role` | string ("owner" | "editor" | "viewer") | No | Role to assign to the provided users. The Vantage API defaults to editor. |
| `team_token` | string | Yes | Team token (`team_*`). |
| `description` | string | No | Updated Team description. |
| `user_emails` | array | No | Updated user email addresses associated with the Team. |
| `user_tokens` | array | No | Updated existing users associated with the Team. |
| `workspace_tokens` | array | No | Updated Workspaces associated with the Team. |
| `default_dashboard_token` | string | No | Updated default Dashboard. Send null to clear the default Dashboard. |

### Update-virtual-tag-config

**Slug:** `VANTAGE_MCP_UPDATE_VIRTUAL_TAG_CONFIG`

Updates an existing Virtual Tag's config-level settings or complete ordered mappings/values. Supplying values replaces the entire list in that order, and an empty array clears it; use the value-level tools to append, partially edit, or delete one mapping.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | No | New key for the Virtual Tag Config. |
| `values` | array | No | Complete ordered replacement list of values. Use get-virtual-tag-config first and include every value that should remain; an empty array clears all values. |
| `overridable` | boolean | No | Whether the config can override a matching provider-supplied tag. |
| `backfill_until` | string | No |  |
| `collapsed_tag_keys` | array | No | Complete replacement list of tag keys whose values should be collapsed. |
| `virtual_tag_config_token` | string | Yes | Virtual Tag Config token (`vtag_*`). |

### Update-virtual-tag-config-value

**Slug:** `VANTAGE_MCP_UPDATE_VIRTUAL_TAG_CONFIG_VALUE`

Partially edits one mapping/value in an existing Virtual Tag Config. Omitted fields remain unchanged, display_name set to null clears it, and this tool cannot reorder values.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Name for a simple Virtual Tag Config Value. |
| `filter` | string | No | VQL filter that determines which costs match this Virtual Tag Config Value. |
| `label_key` | string | No | Business Metric label key used by this value. |
| `cost_metric` | object | No | Cost metric used for dynamic allocation. |
| `date_ranges` | array | No | Date ranges that restrict when this value applies. |
| `percentages` | array | No | Fixed percentage allocations for matching costs. |
| `display_name` | string | No | Display name for a cost metric or percentage allocation value. Use null to clear it. |
| `label_values` | array | No | Business Metric label values. An empty array includes every value for the label key. |
| `label_transforms` | array | No | Transforms applied to Business Metric labels. |
| `business_metric_token` | string | No | Business Metric token (`bsnss_mtrc_*`). Associates this value with a Business Metric. |
| `virtual_tag_config_token` | string | Yes | Virtual Tag Config token (`vtag_*`). Parent Virtual Tag Config. |
| `virtual_tag_config_value_token` | string | Yes | Virtual Tag Config Value token (`vtag_val_*`). |

### Update-workspace

**Slug:** `VANTAGE_MCP_UPDATE_WORKSPACE`

Update an existing Workspace. You can update the name, currency conversion settings, currency code, and exchange rate date method.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | New name for the workspace |
| `currency` | string | No | Currency code for the workspace (e.g., "USD") |
| `workspace_token` | string | Yes | Workspace token (`wrkspc_*`). |
| `exchange_rate_date` | string ("daily_rate" | "end_of_billing_period_rate") | No | The date to use for currency conversion |
| `enable_currency_conversion` | boolean | No | Enable currency conversion for the workspace |
