# Azure FinOps MCP Server [Health: Active]

**Category:** ☁️ Cloud Platforms  
**Repository:** https://github.com/raviteja-pegata/Azure-FinOps-MCP-Server  
**GitHub Stars:** 0  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/azure-finops-mcp-server

## Description
Azure FinOps MCP: cost, budgets, forecasting and optimization for Claude, VS Code and Cursor.

## Tools
Capabilities this server exposes over MCP:

- **list_subscriptions** — List allowed subscriptions with friendly names
- **get_cost_summary** — Total cost for a date range (single sub)
- **get_cost_by_dimension** — Cost breakdown by service / RG / location / meter
- **get_cost_by_tag** — Cost grouped by tag value (showback/chargeback)
- **get_month_to_date_cost** — Current-month spend (single sub)
- **get_portfolio_month_to_date_cost** — Current-month spend across ALL subs
- **get_budget_status** — Budget consumption for a single sub
- **get_portfolio_budget_status** — Budget status across ALL subs
- **find_idle_resources** — Unattached disks, stranded IPs/NICs, stopped VMs
- **find_idle_resources_portfolio** — Idle resources across ALL subs
- **get_advisor_recommendations** — Azure Advisor cost recs with annual savings
- **get_vm_utilization** — CPU stats to validate rightsizing
- **forecast_month_end_spend** — Predicted month-end cost (single sub)
- **forecast_portfolio_month_end_spend** — Predicted month-end cost across ALL subs

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "azure-finops-mcp-server": {
    "command": "uvx",
    "args": ["azure-finops-mcp"],
    "env": {
      "AZURE_ALLOWED_SUBSCRIPTIONS": "",
      "AZURE_DEFAULT_SUBSCRIPTION": ""
    }
  }
}
```

**Requires environment variables:** `AZURE_ALLOWED_SUBSCRIPTIONS`, `AZURE_DEFAULT_SUBSCRIPTION` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What Azure FinOps MCP Server MCP server does

Azure FinOps MCP Server MCP server gives an MCP client access to Azure financial and resource data. It can enumerate the subscriptions permitted by configuration, inspect spending for a selected date range, and group costs by service, resource group, location, meter, or tag. Month-to-date cost is available for one subscription or for the full configured portfolio.

Budget tools report consumption for an individual subscription or across all subscriptions. Optimization tools identify unattached disks, unused public IPs or network interfaces, and stopped virtual machines. Azure Advisor cost recommendations include annual savings information, while VM utilization exposes CPU statistics that can help validate a rightsizing decision. Forecasting tools estimate month-end spending for one subscription or the entire portfolio.

## How it works

The server runs as an MCP process and communicates with local clients over stdio. Its architecture uses a shared Azure credential and Azure REST APIs for the underlying queries. Subscription access is restricted through an allowlist, and one permitted subscription is selected as the default for operations that do not specify another subscription.

The repository also documents HTTP access after deployment to Azure Container Apps. In that mode, an MCP client connects to the deployed `/mcp` endpoint instead of starting a local Python process. The Container App can use a system-assigned managed identity, with `DefaultAzureCredential` obtaining credentials at runtime. A configurable cache TTL is supported in client configuration examples.

## Setup and configuration

Azure FinOps MCP Server MCP server requires Python 3.11 or newer and an Azure CLI session authenticated with `az login` for local use. Install it from PyPI with `pip install azure-finops-mcp`, or clone the repository and install the package in an activated virtual environment.

Set `AZURE_ALLOWED_SUBSCRIPTIONS` to a comma-separated list of subscription IDs the server may query. Set `AZURE_DEFAULT_SUBSCRIPTION` to one ID from that list. The identity used by the process needs Cost Management Reader, Reader, and Monitoring Reader roles on every permitted subscription. These roles cover cost and budget queries, resource inventory, and VM metrics respectively.

For local validation, the MCP Inspector can launch the module directly. Confirm that the transport is STDIO, connect, list the tools, and try `list_subscriptions` before using cost queries. The documented clients include Claude Desktop, VS Code with GitHub Copilot Agent mode, Cursor, and Claude Code. The package can also be configured in client-specific MCP configuration files.

## Tools and capabilities

The 15 exposed tools are grouped into five areas:

- Discovery: list allowed subscriptions and friendly names.
- Cost analysis: retrieve date-range totals, dimensional breakdowns, tag-based groupings, and month-to-date spend.
- Budgets: inspect single-subscription and portfolio budget consumption.
- Optimization: find idle resources, retrieve Azure Advisor savings recommendations, and review VM CPU utilization.
- Forecasting: estimate month-end spend for one subscription or all configured subscriptions.

Single-subscription tools use the configured default where the tool does not require an explicit subscription. Portfolio tools aggregate across all subscriptions in the allowlist.

## Limitations and notes

The server only queries subscriptions included in `AZURE_ALLOWED_SUBSCRIPTIONS`; adding an Azure subscription to the account alone does not make it available. Required Azure roles must be assigned on each subscription, and VM utilization depends on Monitoring Reader access.

The repository documents local stdio operation and remote HTTP operation after an Azure Container Apps deployment. It does not describe write actions for changing budgets, deleting idle resources, applying Advisor recommendations, or resizing virtual machines. The optimization and forecasting tools therefore provide analysis and predictions rather than documented remediation actions.

_Full upstream README: https://allmcps.com/mcp/azure-finops-mcp-server/readme_

