Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Azure Pricing MCP Servercompare D4s v4 VM costs between East US and West Europe"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 |
π« Reserved Instances | Compare 1-year and 3-year RI pricing with break-even analysis |
π° Savings Plans | View 1-year and 3-year savings plan pricing |
π― Smart SKU Discovery | Fuzzy matching for service names ("vm" β "Virtual Machines") |
π Region Recommendations | Find the cheapest Azure regions for any SKU with savings analysis |
π± 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 |
β οΈ Retirement Warnings | Automatic alerts for retiring/retired VM SKUs with migration guidance |
π³ Docker Support | Run in containers for easy deployment and isolation |
π οΈ Available Tools
Tool | Description |
| Search Azure retail prices with flexible filtering |
| Compare prices across regions or SKUs |
| Get Reserved Instance pricing and savings analysis |
| Estimate costs based on usage patterns |
| Find cheapest regions for a SKU with savings percentages |
| List available SKUs for a specific service |
| Intelligent SKU discovery with fuzzy name matching |
| Get customer discount information |
π Installation
π New to setup? Check out INSTALL.md for detailed instructions or SETUP_CHECKLIST.md for a step-by-step checklist!
π³ Prefer Docker? See DOCKER.md for containerized deployment!
Prerequisites
Python 3.10+ (or Docker for containerized deployment)
pip (Python package manager)
Option 1: Docker (Easiest)
Option 2: Automated Setup
Option 3: Manual Setup
π₯οΈ 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:
Option A: Using Python Virtual Environment
Windows users: Use the full path with forward slashes or escaped backslashes:
"command": "C:/Users/YourUsername/Projects/AzurePricingMCP/.venv/Scripts/python.exe"
Option B: Using Docker (stdio) π³
Option C: Using Docker (SSE - Server-Sent Events) π³
Then configure .vscode/mcp.json:
π‘ SSE Benefits: Better isolation through Docker, allows multiple clients to connect to the same server instance, and easier to debug with HTTP endpoints.
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
Option A: Using Python
Option B: Using Docker π³
π¬ 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
β οΈ Retirement Status Warnings
The server automatically checks VM SKUs against Microsoft's official retirement documentation and warns you when querying SKUs that are:
Status | Icon | Description |
Retirement Announced | β οΈ | SKU has a planned retirement date - migrate soon |
Retired | π« | SKU is no longer available for new deployments |
Previous Generation | βΉοΈ | Newer versions available - consider upgrading |
Example Warning Output
The retirement data is fetched dynamically from Microsoft's official documentation and cached for 24 hours.
π§ͺ Testing
Verify Installation
Test MCP Connection in VS Code
Open Command Palette β MCP: List Servers
Verify
azure-pricingshows 8 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
Run
black,ruff, andmypybefore submittingTest your changes with
pytest tests/
π 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
INSTALL.md - Detailed installation instructions
DOCKER.md - Docker containerization guide π³
USAGE_EXAMPLES.md - Detailed usage examples and API responses
SETUP_CHECKLIST.md - Installation verification checklist
β οΈ Troubleshooting
Tools not appearing in VS Code
Check Python syntax: Run
python -m azure_pricing_mcpto check for errorsVerify 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.3: @msftnadavbh
Contributors:
@notoriousmic - Testing infrastructure and best practices
Model Context Protocol - The protocol that makes this possible
Azure Retail Prices API - Microsoft's public pricing API
All open-source contributors
π¬ Support
Issues: GitHub Issues
Discussions: GitHub Discussions