Cost Management & Pricing tools

May 21, 2026 · View on GitHub

The Azure Resource Manager MCP server ships an optional Cost Management & Pricing tool surface that lets agents answer cost, budget, savings, and pricing questions in natural language, on behalf of the signed-in user.

These tools are off by default — enable them per client (see below).

What you can ask

Once enabled, you can ask the agent things like:

  • "What did I spend on Azure this month, broken down by service?"
  • "Forecast my subscription cost for the rest of the month."
  • "How much would a Standard_E4s_v5 VM cost in East US?"
  • "Show me my reserved instance utilization for the last 30 days."

Toolsets

The server groups tools into toolsets:

ToolsetWhat it includes
CostManagementCost & usage queries, budgets, alerts, savings, AKS cost split
PricingPublic retail prices and negotiated pricesheet downloads

Enabling the toolsets

Opt in per client by adding the x-mcp-toolset header on the MCP connection to the Azure Resource Manager MCP server. The header value is a comma-separated list of toolset names — enable one or both, e.g. x-mcp-toolset: CostManagement,Pricing.

VS Code (GitHub Copilot Chat)

MCP servers are configured in one of two files:

  • Workspace: .vscode/mcp.json in your repo (applies only to that workspace).
  • User: open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P), run MCP: Open User Configuration, and edit the mcp.json it opens. On Windows this lives at %APPDATA%\Code\User\mcp.json, on macOS at ~/Library/Application Support/Code/User/mcp.json, on Linux at ~/.config/Code/User/mcp.json.

Add (or update) the Azure Resource Manager MCP server entry with headers:

{
  "servers": {
    "azure-resource-manager-mcp": {
      "type": "http",
      "url": "https://mcp.management.azure.com",
      "headers": {
        "x-mcp-toolset": "CostManagement,Pricing"
      }
    }
  }
}

Save the file, then restart the server: open the Command Palette and run MCP: List Servers, pick azure-resource-manager-mcp, and choose Restart. The new tools will appear under Configure Tools in Chat.

VS Code workflow: open MCP: List Servers, pick ARM MCP, choose Show Configuration, add the x-mcp-toolset header to mcp.json, and save

GitHub Copilot CLI

Edit ~/.copilot/mcp-config.json and add (or update) the server entry with headers:

{
  "mcpServers": {
    "azure-resource-manager-mcp": {
      "type": "http",
      "url": "https://mcp.management.azure.com",
      "headers": {
        "x-mcp-toolset": "CostManagement,Pricing"
      }
    }
  }
}

Restart the MCP server to pick up the change. In Copilot CLI today this means exiting and relaunching copilot. Verify the server is running with the /mcp show slash command inside copilot.

Cost Management tools

Toolset: CostManagement

The Scopes column shows which Azure scope types each tool accepts:

  • Subscription/subscriptions/{id} or /subscriptions/{id}/resourceGroups/{name}
  • Management group/providers/Microsoft.Management/managementGroups/{id}
  • Billing — Enterprise Agreement (EA) or Microsoft Customer Agreement (MCA) billing scopes, rooted at /providers/Microsoft.Billing/billingAccounts/{id} (and their child scopes such as billing profiles or invoices).

For best performance when comparing costs across multiple subscriptions, make a single query against a billing scope and filter by subscriptions rather than calling each subscription individually.

Query & forecast

ToolScopeInputOutputPurposeExample AI Use Case
query_costsSubscription, Management group, BillingTimeframe (or from/to), granularity, groupBy dimensions, optional filter, metricCost & usage rows (up to 100)Query actual or amortized Azure cost and usage data"What did I spend this month, broken down by service?"
query_aks_costsSubscription only — no RGTimeframe (or from/to), granularity, groupBy dimensions, optional filter, metricAKS container-level cost rows (up to 100)Break down AKS costs by cluster, namespace, idle vs service utilization, and service category"Which AKS namespace cost the most last month?"
forecast_costsSubscription, Management group, BillingFrom, to, granularity, metricActual + forecasted cost rows through end of period (up to 100)Forecast Azure cost for the current or a custom period"What will my subscription cost by end of month?"
list_dimensionsSubscription, Management group, BillingSupported cost dimensions for the scopeDiscover dimensions available for grouping or filtering cost queries"What dimensions can I group costs by?"

Budgets & alerts

ToolScopeInputOutputPurposeExample AI Use Case
list_budgetsSubscription, Management group, BillingAll budgets at the scope with current spend vs limitList active Cost budgets"Do I have any budgets close to their limit?"
get_budgetSubscription, Management group, BillingBudget nameBudget detail with current spend, forecast, notification rulesInspect a specific budget"Show me the details of the prod-monthly budget."
create_budget (write)SubscriptionAmount, contact emails or notifications, optional name / time grain / start & end datesCreated budget objectCreate a monthly / quarterly / annual Cost budget with threshold notifications"Set a $5,000 monthly budget on subscription X and email me at 80%."
list_alertsSubscription, Management group, BillingCost alerts and anomaly notificationsSurface threshold alerts and detected anomalies"Are there any unusual cost spikes this month?"

Reservations & Savings Plans

ToolScopeInputOutputPurposeExample AI Use Case
list_benefit_utilizationBillingReservation and Savings Plan utilization metricsCheck how well reservations and savings plans are being used"How well-utilized are my reservations?"
get_benefit_recommendationsSubscription, BillingRecommended Reservation or Savings Plan purchases with projected savingsIdentify opportunities to save with reservations or savings plans"Which reservations would save me money based on my recent usage?"
list_reservation_transactionsBillingfrom (required), optional toPurchase, refund, and exchange transactions (up to 100)Audit Reservation and Savings Plan transactions in a date range"Show me all reservation purchases since January 1."

Pricing tools

Toolset: Pricing

ToolScopeInputOutputPurposeExample AI Use Case
get_retail_pricesPublic — no scope, no authOptional service name, ARM SKU, region, meter name, price type, currencyPublic retail price records (consumption, reservation, savings plan, dev/test)Look up public Azure retail (pay-as-you-go) pricing"How much is a Standard_D4s_v5 VM in East US?"
start_pricesheet_downloadBillingAgreement type (EA / MCA billing profile / MCA invoice), billing period (EA only)Operation status URL to pollKick off an asynchronous download of your negotiated pricesheet"Start downloading our enterprise pricesheet for April 2025."
get_pricesheet_statusn/a (operation URL)Operation status URL from start_pricesheet_downloadIn-progress status (with retry-after) or a time-limited SAS download URLPoll a pricesheet download until the SAS URL is ready"Is the pricesheet I requested ready yet?"

Example: a pricing prompt end-to-end

Asking "How much would an Av2 VM cost per month in East US?" — the agent calls get_retail_prices and returns a breakdown across OS and pricing tiers (Regular vs Spot, Linux vs Windows):

End-to-end demo: typing a pricing prompt in VS Code Chat, the agent invoking get_retail_prices on the ARM MCP server, and returning a pricing table for Standard_A2_v2 in East US

Feedback

Tell us how these tools are working for you—your feedback helps improve Cost Management & Pricing tools. Share your thoughts via aka.ms/azurecost/mcptools/give/feedback.

Found a bug or have a specific feature request? Please open a GitHub issue instead — that's the best way to get it tracked and fixed.