Azure Pricing MCP Server π°
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.
π Quick Start
Then configure your AI assistant (VS Code, Claude Desktop, etc.) to use the MCP server.
β¨ Features
Feature | Description |
π Price Search | Search Azure prices with filters (service, region, SKU, price type) |
βοΈ Price Comparison | Compare costs across regions or between different SKUs |
π‘ Cost Estimation | Calculate monthly/yearly costs based on usage hours |
π° Savings Plans | View 1-year and 3-year savings plan pricing |
π― Smart SKU Discovery | Fuzzy matching for service names ("vm" β "Virtual Machines") |
π Multi-Currency | Support for USD, EUR, GBP, and more |
π Real-time Data | Live data from Azure Retail Prices API |
π·οΈ Customer Discounts | Apply discount percentages to all pricing queries |
π οΈ Available Tools
Tool | Description |
| Search Azure retail prices with flexible filtering |
| Compare prices across regions or SKUs |
| Estimate costs based on usage patterns |
| List available SKUs for a specific service |
| Intelligent SKU discovery with fuzzy name matching |
| Get customer discount information |
π Installation
Prerequisites
Python 3.10+
pip (Python package manager)
Option 1: Automated Setup
Option 2: Manual Setup
Dependencies
π₯οΈ VS Code Integration
Step 1: Install GitHub Copilot
Ensure you have the GitHub Copilot extension installed.
Step 2: Configure MCP Server
Create or edit .vscode/mcp.json in your workspace:
Windows users: Use the full path with forward slashes or escaped backslashes:
"command": "C:/path/to/azure-pricing-mcp/.venv/Scripts/python.exe"
Step 3: Restart MCP Server
Open Command Palette (
Ctrl+Shift+P/Cmd+Shift+P)Run: MCP: List Servers
Click the refresh/restart button next to
azure-pricing
Step 4: Use in Copilot Chat
Open Copilot Chat and ask:
You'll see the MCP tools being invoked with real Azure pricing data!
π€ Claude Desktop Integration
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
π¬ Example Queries
Once configured, ask your AI assistant:
Query Type | Example |
Basic Pricing | "What's the price of a D4s_v3 VM in West US 2?" |
Multi-Node | "Price for 20 Standard_D32s_v6 nodes in East US 2" |
Comparison | "Compare VM prices between East US and West Europe" |
Cost Estimate | "Estimate monthly cost for D8s_v5 running 12 hours/day" |
SKU Discovery | "What App Service plans are available?" |
Savings Plans | "Show savings plan options for virtual machines" |
Storage | "What are the blob storage pricing tiers?" |
Sample Response
π§ͺ Testing
Verify Installation
Test MCP Connection in VS Code
Open Command Palette β MCP: List Servers
Verify
azure-pricingshows 6 toolsOpen Copilot Chat and ask a pricing question
π€ Contributing
We welcome contributions! Here's how to get started:
Development Setup
Contribution Guidelines
Fork the repository
Create a branch for your feature (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add amazing feature')Push to your branch (
git push origin feature/amazing-feature)Open a Pull Request
Code Style
Follow PEP 8 guidelines
Add type hints for function parameters and return values
Include docstrings for public functions
Test your changes before submitting
Ideas for Contributions
Add support for Azure Reserved Instances pricing
Implement caching for frequently requested prices
Add more currency support
Create unit tests for all tools
Add support for Azure Government/China regions
Implement price alerts/notifications
π Project Structure
π API Reference
This server uses the Azure Retail Prices API:
No authentication required - The Azure Retail Prices API is publicly accessible.
π Additional Documentation
QUICK_START.md - Step-by-step setup guide
USAGE_EXAMPLES.md - Detailed usage examples and API responses
config_examples.json - Example configurations
β οΈ Troubleshooting
Tools not appearing in VS Code
Check Python syntax: Ensure no syntax errors in
azure_pricing_server.pyVerify path: Use absolute paths in
.vscode/mcp.jsonRestart server: Command Palette β MCP: List Servers β Restart
"No module named 'mcp'"
Connection errors
Check your internet connection
The Azure Pricing API may rate-limit requests (automatic retry is built-in)
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Acknowledgments
Original Author: @charris-msft
Current Maintainer + Version 2.0: @msftnadavbh
Model Context Protocol - The protocol that makes this possible
Azure Retail Prices API - Microsoft's public pricing API
Contributors and the open-source community
π¬ Support
Issues: GitHub Issues
Discussions: GitHub Discussions
This server cannot be installed