azure-cost-mcp
azure-cost-mcp
An MCP server that gives Claude live access to Azure pricing and cost data — retail prices, VM comparisons, reservation analysis, architecture estimates, and actual subscription spend.
What it does
Nine tools across two API groups:
Tool | Description | Auth required |
| Search Azure retail prices with OData filters | No |
| Compare VM SKUs across regions (monthly matrix) | No |
| Find cheapest regions for a given SKU | No |
| PAYG vs 1-yr / 3-yr reservation with break-even | No |
| Estimate multi-component architecture monthly cost | No |
| Query actual subscription spend (group by service, resource group, etc.) | Yes |
| Top-N resources by spend with % of total | Yes |
| Cost forecast for a period | Yes |
| List budgets with CRITICAL / WARNING / OK status | Yes |
Prerequisites
Node.js 20+
npm
Build
npm install
npm run buildAzure setup (for authenticated tools)
Create a service principal and assign the Cost Management Reader role:
# Create service principal
az ad sp create-for-rbac --name azure-cost-mcp --role "Cost Management Reader" \
--scopes /subscriptions/<SUBSCRIPTION_ID>
# Output includes appId (clientId), password (clientSecret), tenant (tenantId)Claude Desktop configuration
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"azure-cost": {
"command": "node",
"args": ["/absolute/path/to/azure-cost-mcp/dist/index.js"],
"env": {
"AZURE_TENANT_ID": "...",
"AZURE_CLIENT_ID": "...",
"AZURE_CLIENT_SECRET": "...",
"AZURE_SUBSCRIPTION_ID": "..."
}
}
}
}The retail tools work without credentials. Cost Management tools will return setup instructions if credentials are missing.
Environment variables
Variable | Required | Description |
| For auth tools | Azure AD tenant ID |
| For auth tools | Service principal application ID |
| For auth tools | Service principal secret |
| For auth tools | Subscription to query |
| No | Default currency (default: |
Companion skill
A Claude Code skill at ~/.claude/skills/azure-cost.md encodes tool routing rules, the reservation comparison rule, output conventions, and graceful degradation guidance. Install it by copying skills/azure-cost.md from this repository to ~/.claude/skills/.
Development
npm test # run tests
npm run test:watch # watch mode
npm run lint # ESLint
npm run format # PrettierLatest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MO2k4/azure-cost-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server