A Model Context Protocol (MCP) server that provides AI assistants with real-time access to Azure retail pricing information. Query VM prices, compare costs across regions, estimate monthly bills, and discover available SKUs—all through natural language.
# Clone and setup
git clone https://github.com/msftnadavbh/AzurePricingMCP.git
cd AzurePricingMCP
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
# Test the server
python -m azure_pricing_mcpThen configure your AI assistant. See Integrations.
- Price Search - Query Azure prices with flexible filters
- Price Comparison - Compare costs across regions or SKUs
- Cost Estimation - Calculate monthly/yearly costs
- Reserved Instances - Compare RI pricing with break-even analysis
- Region Recommendations - Find the cheapest regions for any SKU
- SKU Discovery - Fuzzy matching for service names
- Retirement Warnings - Alerts for retiring VM SKUs
- Spot VM Intelligence - Eviction rates and price history (requires Azure auth)
- Orphaned Resources - Detect unused resources with real cost calculation (requires Azure auth)
- PTU Sizing - Estimate Provisioned Throughput Units for Azure OpenAI deployments
- Databricks DBU Pricing - Search DBU rates, estimate costs, compare workloads
- GitHub Pricing - Full GitHub pricing catalog + cost estimation (Plans, Copilot, Actions, Security)
18 tools available for AI assistants:
azure_price_search- Search retail pricesazure_price_compare- Compare across regions/SKUsazure_ri_pricing- Reserved Instance pricingazure_cost_estimate- Usage-based cost estimationazure_region_recommend- Find cheapest regionsazure_discover_skus/azure_sku_discovery- SKU lookupget_customer_discount- Customer discount informationspot_eviction_rates/spot_price_history/simulate_eviction- Spot VM toolsfind_orphaned_resources- Detect orphaned resources with cost analysisazure_ptu_sizing- Estimate PTUs for Azure OpenAI deploymentsdatabricks_dbu_pricing/databricks_cost_estimate/databricks_compare_workloads- Databricks DBU pricinggithub_pricing/github_cost_estimate- GitHub pricing catalog and cost estimation
Docker (Easiest):
docker build -t azure-pricing-mcp .
docker run -i azure-pricing-mcpPython:
pip install -r requirements.txtWorks with any MCP-compatible AI assistant:
- VS Code with GitHub Copilot
- Claude Desktop
AzurePricingMCP/
├── src/azure_pricing_mcp/ # Main package
│ ├── server.py # MCP server
│ ├── handlers.py # Tool handlers
│ ├── client.py # Azure API client
│ ├── config.py # Pricing data & constants
│ ├── tools.py # Core tool definitions
│ ├── formatters.py # Response formatters
│ ├── models.py # Data models
│ ├── services/ # Business logic
│ ├── databricks/ # Databricks DBU tools
│ └── github_pricing/ # GitHub pricing tools
├── tests/ # Test suite (9 files, 236+ tests)
├── docs/ # Documentation
└── scripts/ # Setup & debug scripts
This server uses the Azure Retail Prices API:
https://prices.azure.com/api/retail/prices
No authentication required - The Azure Retail Prices API is publicly accessible.
We welcome contributions! See CONTRIBUTING.md for setup instructions, code style, and PR process.
| Document | Description |
|---|---|
| INSTALL.md | Installation guide |
| docs/FEATURES.md | Feature details |
| docs/TOOLS.md | Tool documentation |
| docs/INTEGRATIONS.md | VS Code & Claude setup |
| docs/USAGE_EXAMPLES.md | Detailed examples |
| docs/ORPHANED_RESOURCES.md | Orphaned resources guide |
| CHANGELOG.md | Version history |
MIT License - see LICENSE for details.
- Original Author: @charris-msft
- Current Maintainer: @msftnadavbh
- Contributors: @notoriousmic, @iditbnaya, @roy2392
- Model Context Protocol
- Azure Retail Prices API
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Made with ❤️ for the Azure community