> **Building with AI coding agents?** Install the authstack plugin with one command. This equips your agent with accurate Scalekit implementation patterns.
>
> **Recommended** (the `-y` flags skip prompts, so the command runs without an interactive terminal):
> ```bash
> npx -y @scalekit-inc/cli setup -y
> ```
>
> Global:
> ```bash
> npm install -g @scalekit-inc/cli
> scalekit setup -y
> ```
>
> Supports Claude Code, Cursor, GitHub Copilot, Codex + skills for other Agent Skills-compatible agents in `~/.agents/skills`.
> Skills: integrate-agentkit, implement-saaskit, add-mcp-oauth, implement-sso, implement-scim.
> [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Connect AI agents to the Vantage MCP server

The Vantage MCP connector routes your AI agent's tool calls to Vantage's own MCP server through Scalekit. Each user signs in to Vantage once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 153 tools.

**Authentication:** OAuth 2.1/DCR
**Categories:** Analytics, Accounting & Finance
**Tools:** 153: 79 read, 25 write, 49 destructive
**Users sign in with:** OAuth
**OAuth app:** Your own Vantage MCP server app
**Built by:** Vendor MCP
**Try it:** [Playground in the Scalekit dashboard](https://app.scalekit.com/ws/signup?sk_intent=playground&provider=VANTAGEMCP)

## Setup

1. ### Install the SDK

   **Node.js**

   ```bash
   npm install @scalekit-sdk/node dotenv
   ```

   **Python**

   ```bash
   pip install scalekit-sdk-python python-dotenv
   ```

2. ### Set your credentials

   Add your Scalekit credentials to your `.env` file. Find values in **[app.scalekit.com](https://app.scalekit.com)** > **Developers** > **API Credentials**.

   ```sh title=".env"
   SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
   SCALEKIT_CLIENT_ID=<your-client-id>
   SCALEKIT_CLIENT_SECRET=<your-client-secret>
   ```

3. ### Create the Vantage MCP connection

   In **AgentKit > Connections**, create a Vantage MCP connection and copy its redirect URI. The name you give it is the `connection_name` your code passes. See [Configure connections](/agentkit/connections/).

4. ### Register an OAuth app

   Vantage MCP server connections use your own OAuth app. Register one with Vantage MCP server and add the redirect URI you copied.

   Then enter the app's Client ID and Client Secret on the Vantage MCP connection.

5. ### Authorize a user and make your first call

   **Node.js** (`quickstart.mts`)

   ```typescript
   import { ScalekitClient } from '@scalekit-sdk/node'
   import 'dotenv/config'
   import { createInterface } from 'node:readline/promises'

   const scalekit = new ScalekitClient(
     process.env.SCALEKIT_ENVIRONMENT_URL,
     process.env.SCALEKIT_CLIENT_ID,
     process.env.SCALEKIT_CLIENT_SECRET,
   )
   const actions = scalekit.actions

   const connector = 'vantagemcp'
   const identifier = 'user_123'

   // Generate an authorization link for the user
   const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
   console.log('Authorize Vantage MCP:', link)
   const rl = createInterface({ input: process.stdin, output: process.stdout })
   await rl.question('Press Enter after authorizing...')
   rl.close()

   // Make your first call
   const result = await actions.executeTool({
     connector,
     identifier,
     toolName: 'vantagemcp_get_myself',
     toolInput: {},
   })
   console.log(result)
   ```

   ```bash
   npx tsx quickstart.mts
   ```

   **Python** (`quickstart.py`)

   ```python
   import os
   from scalekit import ScalekitClient
   from dotenv import load_dotenv
   load_dotenv()

   scalekit_client = ScalekitClient(
       env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),
       client_id=os.getenv("SCALEKIT_CLIENT_ID"),
       client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),
   )
   actions = scalekit_client.actions

   connection_name = "vantagemcp"
   identifier = "user_123"

   # Generate an authorization link for the user
   link_response = actions.get_authorization_link(
       connection_name=connection_name,
       identifier=identifier,
   )
   print("Authorize Vantage MCP:", link_response.link)
   input("Press Enter after authorizing...")

   # Make your first call
   result = actions.execute_tool(
       tool_input={},
       tool_name="vantagemcp_get_myself",
       connection_name=connection_name,
       identifier=identifier,
   )
   print(result)
   ```

   ```bash
   python quickstart.py
   ```

   Each user signs in once. See [Authorize a user](/agentkit/tools/authorize/) for the full flow and statuses.

## Tools

Pass the exact name to `execute_tool`, with an input like each tool's example. To ask for a tool that's missing, use the [request form](https://scalekitsupport.portal.usepylon.com/forms/request-a-connector-tool).

**Node.js**

```typescript
const result = await actions.executeTool({
  toolName: 'vantagemcp_get_anomaly',
  toolInput: {
    anomaly_alert_token: '<anomaly_alert_token>',
  },
  connector: 'vantagemcp',
  identifier: 'user_123',
})
```

**Python**

```python
result = actions.execute_tool(
    tool_name="vantagemcp_get_anomaly",
    tool_input={
        "anomaly_alert_token": "<anomaly_alert_token>",
    },
    connection_name="vantagemcp",
    identifier="user_123",
)
```

`result.data` is the app's response as JSON, and `result.execution_id` (`executionId` in Node.js) is the ID of the call.

### `vantagemcp_get_anomaly`

Get Anomaly · Read-only

Gets a specific anomaly alert by its token.

Read only: yes. Destructive: no.

Inputs:

- `anomaly_alert_token` (`string`, required): Anomaly Alert token (`anmly_alrt_*`).

Example input: `{"anomaly_alert_token":"<anomaly_alert_token>"}`

### `vantagemcp_get_billing_rule`

Get Billing Rule · Read-only

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

Read only: yes. Destructive: no.

Inputs:

- `billing_rule_token` (`string`, required): Billing Rule token (`bllng_rule_*`).

Example input: `{"billing_rule_token":"<billing_rule_token>"}`

### `vantagemcp_get_budget`

Get Budget · Read-only

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/

Read only: yes. Destructive: no.

Inputs:

- `budget_token` (`string`, required): Budget token (`bdgt_*`).
- `include_performance` (`boolean`, optional): If true, includes performance data showing actual spend vs. budget amounts by period.

Example input: `{"budget_token":"<budget_token>"}`

### `vantagemcp_get_budget_alert`

Get Budget Alert · Read-only

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

Read only: yes. Destructive: no.

Inputs:

- `budget_alert_token` (`string`, required): Budget Alert token (`bdgt_alrt_*`).

Example input: `{"budget_alert_token":"<budget_alert_token>"}`

### `vantagemcp_get_business_metric`

Get Business Metric · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `business_metric_token` (`string`, required): Business Metric token (`bsnss_mtrc_*`).

Example input: `{"business_metric_token":"<business_metric_token>"}`

### `vantagemcp_get_business_metric_forecasted_values`

Get Business Metric Forecasted Values · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `business_metric_token` (`string`, required): Business Metric token (`bsnss_mtrc_*`).
- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.
- `start_date` (`string`, optional): Query BusinessMetric values by the first date to filter from. Must be YYYY-MM-DD format.

Example input: `{"business_metric_token":"<business_metric_token>"}`

### `vantagemcp_get_business_metric_values`

Get Business Metric Values · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `business_metric_token` (`string`, required): Business Metric token (`bsnss_mtrc_*`).
- `date_bin` (`string`, optional): 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. One of: `raw`, `day`, `month`. Default: `month`.
- `label_values` (`array`, optional): 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.
- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.
- `start_date` (`string`, optional): Query BusinessMetric values by the first date to filter from. Must be YYYY-MM-DD format.

Example input: `{"business_metric_token":"<business_metric_token>"}`

### `vantagemcp_get_canvas`

Get Canvas · Read-only

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/

Read only: yes. Destructive: no.

Inputs:

- `canvas_token` (`string`, required): Canvas token (`cnvs_*`).

Example input: `{"canvas_token":"<canvas_token>"}`

### `vantagemcp_get_cost_alert`

Get Cost Alert · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `cost_alert_token` (`string`, required): Cost Alert token (`cstm_alrt_rl_*`).

Example input: `{"cost_alert_token":"<cost_alert_token>"}`

### `vantagemcp_get_cost_alert_event`

Get Cost Alert Event · Read-only

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

Read only: yes. Destructive: no.

Inputs:

- `cost_alert_token` (`string`, required): Cost Alert token (`cstm_alrt_rl_*`).
- `event_token` (`string`, required): Cost Alert Event token (`cstm_alrt_evnt_*`).

Example input: `{"cost_alert_token":"<cost_alert_token>","event_token":"<event_token>"}`

### `vantagemcp_get_cost_provider_accounts`

Get Cost Provider Accounts · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `workspace_token` (`string`, required): Workspace token (`wrkspc_*`).
- `account_id` (`string`, optional): Filter by a specific account ID.
- `account_name` (`string`, optional): Filter by account name (exact match).
- `provider` (`string`, optional): Provider to filter provider accounts to. Use list-cost-providers to discover connected providers. One of: `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`, `deepgram`, `crusoe`, `sentry_billing`, `ramp`, `dynatrace`.
- `q` (`string`, optional): Search Cost Provider Accounts by title.

Example input: `{"workspace_token":"<workspace_token>"}`

### `vantagemcp_get_cost_report`

Get Cost Report · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `cost_report_token` (`string`, required): Cost Report token (`rprt_*`).

Example input: `{"cost_report_token":"<cost_report_token>"}`

### `vantagemcp_get_cost_report_forecast`

Get Cost Report Forecast · Read-only

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/

Read only: yes. Destructive: no.

Inputs:

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

Example input: `{"cost_report_token":"<cost_report_token>"}`

### `vantagemcp_get_dashboard`

Get Dashboard · Read-only

Returns one Dashboard. Widget tokens in the response are used by get-dashboard-widget, update-dashboard-widget, and delete-dashboard-widget. Link to the dashboard with https://console.vantage.sh/go/<token>

Read only: yes. Destructive: no.

Inputs:

- `dashboard_token` (`string`, required): Dashboard token (`dshbrd_*`).

Example input: `{"dashboard_token":"<dashboard_token>"}`

### `vantagemcp_get_dashboard_notification`

Get Dashboard Notification · Read-only

Returns one Dashboard Notification. Tokens come from list-dashboard-notifications. Do not use this for Report Notifications, Cost Alerts, or Budget Alerts.

Read only: yes. Destructive: no.

Inputs:

- `dashboard_notification_token` (`string`, required): Dashboard Notification token (`rprtbl_ntfctn_*`).

Example input: `{"dashboard_notification_token":"<dashboard_notification_token>"}`

### `vantagemcp_get_dashboard_widget`

Get Dashboard Widget · Read-only

Returns one Dashboard Widget. Widget tokens come from get-dashboard.

Read only: yes. Destructive: no.

Inputs:

- `widget_token` (`string`, required): Dashboard Widget token (`dshbrd_wdgt_*`).

Example input: `{"widget_token":"<widget_token>"}`

### `vantagemcp_get_financial_commitment_report`

Get Financial Commitment Report · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `financial_commitment_report_token` (`string`, required): Financial Commitment Report token (`fncl_cmnt_rprt_*`).

Example input: `{"financial_commitment_report_token":"<financial_commitment_report_token>"}`

### `vantagemcp_get_folder`

Get Folder · Read-only

Gets a specific Folder by its token.

Read only: yes. Destructive: no.

Inputs:

- `folder_token` (`string`, required): Folder token (`fldr_*`).

Example input: `{"folder_token":"<folder_token>"}`

### `vantagemcp_get_kubernetes_efficiency_report`

Get Kubernetes Efficiency Report · Read-only

Gets a saved Kubernetes Efficiency Report by token.

Read only: yes. Destructive: no.

Inputs:

- `kubernetes_efficiency_report_token` (`string`, required): Kubernetes Efficiency Report token (`kbnts_eff_rprt_*`).

Example input: `{"kubernetes_efficiency_report_token":"<kubernetes_efficiency_report_token>"}`

### `vantagemcp_get_myself`

Get Current User · Read-only

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.

Read only: yes. Destructive: no.

Inputs: none.

Example input: `{}`

### `vantagemcp_get_network_flow_report`

Get Network Flow Report · Read-only

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

Read only: yes. Destructive: no.

Inputs:

- `network_flow_report_token` (`string`, required): Network Flow Report token (`ntflw_lg_rprt_*`).

Example input: `{"network_flow_report_token":"<network_flow_report_token>"}`

### `vantagemcp_get_provider_resource`

Get Provider Resource · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `resource_token` (`string`, required): The resource token (prvdr_rsrc_*) or UUID/ARN of the resource
- `include_cost` (`boolean`, optional): Include cost information broken down by category. Default: `false`.

Example input: `{"resource_token":"<resource_token>"}`

### `vantagemcp_get_recommendation_details`

Get Recommendation Details · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `recommendation_token` (`string`, required): Recommendation token (`rcmmndtn_*`).

Example input: `{"recommendation_token":"<recommendation_token>"}`

### `vantagemcp_get_recommendation_resource_details`

Get Recommendation Resource Details · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `recommendation_token` (`string`, required): Recommendation token (`rcmmndtn_*`).
- `resource_token` (`string`, required): Provider Resource token (`prvdr_rsrc_*`).

Example input: `{"recommendation_token":"<recommendation_token>","resource_token":"<resource_token>"}`

### `vantagemcp_get_recommendation_resources`

Get Recommendation Resources · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `recommendation_token` (`string`, required): Recommendation token (`rcmmndtn_*`).
- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.

Example input: `{"recommendation_token":"<recommendation_token>"}`

### `vantagemcp_get_recommendation_view`

Get Recommendation View · Read-only

Gets a specific recommendation view by its token.

Read only: yes. Destructive: no.

Inputs:

- `recommendation_view_token` (`string`, required): Recommendation View token (`rec_vw_*`).

Example input: `{"recommendation_view_token":"<recommendation_view_token>"}`

### `vantagemcp_get_report_forecast`

Get Report Forecast · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `report_forecast_token` (`string`, required): Report Forecast token (`rprt_frcst_*`).

Example input: `{"report_forecast_token":"<report_forecast_token>"}`

### `vantagemcp_get_report_notification`

Get Report Notification · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `report_notification_token` (`string`, required): Report Notification token (`rprt_ntfctn_*`).

Example input: `{"report_notification_token":"<report_notification_token>"}`

### `vantagemcp_get_resource_report`

Get Resource Report · Read-only

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>

Read only: yes. Destructive: no.

Inputs:

- `resource_report_token` (`string`, required): Resource Report token (`prvdr_rsrc_rprt_*`).

Example input: `{"resource_report_token":"<resource_report_token>"}`

### `vantagemcp_get_saved_filter`

Get Saved Filter · Read-only

Get a Saved Filter by token, including its VQL filter and associated Cost Report tokens.

Read only: yes. Destructive: no.

Inputs:

- `saved_filter_token` (`string`, required): Saved Filter token (`svd_fltr_*`).

Example input: `{"saved_filter_token":"<saved_filter_token>"}`

### `vantagemcp_get_scenario_model`

Get Scenario Model · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `scenario_model_token` (`string`, required): Scenario Model token (`frcst_mdl_*`).

Example input: `{"scenario_model_token":"<scenario_model_token>"}`

### `vantagemcp_get_team`

Get Team · Read-only

Gets a specific team with its token.

Read only: yes. Destructive: no.

Inputs:

- `token` (`string`, required): Team token (`team_*`).

Example input: `{"token":"<token>"}`

### `vantagemcp_get_team_members`

Get Team Members · Read-only

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

Read only: yes. Destructive: no.

Inputs:

- `team_token` (`string`, required): Team token (`team_*`).
- `page` (`integer`, optional): Page number, defaults to 1. Default: `1`.

Example input: `{"team_token":"<team_token>"}`

### `vantagemcp_get_teams`

Get Teams · Read-only

Return all Teams that the user has access to.

Read only: yes. Destructive: no.

Inputs:

- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.
- `q` (`string`, optional): Search Teams by name.
- `workspace_token` (`string`, optional): Workspace token (`wrkspc_*`). Only return Teams with access to this Workspace.

Example input: `{}`

### `vantagemcp_get_user`

Get User · Read-only

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

Read only: yes. Destructive: no.

Inputs:

- `user_token` (`string`, required): User token (`usr_*`).

Example input: `{"user_token":"<user_token>"}`

### `vantagemcp_get_users`

Get Users · Read-only

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

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

Read only: yes. Destructive: no.

Inputs:

- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.

Example input: `{}`

### `vantagemcp_get_virtual_tag_config`

Get Virtual Tag Config · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `virtual_tag_config_token` (`string`, required): Virtual Tag Config token (`vtag_*`).

Example input: `{"virtual_tag_config_token":"<virtual_tag_config_token>"}`

### `vantagemcp_get_virtual_tag_config_value`

Get Virtual Tag Config Value · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `virtual_tag_config_token` (`string`, required): Virtual Tag Config token (`vtag_*`). Parent Virtual Tag Config.
- `virtual_tag_config_value_token` (`string`, required): Virtual Tag Config Value token (`vtag_val_*`).

Example input: `{"virtual_tag_config_token":"<virtual_tag_config_token>","virtual_tag_config_value_token":"<virtual_tag_config_value_token>"}`

### `vantagemcp_get_workspace`

Get Workspace · Read-only

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

Read only: yes. Destructive: no.

Inputs:

- `workspace_token` (`string`, required): Workspace token (`wrkspc_*`).

Example input: `{"workspace_token":"<workspace_token>"}`

### `vantagemcp_list_annotations`

List Annotations · Read-only

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

Read only: yes. Destructive: no.

Inputs:

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

Example input: `{}`

### `vantagemcp_list_anomalies`

List Anomalies · Read-only

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/

Read only: yes. Destructive: no.

Inputs:

- `cost_category` (`string`, optional): Cost category to filter anomalies to
- `cost_report_token` (`string`, optional): Cost Report token (`rprt_*`). Filter anomalies to this Cost Report.
- `end_date` (`string`, optional): End date to filter anomalies to
- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.
- `provider` (`string`, optional): Provider to filter anomalies to
- `service` (`string`, optional): Service to filter anomalies to
- `start_date` (`string`, optional): Start date to filter anomalies to

Example input: `{}`

### `vantagemcp_list_audit_logs`

List Audit Logs · Read-only

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

Read only: yes. Destructive: no.

Inputs:

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

Example input: `{}`

### `vantagemcp_list_billing_rules`

List Billing Rules · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.

Example input: `{}`

### `vantagemcp_list_budget_alerts`

List Budget Alerts · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

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

Example input: `{}`

### `vantagemcp_list_budgets`

List Budgets · Read-only

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/

Read only: yes. Destructive: no.

Inputs:

- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.
- `q` (`string`, optional): Search Budgets by name.
- `workspace_token` (`string`, optional): Workspace token (`wrkspc_*`). Only return Budgets in this Workspace.

Example input: `{}`

### `vantagemcp_list_business_metric_labels`

List Business Metric Labels · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `business_metric_token` (`string`, required): Business Metric token (`bsnss_mtrc_*`).
- `page` (`integer`, optional): The page number to return, defaults to 1. Default: `1`.

Example input: `{"business_metric_token":"<business_metric_token>"}`

### `vantagemcp_list_business_metrics`

List Business Metrics · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.
- `q` (`string`, optional): Search Business Metrics by title.

Example input: `{}`

### `vantagemcp_list_canvases`

List Canvases · Read-only

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/

Read only: yes. Destructive: no.

Inputs:

- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.
- `q` (`string`, optional): Search Canvases by title.
- `workspace_token` (`string`, optional): Workspace token (`wrkspc_*`). Only return Canvases in this Workspace.

Example input: `{}`

### `vantagemcp_list_cost_alert_events`

List Cost Alert Events · Read-only

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

Read only: yes. Destructive: no.

Inputs:

- `cost_alert_token` (`string`, required): Cost Alert token (`cstm_alrt_rl_*`).
- `limit` (`number`, optional): The maximum number of returned Cost Alert events, defaults to 128. Default: `128`.
- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.
- `report_token` (`string`, optional): Cost Report token (`rprt_*`). Filter events to this Cost Report.

Example input: `{"cost_alert_token":"<cost_alert_token>"}`

### `vantagemcp_list_cost_alerts`

List Cost Alerts · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

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

Example input: `{}`

### `vantagemcp_list_cost_integrations`

List Cost Integrations · Read-only

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')

Read only: yes. Destructive: no.

Inputs:

- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.

Example input: `{}`

### `vantagemcp_list_cost_providers`

List Cost Providers · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `workspace_token` (`string`, required): Workspace token (`wrkspc_*`).

Example input: `{"workspace_token":"<workspace_token>"}`

### `vantagemcp_list_cost_reports`

List Cost Reports · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `folder_token` (`string`, optional): Folder token (`fldr_*`). Only return Cost Reports within this Folder.
- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.
- `q` (`string`, optional): Search Cost Reports by title.
- `workspace_token` (`string`, optional): Workspace token (`wrkspc_*`). Only return Cost Reports in this Workspace.

Example input: `{}`

### `vantagemcp_list_cost_services`

List Cost Services · Read-only

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 costs.service values from a broad query-costs probe instead.

Read only: yes. Destructive: no.

Inputs:

- `workspace_token` (`string`, required): Workspace token (`wrkspc_*`).

Example input: `{"workspace_token":"<workspace_token>"}`

### `vantagemcp_list_costs`

List Costs · Read-only

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/

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.

Read only: yes. Destructive: no.

Inputs:

- `cost_report_token` (`string`, required): Cost Report token (`rprt_*`).
- `date_bin` (`string`, optional): 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. One of: `day`, `week`, `month`.
- `end_date` (`string`, optional): End date to filter costs by, format=YYYY-MM-DD
- `groupings` (`array`, optional): 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, usage_unit, tag:<tag_value>. Let Groupings default unless explicitly asked for.
- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.
- `settings_aggregate_by` (`string`, optional): Results will aggregate by cost, usage, or count. If not provided, the report's setting is used. One of: `cost`, `usage`, `count`.
- `settings_amortize` (`boolean`, optional): Results will amortize. If not provided, the report's setting is used.
- `settings_include_credits` (`boolean`, optional): Results will include credits. If not provided, the report's setting is used.
- `settings_include_discounts` (`boolean`, optional): Results will include discounts. If not provided, the report's setting is used.
- `settings_include_refunds` (`boolean`, optional): Results will include refunds. If not provided, the report's setting is used.
- `settings_include_tax` (`boolean`, optional): Results will include tax. If not provided, the report's setting is used.
- `settings_show_previous_period` (`boolean`, optional): Results will show previous period cost, usage, or count comparison. If not provided, the report's setting is used.
- `settings_unallocated` (`boolean`, optional): Results will show unallocated costs. If not provided, the report's setting is used.
- `sort_column` (`string`, optional): Sort results by one of the fields in groupings. Valid groupings: account_id, billing_account_id, charge_type, cost_category, cost_subcategory, provider, region, resource_id, service, tagged, usage_unit, tag:<tag_value>. Defaults to sorting by date.
- `sort_direction` (`string`, optional): Grouping sort direction. Defaults to asc when sort_column is supplied; requires sort_column. One of: `asc`, `desc`.
- `start_date` (`string`, optional): Start date to filter costs by, format=YYYY-MM-DD

Example input: `{"cost_report_token":"<cost_report_token>"}`

### `vantagemcp_list_dashboard_notifications`

List Dashboard Notifications · Read-only

Lists scheduled Dashboard emails. Start at page 1. Do not use this for Report Notifications, Cost Alerts, or Budget Alerts.

Read only: yes. Destructive: no.

Inputs:

- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.
- `q` (`string`, optional): Match notification titles.

Example input: `{}`

### `vantagemcp_list_dashboards`

List Dashboards · Read-only

Lists Dashboards. Start at page 1. A dashboard token links to https://console.vantage.sh/go/<token>. For scheduled dashboard emails, use list-dashboard-notifications.

Read only: yes. Destructive: no.

Inputs:

- `folder_token` (`string`, optional): Folder token (`fldr_*`). Only return Dashboards directly in this Dashboard Folder, excluding subfolders. Use list-folders with type DashboardFolder to find folders. Unknown or inaccessible folders return an empty list. Omit to list all accessible Dashboards, including those at root.
- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.
- `q` (`string`, optional): Search Dashboards by title.
- `workspace_token` (`string`, optional): Workspace token (`wrkspc_*`). Only return Dashboards in this Workspace.

Example input: `{}`

### `vantagemcp_list_financial_commitment_reports`

List Financial Commitment Reports · Read-only

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

Read only: yes. Destructive: no.

Inputs:

- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.
- `q` (`string`, optional): Search Financial Commitment Reports by title.
- `workspace_token` (`string`, optional): Workspace token (`wrkspc_*`). Only return Financial Commitment Reports in this Workspace.

Example input: `{}`

### `vantagemcp_list_folders`

List Folders · Read-only

List Folders for Cost Reports, Dashboards, or Resource Reports. Folder tokens link to https://console.vantage.sh/go/<token>.

Read only: yes. Destructive: no.

Inputs:

- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.
- `q` (`string`, optional): Search Folders by title.
- `type` (`string`, optional): Folder type: CostFolder for Cost Reports (the API default when omitted), DashboardFolder for Dashboards, or ProviderResourceFolder for Resource Reports. One of: `CostFolder`, `DashboardFolder`, `ProviderResourceFolder`.
- `workspace_token` (`string`, optional): Workspace token (`wrkspc_*`). Only return Folders in this Workspace.

Example input: `{}`

### `vantagemcp_list_kubernetes_efficiency_reports`

List Kubernetes Efficiency Reports · Read-only

Lists saved Kubernetes Efficiency Reports.

Read only: yes. Destructive: no.

Inputs:

- `limit` (`integer`, optional): Number of reports per page. Default: `128`.
- `page` (`integer`, optional): Page number, defaults to 1. Default: `1`.
- `q` (`string`, optional): Search Kubernetes Efficiency Reports by title.
- `workspace_token` (`string`, optional): Workspace token (`wrkspc_*`). Only return Kubernetes Efficiency Reports in this Workspace.

Example input: `{}`

### `vantagemcp_list_network_flow_reports`

List Network Flow Reports · Read-only

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

Read only: yes. Destructive: no.

Inputs:

- `limit` (`integer`, optional): Number of reports per page. Default: `128`.
- `page` (`integer`, optional): Page number, defaults to 1. Default: `1`.
- `q` (`string`, optional): Search Network Flow Reports by title.
- `workspace_token` (`string`, optional): Workspace token (`wrkspc_*`). Only return Network Flow Reports in this Workspace.

Example input: `{}`

### `vantagemcp_list_provider_resources`

List Provider Resources · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

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

Example input: `{}`

### `vantagemcp_list_recommendation_views`

List Recommendation Views · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

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

Example input: `{}`

### `vantagemcp_list_recommendations`

List Recommendations · Read-only

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

Read only: yes. Destructive: no.

Inputs:

- `account_ids` (`array`, optional): Filter by cloud account identifiers (AWS account IDs, Azure subscription IDs, etc.). Cannot be used together with provider_account_id. Requires workspace_token.
- `billing_account_ids` (`array`, optional): Filter by billing account identifiers. Requires workspace_token.
- `end_date` (`string`, optional): Filter recommendations created on or before this date (YYYY-MM-DD). Must be provided together with start_date. Requires workspace_token.
- `filter` (`string`, optional): Filter recommendations by status: open (default), resolved, or dismissed. One of: `open`, `resolved`, `dismissed`.
- `min_savings` (`number`, optional): Filter to recommendations with monthly potential savings greater than or equal to this amount, in the workspace currency.
- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.
- `provider` (`string`, optional): Filter recommendations by cloud provider (aws, gcp, azure, kubernetes, datadog). Aliases like 'Amazon Web Services' and 'Google Cloud' are normalized. One of: `aws`, `gcp`, `azure`, `kubernetes`, `datadog`.
- `provider_account_id` (`string`, optional): Filter recommendations by provider account ID
- `provider_ids` (`array`, optional): 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.
- `regions` (`array`, optional): Filter by region slugs (e.g. us-east-1, eastus, asia-east1). Requires workspace_token.
- `start_date` (`string`, optional): Filter recommendations created on or after this date (YYYY-MM-DD). Must be provided together with end_date. Requires workspace_token.
- `tag_key` (`string`, optional): Filter by tag key. Must be provided together with tag_value. Requires workspace_token.
- `tag_value` (`string`, optional): Filter by tag value. Must be provided together with tag_key. Requires workspace_token.
- `type` (`string`, optional): 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.
- `workspace_token` (`string`, optional): Workspace token (`wrkspc_*`). Filter recommendations to this Workspace.

Example input: `{}`

### `vantagemcp_list_report_forecasts`

List Report Forecasts · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `cost_report_token` (`string`, required): Cost Report token (`rprt_*`).
- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.

Example input: `{"cost_report_token":"<cost_report_token>"}`

### `vantagemcp_list_report_notifications`

List Report Notifications · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.
- `q` (`string`, optional): Search Report Notifications by title.
- `workspace_token` (`string`, optional): Workspace token (`wrkspc_*`). Only return Report Notifications in this Workspace.

Example input: `{}`

### `vantagemcp_list_resource_report_columns`

List Resource Report Columns · Read-only

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

Read only: yes. Destructive: no.

Inputs:

- `resource_type` (`string`, required): The resource type to retrieve available columns for. This parameter must be a valid VQL resource type name.

Example input: `{"resource_type":"<resource_type>"}`

### `vantagemcp_list_resource_reports`

List Resource Reports · Read-only

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>

Read only: yes. Destructive: no.

Inputs:

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

Example input: `{}`

### `vantagemcp_list_saved_filters`

List Saved Filters · Read-only

List Saved Filters that can be applied to Cost Reports, optionally searching by title or Workspace.

Read only: yes. Destructive: no.

Inputs:

- `page` (`integer`, optional): Page number, defaults to 1. Default: `1`.
- `q` (`string`, optional): Search Saved Filters by title.
- `workspace_token` (`string`, optional): Workspace token (`wrkspc_*`). Only return Saved Filters in this Workspace.

Example input: `{}`

### `vantagemcp_list_scenario_models`

List Scenario Models · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.

Example input: `{}`

### `vantagemcp_list_tag_values`

List Tag Values · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

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

Example input: `{"key":"<key>"}`

### `vantagemcp_list_tags`

List Tags · Read-only

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`).

Read only: yes. Destructive: no.

Inputs:

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

Example input: `{}`

### `vantagemcp_list_unit_costs`

List Unit Costs · Read-only

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

Read only: yes. Destructive: no.

Inputs:

- `cost_report_token` (`string`, required): Cost Report token (`rprt_*`).
- `date_bin` (`string`, optional): 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. One of: `day`, `week`, `month`.
- `end_date` (`string`, optional): Last date to filter unit costs to, format=YYYY-MM-DD
- `order` (`string`, optional): Order of the returned costs, defaults to desc. One of: `asc`, `desc`. Default: `desc`.
- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.
- `start_date` (`string`, optional): First date to filter unit costs from, format=YYYY-MM-DD

Example input: `{"cost_report_token":"<cost_report_token>"}`

### `vantagemcp_list_virtual_tag_configs`

List Virtual Tag Configs · Read-only

Lists or searches the Virtual Tags (Virtual Tag Configs) the current API token can access. Use this to find config and value tokens by key or value name.
Each value is summarized to its token and name, without filters or allocations; call get-virtual-tag-config-value or get-virtual-tag-config for full details.
Results are paginated; start with page 1 and request the next page while pagination.hasNextPage is true.

Read only: yes. Destructive: no.

Inputs:

- `page` (`integer`, optional): The page number to return, defaults to 1. Default: `1`.
- `q` (`string`, optional): Search query that filters Virtual Tag Configs by key.

Example input: `{}`

### `vantagemcp_list_workspaces`

List Workspaces · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `limit` (`number`, optional): The number of results to return per page, defaults to 128. Default: `128`.
- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.
- `q` (`string`, optional): Search Workspaces by name.

Example input: `{}`

### `vantagemcp_query_costs`

Query Costs · Read-only

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 list-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'). Resolve aliases from service values returned by a broad query-costs probe — 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).

Read only: yes. Destructive: no.

Inputs:

- `filter` (`string`, required): A VQL query to run against your vantage account
- `workspace_token` (`string`, required): Workspace token (`wrkspc_*`).
- `date_bin` (`string`, optional): Date binning for returned costs. Defaults to day if omitted. Allowed values: day, week, month. One of: `day`, `week`, `month`.
- `end_date` (`string`, optional): End date to filter costs by, format=YYYY-MM-DD
- `groupings` (`array`, optional): 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, usage_unit, tag:<tag_value>. Include every grouping you need in one call rather than issuing separate calls per grouping.
- `page` (`number`, optional): The page number to return, defaults to 1. Default: `1`.
- `settings_aggregate_by` (`string`, optional): Results will aggregate by cost, usage, or count. If not provided, the workspace's default report setting is used. One of: `cost`, `usage`, `count`.
- `settings_amortize` (`boolean`, optional): Results will amortize. If not provided, the workspace's default report setting is used.
- `settings_include_credits` (`boolean`, optional): Results will include credits. If not provided, the workspace's default report setting is used.
- `settings_include_discounts` (`boolean`, optional): Results will include discounts. If not provided, the workspace's default report setting is used.
- `settings_include_refunds` (`boolean`, optional): Results will include refunds. If not provided, the workspace's default report setting is used.
- `settings_include_tax` (`boolean`, optional): Results will include tax. If not provided, the workspace's default report setting is used.
- `settings_show_previous_period` (`boolean`, optional): Results will show previous period cost, usage, or count comparison. If not provided, the workspace's default report setting is used.
- `settings_unallocated` (`boolean`, optional): Results will show unallocated costs. If not provided, the workspace's default report setting is used.
- `sort_column` (`string`, optional): Sort results by one of the fields in groupings. Valid groupings: account_id, billing_account_id, charge_type, cost_category, cost_subcategory, provider, region, resource_id, service, tagged, usage_unit, tag:<tag_value>. Defaults to sorting by date.
- `sort_direction` (`string`, optional): Grouping sort direction. Defaults to asc when sort_column is supplied; requires sort_column. One of: `asc`, `desc`.
- `start_date` (`string`, optional): Start date to filter costs by, format=YYYY-MM-DD

Example input: `{"filter":"<filter>","workspace_token":"<workspace_token>"}`

### `vantagemcp_query_financial_commitment_report_costs`

Query Financial Commitment Report Costs · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

- `financial_commitment_report_token` (`string`, required): Financial Commitment Report token (`fncl_cmnt_rprt_*`).
- `date_bin` (`string`, optional): Date binning for returned costs. If omitted, the report's configured date bucket is used. Hourly costs are limited to 14 days. One of: `hour`, `day`, `week`, `month`, `quarter`.
- `end_date` (`string`, optional): End date to filter costs by, format=YYYY-MM-DD
- `filter` (`string`, optional): VQL filter overriding the report's saved filter. Uses the financial_commitments namespace — see the VQL for Financial Commitment Reports resource.
- `groupings` (`array`, optional): Grouping dimensions for returned costs. Use tag:<tag_key> to group by tag. If omitted, the report's configured groupings are used.
- `on_demand_costs_scope` (`string`, optional): Scope for on-demand costs: discountable or all. If omitted, the report's configured scope is used. One of: `discountable`, `all`.
- `order` (`string`, optional): Order costs by date ascending or descending. One of: `asc`, `desc`.
- `page` (`integer`, optional): Page number, defaults to 1. Default: `1`.
- `start_date` (`string`, optional): Start date to filter costs by, format=YYYY-MM-DD

Example input: `{"financial_commitment_report_token":"<financial_commitment_report_token>"}`

### `vantagemcp_query_kubernetes_efficiency_report_costs`

Query Kubernetes Efficiency Report Costs · Read-only

Queries cost, idle cost, and cost-efficiency data for a Kubernetes Efficiency Report. Omit overrides to use the report's saved configuration.
The accrued_at field is the start date of each aggregation bucket, not necessarily a date within the requested range.
Weekly buckets follow calendar boundaries in the effective time zone, so querying September 1–7 can return bucket starts of August 31 and September 7.

Read only: yes. Destructive: no.

Inputs:

- `kubernetes_efficiency_report_token` (`string`, required): Kubernetes Efficiency Report token (`kbnts_eff_rprt_*`).
- `date_bin` (`string`, optional): Time bucket for this query only. Overrides the saved report's date_bucket without modifying the report. One of: `day`, `week`, `month`, `quarter`.
- `end_date` (`string`, optional): Optional end date override for this query, inclusive, YYYY-MM-DD.
- `filter` (`string`, optional): VQL filter using the `kubernetes.` VQL namespace, including fields such as `kubernetes.cluster_id`, `kubernetes.namespace`, and Kubernetes labels.
- `groupings` (`array`, optional): Kubernetes dimensions to group by. Use label:<label_name> to group by a Kubernetes label. Overrides the report's saved groupings.
- `limit` (`integer`, optional): Number of cost rows per page. Default: `128`.
- `order` (`string`, optional): Order cost rows by date ascending or descending. One of: `asc`, `desc`.
- `page` (`integer`, optional): Page number, defaults to 1. Default: `1`.
- `start_date` (`string`, optional): Optional start date override for this query, inclusive, YYYY-MM-DD.

Example input: `{"kubernetes_efficiency_report_token":"<kubernetes_efficiency_report_token>"}`

### `vantagemcp_query_network_flow_logs`

Query Network Flow Logs · Read-only

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.

Read only: yes. Destructive: no.

Inputs:

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

Example input: `{}`

### `vantagemcp_add_team_member`

Add Team Member · Write

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

Read only: no. Destructive: no.

Inputs:

- `team_token` (`string`, required): Team token (`team_*`).
- `user_email` (`string`, required): Email address of the user to add to the Team.
- `role` (`string`, optional): Team role, defaults to editor. One of: `owner`, `editor`, `viewer`, `integration_owner`. Default: `editor`.

Example input: `{"team_token":"<team_token>","user_email":"<user_email>"}`

### `vantagemcp_create_annotation`

Create Annotation · Write

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.

Read only: no. Destructive: no.

Inputs:

- `date` (`string`, required): Date of the Annotation in ISO 8601 format (YYYY-MM-DD).
- `message` (`string`, required): Message to display for the Annotation.
- `report_tokens` (`array`, required): Cost Reports to annotate.
- `title` (`string`, optional): Annotation title. Generated automatically when omitted.

Example input: `{"date":"<date>","message":"<message>","report_tokens":[]}`

### `vantagemcp_create_billing_rule`

Create Billing Rule · Write

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.

Read only: no. Destructive: no.

Inputs:

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

Example input: `{"title":"<title>","type":"exclusion"}`

### `vantagemcp_create_budget`

Create Budget · Write

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.

Read only: no. Destructive: no.

Inputs:

- `name` (`string`, required): The name of the Budget.
- `child_budget_tokens` (`array`, optional): The tokens of any child Budgets when creating a hierarchical Budget.
- `cost_report_token` (`string`, optional): Cost Report token (`rprt_*`). Ignored for hierarchical Budgets.
- `period_cadence` (`object`, optional): 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.
- `periods` (`array`, optional): The periods for the Budget. The start_at and end_at must be iso8601 formatted e.g. YYYY-MM-DD. Ignored for hierarchical Budgets.
- `type` (`string`, optional): The type of Budget. Use cost for spend-based Budgets or usage for usage-based Budgets. One of: `cost`, `usage`.
- `unit` (`string`, optional): The usage unit for usage Budgets. Only valid when type is usage.
- `workspace_token` (`string`, optional): Workspace token (`wrkspc_*`). Workspace to add the Budget to.

Example input: `{"name":"<name>"}`

### `vantagemcp_create_budget_alert`

Create Budget Alert · Write

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

Read only: no. Destructive: no.

Inputs:

- `budget_tokens` (`array`, required): Budgets monitored by this Budget Alert.
- `duration_in_days` (`string`, required): 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.
- `threshold` (`integer`, required): Budget percentage that triggers the alert; 100 means costs have reached 100% of the Budget.
- `period_to_track` (`string`, optional): Side of the month from which duration_in_days is measured; defaults to start_of_the_month. One of: `start_of_the_month`, `end_of_the_month`.
- `recipient_channels` (`array`, optional): Connected Slack or Microsoft Teams channels that receive the Budget Alert.
- `recipient_emails` (`array`, optional): Email addresses that receive the Budget Alert. Each address must belong to an organization user or a verified domain.
- `user_tokens` (`array`, optional): Users that receive the Budget Alert.

Example input: `{"budget_tokens":[],"duration_in_days":"<duration_in_days>","threshold":1}`

### `vantagemcp_create_canvas`

Create Canvas · Write

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.

Read only: no. Destructive: no.

Inputs:

- `prompt` (`string`, required): The prompt used to generate the Canvas.
- `title` (`string`, required): The title of the Canvas.
- `workspace_token` (`string`, optional): Workspace token (`wrkspc_*`). Required if the API token is associated with multiple Workspaces.

Example input: `{"prompt":"<prompt>","title":"<title>"}`

### `vantagemcp_create_cost_alert`

Create Cost Alert · Write

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.

Read only: no. Destructive: no.

Inputs:

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

Example input: `{"interval":"day","report_tokens":[],"threshold":1,"title":"<title>","unit_type":"currency","workspace_token":"<workspace_token>"}`

### `vantagemcp_create_cost_report`

Create Cost Report · Write

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.

Read only: no. Destructive: no.

Inputs:

- `title` (`string`, required): Title for the new Cost Report
- `business_metric_tokens_with_metadata` (`array`, optional): The tokens for any BusinessMetrics to attach to the CostReport, and the unit scale.
- `chart_settings` (`object`, optional): Report chart settings.
- `chart_type` (`string`, optional): The chart type to use in the CostReport. Defaults to 'line' if not provided. One of: `area`, `line`, `bar`, `multi_bar`, `pie`.
- `date_bin` (`string`, optional): The date bin of the CostReport. Defaults to 'cumulative' if not provided. One of: `cumulative`, `day`, `week`, `month`, `quarter`, `hour`.
- `date_interval` (`string`, optional): 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. One of: `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`.
- `end_date` (`string`, optional): The end date of the CostReport. ISO 8601 Formatted. Incompatible with 'date_interval' parameter, required with 'start_date'.
- `filter` (`string`, optional): VQL filter to apply to the Cost Report
- `folder_token` (`string`, optional): Folder token (`fldr_*`). Determines the Workspace the report is assigned to.
- `groupings` (`array`, optional): 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>.
- `previous_period_end_date` (`string`, optional): The previous period end date of the CostReport. ISO 8601 Formatted.
- `previous_period_start_date` (`string`, optional): The previous period start date of the CostReport. ISO 8601 Formatted.
- `saved_filter_tokens` (`array`, optional): The tokens of the SavedFilters to apply to the CostReport.
- `settings` (`object`, optional): Report settings.
- `start_date` (`string`, optional): The start date of the CostReport. ISO 8601 Formatted. Incompatible with 'date_interval' parameter.
- `workspace_token` (`string`, optional): Workspace token (`wrkspc_*`). Ignored if folder_token is set. Required if the API token is associated with multiple Workspaces.

Example input: `{"title":"<title>"}`

### `vantagemcp_create_dashboard`

Create Dashboard · Write

Creates a Dashboard. Each widget shows a report, a saved view, or free text. The returned token links to the dashboard: https://console.vantage.sh/go/<token>

Read only: no. Destructive: no.

Inputs:

- `title` (`string`, required): The title of the dashboard
- `date_bin` (`string`, optional): Date binning for returned costs, allowed values: day, week, month. One of: `day`, `week`, `month`.
- `date_interval` (`string`, optional): The date interval of the dashboard. Incompatible with 'start_date' and 'end_date' parameters. One of: `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`.
- `end_date` (`string`, optional): The end date of the dashboard. ISO 8601 Formatted. Incompatible with 'date_interval' parameter, required with 'start_date'.
- `folder_token` (`string`, optional): Dashboard Folder token (fldr_*). Use list-folders with type DashboardFolder to discover folders. Send null, an empty string, or omit to create at root.
- `saved_filter_tokens` (`array`, optional): The tokens of the Saved Filters used in the Dashboard
- `start_date` (`string`, optional): The start date of the dashboard. ISO 8601 Formatted. Incompatible with 'date_interval' parameter.
- `widgets` (`array`, optional): Widgets to add. Omit for an empty Dashboard.
- `workspace_token` (`string`, optional): Workspace token (`wrkspc_*`). Workspace for the Dashboard. Inherited from folder_token when omitted; if provided with a folder, must match its Workspace. Required without a folder if the API token is associated with multiple Workspaces.

Example input: `{"title":"<title>"}`

### `vantagemcp_create_dashboard_notification`

Create Dashboard Notification · Write

Creates a scheduled email of a Dashboard. Recipients are Vantage users or email addresses, not chat channels. Do not use this for Report Notifications, Cost Alerts, or Budget Alerts.

Read only: no. Destructive: no.

Inputs:

- `dashboard_token` (`string`, required): Dashboard token (`dshbrd_*`).
- `frequency` (`string`, required): How often the email is sent. One of: `daily`, `weekly`, `monthly`.
- `title` (`string`, required): Name of this notification.
- `recipient_emails` (`array`, optional): Email addresses that receive the Dashboard. Each address must be an organization user, on the account SSO domain, or an approved external address.
- `user_tokens` (`array`, optional): Vantage users who receive the email. Use get-users to find tokens.
- `workspace_token` (`string`, optional): Workspace token (`wrkspc_*`). Required if the API token is associated with multiple Workspaces.

Example input: `{"dashboard_token":"<dashboard_token>","frequency":"daily","title":"<title>"}`

### `vantagemcp_create_financial_commitment_report`

Create Financial Commitment Report · Write

Creates a saved Financial Commitment Report for analyzing committed spend and on-demand costs.

Read only: no. Destructive: no.

Inputs:

- `title` (`string`, required): Title for the new Financial Commitment Report
- `workspace_token` (`string`, required): Workspace token (`wrkspc_*`).
- `date_bucket` (`string`, optional): Date aggregation bucket. One of: `hour`, `day`, `week`, `month`, `quarter`.
- `date_interval` (`string`, optional): The date interval of the Financial Commitment Report. Incompatible with 'start_date' and 'end_date' parameters. One of: `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`.
- `end_date` (`string`, optional): The end date of the Financial Commitment Report. ISO 8601 Formatted. Incompatible with 'date_interval' parameter, required with 'start_date'.
- `filter` (`string`, optional): VQL filter to apply to the Financial Commitment Report
- `groupings` (`array`, optional): Grouping dimensions for the report. Use tag:<tag_key> to group by tag.
- `on_demand_costs_scope` (`string`, optional): Scope for on-demand costs. One of: `discountable`, `all`.
- `start_date` (`string`, optional): The start date of the Financial Commitment Report. ISO 8601 Formatted. Incompatible with 'date_interval' parameter.

Example input: `{"title":"<title>","workspace_token":"<workspace_token>"}`

### `vantagemcp_create_folder`

Create Folder · Write

Create a Folder for organizing Cost Reports, Dashboards, or Resource Reports.

Read only: no. Destructive: no.

Inputs:

- `title` (`string`, required): The title of the Folder.
- `type` (`string`, required): Folder type: CostFolder for Cost Reports, DashboardFolder for Dashboards, or ProviderResourceFolder for Resource Reports. One of: `CostFolder`, `DashboardFolder`, `ProviderResourceFolder`.
- `parent_folder_token` (`string`, optional): Folder token (`fldr_*`). Parent Folder to nest this Folder under. Must have the same type as this Folder.
- `saved_filter_tokens` (`array`, optional): Saved Filter tokens to apply to contained Cost Reports. Only applies to CostFolder.
- `workspace_token` (`string`, optional): Workspace token (`wrkspc_*`). Ignored if parent_folder_token is set. Required if the API token is associated with multiple Workspaces.

Example input: `{"title":"<title>","type":"CostFolder"}`

### `vantagemcp_create_kubernetes_efficiency_report`

Create Kubernetes Efficiency Report · Write

Creates a saved Kubernetes Efficiency Report for analyzing workload cost, idle cost, and cost efficiency.

Read only: no. Destructive: no.

Inputs:

- `title` (`string`, required): Title for the Kubernetes Efficiency Report.
- `workspace_token` (`string`, required): Workspace token (`wrkspc_*`).
- `aggregated_by` (`string`, optional): Metric used to aggregate and order Kubernetes efficiency costs. One of: `idle_cost`, `amount`, `cost_efficiency`.
- `date_bucket` (`string`, optional): Time bucket for Kubernetes efficiency costs. One of: `day`, `week`, `month`, `quarter`.
- `date_interval` (`string`, optional): Report date interval. For a custom range, set to custom and provide start_date and end_date. Defaults to this_month when omitted. One of: `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`.
- `end_date` (`string`, optional): Custom range end date, YYYY-MM-DD. Requires date_interval=custom and start_date.
- `filter` (`string`, optional): VQL filter using the `kubernetes.` VQL namespace, including fields such as `kubernetes.cluster_id`, `kubernetes.namespace`, and Kubernetes labels.
- `groupings` (`array`, optional): Kubernetes dimensions to group by. Use label:<label_name> to group by a Kubernetes label.
- `start_date` (`string`, optional): Custom range start date, YYYY-MM-DD. Requires date_interval=custom and end_date.

Example input: `{"title":"<title>","workspace_token":"<workspace_token>"}`

### `vantagemcp_create_network_flow_report`

Create Network Flow Report · Write

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

Read only: no. Destructive: no.

Inputs:

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

Example input: `{"title":"<title>","workspace_token":"<workspace_token>"}`

### `vantagemcp_create_recommendation_view`

Create Recommendation View · Write

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"

Read only: no. Destructive: no.

Inputs:

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

Example input: `{"title":"<title>","workspace_token":"<workspace_token>"}`

### `vantagemcp_create_report_forecast`

Create Report Forecast · Write

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.

Read only: no. Destructive: no.

Inputs:

- `cost_report_token` (`string`, required): Cost Report token (`rprt_*`).
- `title` (`string`, required): Title for the new ReportForecast.
- `business_metric_token` (`string`, optional): Business Metric token (`bsnss_mtrc_*`) to associate with the forecast. Send null to clear.
- `scenario_model_tokens` (`array`, optional): ScenarioModel tokens to assign to the forecast. Use list-scenario-models to discover tokens.
- `set_as_default` (`boolean`, optional): When true, sets this ReportForecast as the default forecast for its Cost Report.

Example input: `{"cost_report_token":"<cost_report_token>","title":"<title>"}`

### `vantagemcp_create_report_notification`

Create Report Notification · Write

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.

Read only: no. Destructive: no.

Inputs:

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

Example input: `{"change":"percentage","cost_report_token":"<cost_report_token>","frequency":"daily","title":"<title>"}`

### `vantagemcp_create_resource_report`

Create Resource Report · Write

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.

Read only: no. Destructive: no.

Inputs:

- `workspace_token` (`string`, required): Workspace token (`wrkspc_*`). Required when the API token spans multiple Workspaces.
- `columns` (`array`, optional): 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)
- `filter` (`string`, optional): VQL filter using resources and tags namespaces (e.g. resources.provider = 'aws' AND resources.type = 'aws_instance').
- `folder_token` (`string`, optional): Folder token (`fldr_*`). When set, determines the Workspace and workspace_token is ignored.
- `title` (`string`, optional): Title for the new Resource Report.

Example input: `{"workspace_token":"<workspace_token>"}`

### `vantagemcp_create_saved_filter`

Create Saved Filter · Write

Create a Saved Filter for reuse across Cost Reports. The filter uses VQL syntax.

Read only: no. Destructive: no.

Inputs:

- `title` (`string`, required): Saved Filter title.
- `filter` (`string`, optional): VQL filter applied to Cost Reports; see the VQL resource for syntax.
- `workspace_token` (`string`, optional): Workspace token (`wrkspc_*`). Workspace for the Saved Filter; required for API tokens with multiple Workspaces.

Example input: `{"title":"<title>"}`

### `vantagemcp_create_scenario_model`

Create Scenario Model · Write

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.

Read only: no. Destructive: no.

Inputs:

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

Example input: `{"title":"<title>"}`

### `vantagemcp_create_team`

Create Team · Write

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

Read only: no. Destructive: no.

Inputs:

- `name` (`string`, required): Team name.
- `default_dashboard_token` (`string`, optional): Dashboard to set as the Team default. Send null for no default Dashboard.
- `description` (`string`, optional): Team description.
- `role` (`string`, optional): Role to assign to the provided users. The Vantage API defaults to editor. One of: `owner`, `editor`, `viewer`.
- `user_emails` (`array`, optional): User email addresses to associate with the Team.
- `user_tokens` (`array`, optional): Existing users to associate with the Team.
- `workspace_tokens` (`array`, optional): Workspaces to associate with the Team.

Example input: `{"name":"<name>"}`

### `vantagemcp_create_virtual_tag_config`

Create Virtual Tag Config · Write

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

Read only: no. Destructive: no.

Inputs:

- `key` (`string`, required): The key of the VirtualTagConfig
- `overridable` (`boolean`, required): Whether the VirtualTagConfig can override a provider-supplied tag on a matching Cost.
- `backfill_until` (`string`, optional): The earliest month the VirtualTagConfig should be backfilled to. ISO 8601 Formatted.
- `collapsed_tag_keys` (`array`, optional): Tag keys whose values should be collapsed.
- `values` (`array`, optional): Ordered values to create for the Virtual Tag Config.

Example input: `{"key":"<key>","overridable":true}`

### `vantagemcp_create_virtual_tag_config_value`

Create Virtual Tag Config Value · Write

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.

Read only: no. Destructive: no.

Inputs:

- `filter` (`string`, required): VQL filter that determines which costs match this Virtual Tag Config Value.
- `virtual_tag_config_token` (`string`, required): Virtual Tag Config token (`vtag_*`). Parent Virtual Tag Config.
- `business_metric_token` (`string`, optional): Business Metric token (`bsnss_mtrc_*`). Associates this value with a Business Metric.
- `cost_metric` (`object`, optional): Cost metric used for dynamic allocation.
- `date_ranges` (`array`, optional): Date ranges that restrict when this value applies.
- `display_name` (`string`, optional): Display name for a cost metric or percentage allocation value.
- `label_filters` (`string`, optional): Other Business Metric labels that limit which rows are included. Every key must match, and the values under one key are alternatives. Do not include label_key here; use label_values for that label. Null or {} leaves saved filters unchanged.
- `label_key` (`string`, optional): Business Metric label this value is built from. Each value of this label becomes its own virtual tag value, unless label_values limits them.
- `label_transforms` (`array`, optional): Transforms applied to Business Metric labels.
- `label_values` (`array`, optional): Which values of label_key to include. An empty array includes every value of that label.
- `name` (`string`, optional): Name for a simple Virtual Tag Config Value.
- `percentages` (`array`, optional): Fixed percentage allocations for matching costs.

Example input: `{"filter":"<filter>","virtual_tag_config_token":"<virtual_tag_config_token>"}`

### `vantagemcp_create_workspace`

Create Workspace · Write

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

Read only: no. Destructive: no.

Inputs:

- `name` (`string`, required): Name of the workspace
- `currency` (`string`, optional): Currency code for the workspace (e.g., "USD")
- `enable_currency_conversion` (`boolean`, optional): Enable currency conversion for the workspace
- `exchange_rate_date` (`string`, optional): The date to use for currency conversion. One of: `daily_rate`, `end_of_billing_period_rate`.

Example input: `{"name":"<name>"}`

### `vantagemcp_submit_user_feedback`

Submit User Feedback · Write

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.

Read only: no. Destructive: no.

Inputs:

- `message` (`string`, required): Feedback message regarding using the Vantage MCP Server

Example input: `{"message":"<message>"}`

### `vantagemcp_delete_annotation`

Delete Annotation · Destructive

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

Read only: no. Destructive: yes.

Inputs:

- `annotation_token` (`string`, required): Annotation token (`issue_*`).

Example input: `{"annotation_token":"<annotation_token>"}`

### `vantagemcp_delete_billing_rule`

Delete Billing Rule · Destructive

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

Read only: no. Destructive: yes.

Inputs:

- `billing_rule_token` (`string`, required): Billing Rule token (`bllng_rule_*`).

Example input: `{"billing_rule_token":"<billing_rule_token>"}`

### `vantagemcp_delete_budget`

Delete Budget · Destructive

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

Read only: no. Destructive: yes.

Inputs:

- `budget_token` (`string`, required): Budget token (`bdgt_*`).

Example input: `{"budget_token":"<budget_token>"}`

### `vantagemcp_delete_budget_alert`

Delete Budget Alert · Destructive

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

Read only: no. Destructive: yes.

Inputs:

- `budget_alert_token` (`string`, required): Budget Alert token (`bdgt_alrt_*`).

Example input: `{"budget_alert_token":"<budget_alert_token>"}`

### `vantagemcp_delete_canvas`

Delete Canvas · Destructive

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

Read only: no. Destructive: yes.

Inputs:

- `canvas_token` (`string`, required): Canvas token (`cnvs_*`).

Example input: `{"canvas_token":"<canvas_token>"}`

### `vantagemcp_delete_cost_alert`

Delete Cost Alert · Destructive

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

Read only: no. Destructive: yes.

Inputs:

- `cost_alert_token` (`string`, required): Cost Alert token (`cstm_alrt_rl_*`).

Example input: `{"cost_alert_token":"<cost_alert_token>"}`

### `vantagemcp_delete_cost_report`

Delete Cost Report · Destructive

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

Read only: no. Destructive: yes.

Inputs:

- `cost_report_token` (`string`, required): Cost Report token (`rprt_*`).

Example input: `{"cost_report_token":"<cost_report_token>"}`

### `vantagemcp_delete_dashboard`

Delete Dashboard · Destructive

Deletes a Dashboard and its widgets. This cannot be undone. To remove one widget and keep the Dashboard, use delete-dashboard-widget.

Read only: no. Destructive: yes.

Inputs:

- `dashboard_token` (`string`, required): Dashboard token (`dshbrd_*`).

Example input: `{"dashboard_token":"<dashboard_token>"}`

### `vantagemcp_delete_dashboard_notification`

Delete Dashboard Notification · Destructive

Deletes a Dashboard Notification and stops its scheduled email. This cannot be undone. Do not use this for Report Notifications, Cost Alerts, or Budget Alerts.

Read only: no. Destructive: yes.

Inputs:

- `dashboard_notification_token` (`string`, required): Dashboard Notification token (`rprtbl_ntfctn_*`).

Example input: `{"dashboard_notification_token":"<dashboard_notification_token>"}`

### `vantagemcp_delete_dashboard_widget`

Delete Dashboard Widget · Destructive

Deletes one Dashboard Widget. The Dashboard remains. This cannot be undone. To delete the whole Dashboard, use delete-dashboard.

Read only: no. Destructive: yes.

Inputs:

- `widget_token` (`string`, required): Dashboard Widget token (`dshbrd_wdgt_*`).

Example input: `{"widget_token":"<widget_token>"}`

### `vantagemcp_delete_financial_commitment_report`

Delete Financial Commitment Report · Destructive

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

Read only: no. Destructive: yes.

Inputs:

- `financial_commitment_report_token` (`string`, required): Financial Commitment Report token (`fncl_cmnt_rprt_*`).

Example input: `{"financial_commitment_report_token":"<financial_commitment_report_token>"}`

### `vantagemcp_delete_folder`

Delete Folder · Destructive

Deletes a Folder and its contents, including nested Folders and Dashboards. This cannot be undone.

Read only: no. Destructive: yes.

Inputs:

- `folder_token` (`string`, required): Folder token (`fldr_*`).

Example input: `{"folder_token":"<folder_token>"}`

### `vantagemcp_delete_kubernetes_efficiency_report`

Delete Kubernetes Efficiency Report · Destructive

Deletes a Kubernetes Efficiency Report by token.

Read only: no. Destructive: yes.

Inputs:

- `kubernetes_efficiency_report_token` (`string`, required): Kubernetes Efficiency Report token (`kbnts_eff_rprt_*`).

Example input: `{"kubernetes_efficiency_report_token":"<kubernetes_efficiency_report_token>"}`

### `vantagemcp_delete_network_flow_report`

Delete Network Flow Report · Destructive

Deletes a Network Flow Report by token.

Read only: no. Destructive: yes.

Inputs:

- `network_flow_report_token` (`string`, required): Network Flow Report token (`ntflw_lg_rprt_*`).

Example input: `{"network_flow_report_token":"<network_flow_report_token>"}`

### `vantagemcp_delete_recommendation_view`

Delete Recommendation View · Destructive

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

Read only: no. Destructive: yes.

Inputs:

- `recommendation_view_token` (`string`, required): Recommendation View token (`rec_vw_*`).

Example input: `{"recommendation_view_token":"<recommendation_view_token>"}`

### `vantagemcp_delete_report_forecast`

Delete Report Forecast · Destructive

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.

Read only: no. Destructive: yes.

Inputs:

- `report_forecast_token` (`string`, required): Report Forecast token (`rprt_frcst_*`).

Example input: `{"report_forecast_token":"<report_forecast_token>"}`

### `vantagemcp_delete_report_notification`

Delete Report Notification · Destructive

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.

Read only: no. Destructive: yes.

Inputs:

- `report_notification_token` (`string`, required): Report Notification token (`rprt_ntfctn_*`).

Example input: `{"report_notification_token":"<report_notification_token>"}`

### `vantagemcp_delete_resource_report`

Delete Resource Report · Destructive

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

Read only: no. Destructive: yes.

Inputs:

- `resource_report_token` (`string`, required): Resource Report token (`prvdr_rsrc_rprt_*`).

Example input: `{"resource_report_token":"<resource_report_token>"}`

### `vantagemcp_delete_saved_filter`

Delete Saved Filter · Destructive

Delete a Saved Filter by token.

Read only: no. Destructive: yes.

Inputs:

- `saved_filter_token` (`string`, required): Saved Filter token (`svd_fltr_*`).

Example input: `{"saved_filter_token":"<saved_filter_token>"}`

### `vantagemcp_delete_scenario_model`

Delete Scenario Model · Destructive

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.

Read only: no. Destructive: yes.

Inputs:

- `scenario_model_token` (`string`, required): Scenario Model token (`frcst_mdl_*`).

Example input: `{"scenario_model_token":"<scenario_model_token>"}`

### `vantagemcp_delete_team`

Delete Team · Destructive

Delete a Team.

Read only: no. Destructive: yes.

Inputs:

- `team_token` (`string`, required): Team token (`team_*`).

Example input: `{"team_token":"<team_token>"}`

### `vantagemcp_delete_virtual_tag_config`

Delete Virtual Tag Config · Destructive

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

Read only: no. Destructive: yes.

Inputs:

- `virtual_tag_config_token` (`string`, required): Virtual Tag Config token (`vtag_*`).

Example input: `{"virtual_tag_config_token":"<virtual_tag_config_token>"}`

### `vantagemcp_delete_virtual_tag_config_value`

Delete Virtual Tag Config Value · Destructive

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

Read only: no. Destructive: yes.

Inputs:

- `virtual_tag_config_token` (`string`, required): Virtual Tag Config token (`vtag_*`). Parent Virtual Tag Config.
- `virtual_tag_config_value_token` (`string`, required): Virtual Tag Config Value token (`vtag_val_*`).

Example input: `{"virtual_tag_config_token":"<virtual_tag_config_token>","virtual_tag_config_value_token":"<virtual_tag_config_value_token>"}`

### `vantagemcp_remove_team_member`

Remove Team Member · Destructive

Remove a user from a Team without deleting the user.

Read only: no. Destructive: yes.

Inputs:

- `team_token` (`string`, required): Team token (`team_*`).
- `user_token` (`string`, required): User token (`usr_*`).

Example input: `{"team_token":"<team_token>","user_token":"<user_token>"}`

### `vantagemcp_update_annotation`

Update Annotation · Destructive

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.

Read only: no. Destructive: yes.

Inputs:

- `annotation_token` (`string`, required): Annotation token (`issue_*`).
- `date` (`string`, optional): Updated Annotation date in ISO 8601 format (YYYY-MM-DD).
- `message` (`string`, optional): Updated message for the Annotation.
- `report_tokens` (`array`, optional): Replacement Cost Reports for the Annotation.
- `title` (`string`, optional): Updated Annotation title.

Example input: `{"annotation_token":"<annotation_token>"}`

### `vantagemcp_update_anomaly`

Update Anomaly · Destructive

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.

Read only: no. Destructive: yes.

Inputs:

- `anomaly_alert_token` (`string`, required): Anomaly Alert token (`anmly_alrt_*`).
- `status` (`string`, required): The new status of the anomaly alert. One of: `active`, `archived`, `ignored`.
- `feedback` (`string`, optional): Optional comments explaining why the alert is being ignored or archived.

Example input: `{"anomaly_alert_token":"<anomaly_alert_token>","status":"active"}`

### `vantagemcp_update_billing_rule`

Update Billing Rule · Destructive

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

Read only: no. Destructive: yes.

Inputs:

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

Example input: `{"billing_rule_token":"<billing_rule_token>"}`

### `vantagemcp_update_budget`

Update Budget · Destructive

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

Read only: no. Destructive: yes.

Inputs:

- `budget_token` (`string`, required): Budget token (`bdgt_*`).
- `child_budget_tokens` (`array`, optional): The updated tokens of child Budgets for a hierarchical Budget.
- `cost_report_token` (`string`, optional): Cost Report token (`rprt_*`). Ignored for hierarchical Budgets.
- `name` (`string`, optional): The updated name of the Budget.
- `period_cadence` (`object`, optional): 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.
- `periods` (`array`, optional): 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.
- `type` (`string`, optional): The updated Budget type. Use cost for spend-based Budgets or usage for usage-based Budgets. One of: `cost`, `usage`.
- `unit` (`string`, optional): The updated usage unit for usage Budgets. Send null to clear. Only valid when type is usage.

Example input: `{"budget_token":"<budget_token>"}`

### `vantagemcp_update_budget_alert`

Update Budget Alert · Destructive

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

Read only: no. Destructive: yes.

Inputs:

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

Example input: `{"budget_alert_token":"<budget_alert_token>"}`

### `vantagemcp_update_canvas`

Update Canvas · Destructive

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.

Read only: no. Destructive: yes.

Inputs:

- `canvas_token` (`string`, required): Canvas token (`cnvs_*`).
- `prompt` (`string`, optional): The updated prompt used to generate the Canvas.
- `title` (`string`, optional): The updated title of the Canvas.

Example input: `{"canvas_token":"<canvas_token>"}`

### `vantagemcp_update_cost_alert`

Update Cost Alert · Destructive

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.

Read only: no. Destructive: yes.

Inputs:

- `cost_alert_token` (`string`, required): Cost Alert token (`cstm_alrt_rl_*`).
- `email_recipients` (`array`, optional): Updated email addresses to notify when the alert triggers.
- `interval` (`string`, optional): Updated evaluation interval for the Cost Alert. One of: `day`, `week`, `month`, `quarter`.
- `minimum_threshold` (`number`, optional): Updated minimum threshold amount. Only applicable for percentage unit_type.
- `report_tokens` (`array`, optional): Updated Cost Report tokens to monitor.
- `slack_channels` (`array`, optional): Updated Slack channels to notify when the alert triggers.
- `teams_channels` (`array`, optional): Updated Microsoft Teams channels to notify when the alert triggers.
- `threshold` (`number`, optional): Updated threshold amount that triggers the alert.
- `title` (`string`, optional): Updated title for the Cost Alert.
- `unit_type` (`string`, optional): Updated unit type for the threshold. One of: `currency`, `percentage`.

Example input: `{"cost_alert_token":"<cost_alert_token>"}`

### `vantagemcp_update_cost_report`

Update Cost Report · Destructive

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.

Read only: no. Destructive: yes.

Inputs:

- `cost_report_token` (`string`, required): Cost Report token (`rprt_*`).
- `business_metric_tokens_with_metadata` (`array`, optional): Updated BusinessMetric tokens and unit scale metadata.
- `chart_settings` (`object`, optional): Updated chart settings.
- `chart_type` (`string`, optional): Updated chart type. One of: `area`, `line`, `bar`, `multi_bar`, `pie`.
- `date_bin` (`string`, optional): Updated date bin for how costs are bucketed over time. One of: `cumulative`, `day`, `week`, `month`, `quarter`, `hour`.
- `date_interval` (`string`, optional): Updated date interval. Incompatible with start_date and end_date. One of: `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`.
- `default_forecast` (`object`, optional): Updated default forecast selection for the Cost Report.
- `end_date` (`string`, optional): Updated end date. ISO 8601 formatted (YYYY-MM-DD). Required when start_date is set. Incompatible with date_interval.
- `filter` (`string`, optional): Updated VQL filter. Use list-cost-providers and list-cost-services for valid names.
- `folder_token` (`string`, optional): Folder token (`fldr_*`). Determines the Workspace the report is assigned to.
- `groupings` (`array`, optional): 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>.
- `previous_period_end_date` (`string`, optional): Updated previous period end date. ISO 8601 formatted (YYYY-MM-DD). Required when previous_period_start_date is set.
- `previous_period_start_date` (`string`, optional): Updated previous period start date. ISO 8601 formatted (YYYY-MM-DD).
- `saved_filter_tokens` (`array`, optional): Updated SavedFilter tokens to apply to the Cost Report.
- `settings` (`object`, optional): Updated report settings.
- `start_date` (`string`, optional): Updated start date. ISO 8601 formatted (YYYY-MM-DD). Incompatible with date_interval.
- `title` (`string`, optional): Updated title for the Cost Report.

Example input: `{"cost_report_token":"<cost_report_token>"}`

### `vantagemcp_update_dashboard`

Update Dashboard · Destructive

Updates a Dashboard. Sending widgets replaces the entire widget list. Use update-dashboard-widget to change one report-backed widget's linked resource, title, or display settings, and delete-dashboard-widget to remove one widget. Change grid position or free-text content only by sending the full widget list here.

Read only: no. Destructive: yes.

Inputs:

- `dashboard_token` (`string`, required): Dashboard token (`dshbrd_*`).
- `date_bin` (`string`, optional): Date binning for returned costs, allowed values: cumulative, day, week, month. One of: `cumulative`, `day`, `week`, `month`.
- `date_interval` (`string`, optional): The date interval of the dashboard. Incompatible with 'start_date' and 'end_date' parameters. Use an empty string to clear the date interval. One of: `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`, ``.
- `end_date` (`string`, optional): The end date of the dashboard. ISO 8601 Formatted. Incompatible with 'date_interval' parameter, required with 'start_date'.
- `folder_token` (`string`, optional): Destination Dashboard Folder token (fldr_*), in the Dashboard's Workspace. Use list-folders with type DashboardFolder to discover folders. Send null or an empty string to move to root; omit to keep the current folder.
- `saved_filter_tokens` (`array`, optional): The updated tokens of the Saved Filters used in the Dashboard.
- `start_date` (`string`, optional): The start date of the dashboard. ISO 8601 Formatted. Incompatible with 'date_interval' parameter.
- `title` (`string`, optional): The updated title of the dashboard.
- `widgets` (`array`, optional): Full replacement widget list. Omit to keep the current widgets. Include every widget to keep. An empty array removes all widgets.
- `workspace_token` (`string`, optional): Workspace token (`wrkspc_*`). Required when updating widgets if the API token belongs to multiple Workspaces.

Example input: `{"dashboard_token":"<dashboard_token>"}`

### `vantagemcp_update_dashboard_notification`

Update Dashboard Notification · Destructive

Updates a Dashboard Notification. Omitted fields stay unchanged. Setting dashboard_token points the email at that Dashboard and requires edit access to it. Do not use this for Report Notifications, Cost Alerts, or Budget Alerts.

Read only: no. Destructive: yes.

Inputs:

- `dashboard_notification_token` (`string`, required): Dashboard Notification token (`rprtbl_ntfctn_*`).
- `dashboard_token` (`string`, optional): Dashboard token (`dshbrd_*`).
- `frequency` (`string`, optional): How often the email is sent. One of: `daily`, `weekly`, `monthly`.
- `recipient_emails` (`array`, optional): Email addresses that receive the Dashboard. Each address must be an organization user, on the account SSO domain, or an approved external address.
- `title` (`string`, optional): New name for this notification.
- `user_tokens` (`array`, optional): Vantage users who receive the email. Use get-users to find tokens.

Example input: `{"dashboard_notification_token":"<dashboard_notification_token>"}`

### `vantagemcp_update_dashboard_widget`

Update Dashboard Widget · Destructive

Updates one report-backed Dashboard Widget's linked resource, title, or display settings. Omitted fields stay unchanged. To change grid position or free-text content, send the full widget list to update-dashboard.

Read only: no. Destructive: yes.

Inputs:

- `widget_token` (`string`, required): Dashboard Widget token (`dshbrd_wdgt_*`).
- `settings` (`object`, optional): Display settings. This does not change grid position; use update-dashboard for that.
- `title` (`string`, optional): Widget title.
- `widgetable_token` (`string`, optional): Report or saved-view token this widget shows. Use update-dashboard to change free-text content.

Example input: `{"widget_token":"<widget_token>"}`

### `vantagemcp_update_financial_commitment_report`

Update Financial Commitment Report · Destructive

Updates a saved Financial Commitment Report. Use list-financial-commitment-reports to discover tokens.

Read only: no. Destructive: yes.

Inputs:

- `financial_commitment_report_token` (`string`, required): Financial Commitment Report token (`fncl_cmnt_rprt_*`).
- `date_bucket` (`string`, optional): Updated date bucket. One of: `hour`, `day`, `week`, `month`, `quarter`.
- `date_interval` (`string`, optional): Updated date interval for the Financial Commitment Report. Unless 'custom' is used, this is incompatible with 'start_date' and 'end_date'. One of: `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`.
- `end_date` (`string`, optional): Updated end date for the Financial Commitment Report. YYYY-MM-DD formatted. Incompatible with 'date_interval' unless date_interval is 'custom'.
- `filter` (`string`, optional): Updated VQL filter to apply to the Financial Commitment Report. Additional documentation is available at https://docs.vantage.sh/vql.
- `groupings` (`array`, optional): Grouping dimensions for the report. Use tag:<tag_key> to group by tag.
- `on_demand_costs_scope` (`string`, optional): Updated on-demand costs scope. One of: `discountable`, `all`.
- `start_date` (`string`, optional): Updated start date for the Financial Commitment Report. YYYY-MM-DD formatted. Incompatible with 'date_interval' unless date_interval is 'custom'.
- `title` (`string`, optional): Updated title for the Financial Commitment Report.

Example input: `{"financial_commitment_report_token":"<financial_commitment_report_token>"}`

### `vantagemcp_update_folder`

Update Folder · Destructive

Updates a Cost Report, Dashboard, or Resource Report Folder's title or parent, or a Cost Folder's Saved Filters. Folder type cannot be changed after creation.

Read only: no. Destructive: yes.

Inputs:

- `folder_token` (`string`, required): Folder token (`fldr_*`).
- `parent_folder_token` (`string`, optional): Updated parent Folder token (fldr_*). Must have the same type and Workspace. Send null or an empty string to move to root; omit to keep the current parent.
- `saved_filter_tokens` (`string`, optional): Saved Filter tokens for contained Cost Reports; only applies to CostFolder. Send null or an empty array to clear; omit to keep current filters.
- `title` (`string`, optional): Updated title for the Folder

Example input: `{"folder_token":"<folder_token>"}`

### `vantagemcp_update_kubernetes_efficiency_report`

Update Kubernetes Efficiency Report · Destructive

Updates a saved Kubernetes Efficiency Report. Omitted fields preserve the existing report configuration.

Read only: no. Destructive: yes.

Inputs:

- `kubernetes_efficiency_report_token` (`string`, required): Kubernetes Efficiency Report token (`kbnts_eff_rprt_*`).
- `aggregated_by` (`string`, optional): Metric used to aggregate and order Kubernetes efficiency costs. One of: `idle_cost`, `amount`, `cost_efficiency`.
- `date_bucket` (`string`, optional): Time bucket for Kubernetes efficiency costs. One of: `day`, `week`, `month`, `quarter`.
- `date_interval` (`string`, optional): Updated report date interval. When changing to custom, also provide start_date and end_date. Omit to preserve the existing interval. One of: `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`.
- `end_date` (`string`, optional): Updated custom range end date, YYYY-MM-DD. Omit to preserve the existing end date.
- `filter` (`string`, optional): VQL filter using the `kubernetes.` VQL namespace, including fields such as `kubernetes.cluster_id`, `kubernetes.namespace`, and Kubernetes labels.
- `groupings` (`array`, optional): Kubernetes dimensions to group by. Use label:<label_name> to group by a Kubernetes label.
- `start_date` (`string`, optional): Updated custom range start date, YYYY-MM-DD. Omit to preserve the existing start date.
- `title` (`string`, optional): Updated title for the Kubernetes Efficiency Report.

Example input: `{"kubernetes_efficiency_report_token":"<kubernetes_efficiency_report_token>"}`

### `vantagemcp_update_network_flow_report`

Update Network Flow Report · Destructive

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

Read only: no. Destructive: yes.

Inputs:

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

Example input: `{"network_flow_report_token":"<network_flow_report_token>"}`

### `vantagemcp_update_recommendation_view`

Update Recommendation View · Destructive

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.

Read only: no. Destructive: yes.

Inputs:

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

Example input: `{"recommendation_view_token":"<recommendation_view_token>"}`

### `vantagemcp_update_report_forecast`

Update Report Forecast · Destructive

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.

Read only: no. Destructive: yes.

Inputs:

- `report_forecast_token` (`string`, required): Report Forecast token (`rprt_frcst_*`).
- `business_metric_token` (`string`, optional): Business Metric token (`bsnss_mtrc_*`). Send null to clear.
- `scenario_model_tokens` (`array`, optional): ScenarioModel tokens to assign to the forecast. Use list-scenario-models to discover tokens.
- `set_as_default` (`boolean`, optional): When true, sets this ReportForecast as the default forecast for its Cost Report.
- `title` (`string`, optional): Updated title for the ReportForecast.

Example input: `{"report_forecast_token":"<report_forecast_token>"}`

### `vantagemcp_update_report_notification`

Update Report Notification · Destructive

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.

Read only: no. Destructive: yes.

Inputs:

- `report_notification_token` (`string`, required): Report Notification token (`rprt_ntfctn_*`).
- `change` (`string`, optional): Updated type of change the report notification tracks. One of: `percentage`, `dollars`.
- `cost_report_token` (`string`, optional): Cost Report token (`rprt_*`).
- `frequency` (`string`, optional): Updated frequency for the report notification. One of: `daily`, `weekly`, `monthly`.
- `recipient_channels` (`array`, optional): Updated Slack or Microsoft Teams channels that receive the notification.
- `title` (`string`, optional): Updated title for the report notification.
- `user_tokens` (`array`, optional): Updated users that receive the notification.

Example input: `{"report_notification_token":"<report_notification_token>"}`

### `vantagemcp_update_resource_report`

Update Resource Report · Destructive

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.

Read only: no. Destructive: yes.

Inputs:

- `resource_report_token` (`string`, required): Resource Report token (`prvdr_rsrc_rprt_*`).
- `columns` (`array`, optional): 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)
- `filter` (`string`, optional): Updated VQL filter using resources and tags namespaces (e.g. resources.provider = 'aws' AND resources.type = 'aws_instance').
- `folder_token` (`string`, optional): Folder token (`fldr_*`). Move the Resource Report into this Folder.
- `title` (`string`, optional): Updated title for the Resource Report.

Example input: `{"resource_report_token":"<resource_report_token>"}`

### `vantagemcp_update_saved_filter`

Update Saved Filter · Destructive

Update a Saved Filter's title or VQL filter applied to Cost Reports.

Read only: no. Destructive: yes.

Inputs:

- `saved_filter_token` (`string`, required): Saved Filter token (`svd_fltr_*`).
- `filter` (`string`, optional): VQL filter applied to Cost Reports; see the VQL resource for syntax.
- `title` (`string`, optional): Saved Filter title.

Example input: `{"saved_filter_token":"<saved_filter_token>"}`

### `vantagemcp_update_scenario_model`

Update Scenario Model · Destructive

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.

Read only: no. Destructive: yes.

Inputs:

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

Example input: `{"scenario_model_token":"<scenario_model_token>"}`

### `vantagemcp_update_team`

Update Team · Destructive

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

Read only: no. Destructive: yes.

Inputs:

- `team_token` (`string`, required): Team token (`team_*`).
- `default_dashboard_token` (`string`, optional): Updated default Dashboard. Send null to clear the default Dashboard.
- `description` (`string`, optional): Updated Team description.
- `name` (`string`, optional): Updated Team name.
- `role` (`string`, optional): Role to assign to the provided users. The Vantage API defaults to editor. One of: `owner`, `editor`, `viewer`.
- `user_emails` (`array`, optional): Updated user email addresses associated with the Team.
- `user_tokens` (`array`, optional): Updated existing users associated with the Team.
- `workspace_tokens` (`array`, optional): Updated Workspaces associated with the Team.

Example input: `{"team_token":"<team_token>"}`

### `vantagemcp_update_virtual_tag_config`

Update Virtual Tag Config · Destructive

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.

Read only: no. Destructive: yes.

Inputs:

- `virtual_tag_config_token` (`string`, required): Virtual Tag Config token (`vtag_*`).
- `backfill_until` (`string`, optional): No description.
- `collapsed_tag_keys` (`array`, optional): Complete replacement list of tag keys whose values should be collapsed.
- `key` (`string`, optional): New key for the Virtual Tag Config.
- `overridable` (`boolean`, optional): Whether the config can override a matching provider-supplied tag.
- `values` (`array`, optional): 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.

Example input: `{"virtual_tag_config_token":"<virtual_tag_config_token>"}`

### `vantagemcp_update_virtual_tag_config_value`

Update Virtual Tag Config Value · Destructive

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.

Read only: no. Destructive: yes.

Inputs:

- `virtual_tag_config_token` (`string`, required): Virtual Tag Config token (`vtag_*`). Parent Virtual Tag Config.
- `virtual_tag_config_value_token` (`string`, required): Virtual Tag Config Value token (`vtag_val_*`).
- `business_metric_token` (`string`, optional): Business Metric token (`bsnss_mtrc_*`). Associates this value with a Business Metric.
- `cost_metric` (`object`, optional): Cost metric used for dynamic allocation.
- `date_ranges` (`array`, optional): Date ranges that restrict when this value applies.
- `display_name` (`string`, optional): Display name for a cost metric or percentage allocation value. Use null to clear it.
- `filter` (`string`, optional): VQL filter that determines which costs match this Virtual Tag Config Value.
- `label_filters` (`string`, optional): Other Business Metric labels that limit which rows are included. Every key must match, and the values under one key are alternatives. Do not include label_key here; use label_values for that label. Null or {} leaves saved filters unchanged.
- `label_key` (`string`, optional): Business Metric label this value is built from. Each value of this label becomes its own virtual tag value, unless label_values limits them.
- `label_transforms` (`array`, optional): Transforms applied to Business Metric labels.
- `label_values` (`array`, optional): Which values of label_key to include. An empty array includes every value of that label.
- `name` (`string`, optional): Name for a simple Virtual Tag Config Value.
- `percentages` (`array`, optional): Fixed percentage allocations for matching costs.

Example input: `{"virtual_tag_config_token":"<virtual_tag_config_token>","virtual_tag_config_value_token":"<virtual_tag_config_value_token>"}`

### `vantagemcp_update_workspace`

Update Workspace · Destructive

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

Read only: no. Destructive: yes.

Inputs:

- `workspace_token` (`string`, required): Workspace token (`wrkspc_*`).
- `currency` (`string`, optional): Currency code for the workspace (e.g., "USD")
- `enable_currency_conversion` (`boolean`, optional): Enable currency conversion for the workspace
- `exchange_rate_date` (`string`, optional): The date to use for currency conversion. One of: `daily_rate`, `end_of_billing_period_rate`.
- `name` (`string`, optional): New name for the workspace

Example input: `{"workspace_token":"<workspace_token>"}`

## Related

Other Analytics connectors ([all 126](/agentkit/connectors/?category=analytics)):

- [Microsoft 365](/agentkit/connectors/microsoft365/): Scalekit connector, OAuth, 317 tools
- [HubSpot](/agentkit/connectors/hubspot/): Scalekit connector, OAuth, 457 tools
- [Snowflake](/agentkit/connectors/snowflake/): Scalekit connector, OAuth, 42 tools


---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
