Skip to main content
Glama

Azure Pricing MCP Server

by msftnadavbh
find_app_service.pyβ€’5.45 kB
#!/usr/bin/env python3 """ Find the correct App Service name in Azure Pricing API """ import asyncio import sys sys.path.insert(0, r'c:\git\mcp\azure_pricing') from azure_pricing_server import AzurePricingServer async def find_app_service(): """Search for App Service using different name variations.""" print("πŸ” Finding App Service in Azure Pricing API...") print("=" * 50) async with AzurePricingServer() as server: # Try different service name variations service_variations = [ 'App Service', 'Azure App Service', 'Web App', 'App Services', 'Azure Web Apps' ] print('\n1. Testing different service names:') for service in service_variations: result = await server.search_azure_prices(service_name=service, limit=5) print(f' β€’ {service}: {result["count"]} results') # Search by service family print('\n2. Searching by service family "Web":') result = await server.search_azure_prices(service_family='Web', limit=10) print(f' β€’ Web family: {result["count"]} results') if result['items']: print(' Sample Web services found:') services = set() for item in result['items'][:5]: service_name = item.get('serviceName', 'Unknown') product_name = item.get('productName', 'Unknown') services.add(f'{service_name} ({product_name})') for service in sorted(services): print(f' β€’ {service}') # Try broader search for anything with 'app' in the name print('\n3. Searching for services containing "app":') result = await server.search_azure_prices(limit=200) # Get more results app_services = {} for item in result['items']: service_name = item.get('serviceName', '') product_name = item.get('productName', '') sku_name = item.get('skuName', '') # Look for app-related services if any(keyword in text.lower() for text in [service_name, product_name, sku_name] for keyword in ['app', 'web', 'function']): key = f'{service_name}' if key not in app_services: app_services[key] = { 'service_name': service_name, 'products': set(), 'skus': set() } app_services[key]['products'].add(product_name) app_services[key]['skus'].add(sku_name) print(f' Found {len(app_services)} app-related services:') for service_key, service_data in sorted(app_services.items()): if service_data['service_name'].strip(): # Skip empty names print(f'\n πŸ”· {service_data["service_name"]}') print(f' Products: {len(service_data["products"])}') print(f' SKUs: {len(service_data["skus"])}') # Show sample products and SKUs sample_products = list(service_data['products'])[:3] sample_skus = list(service_data['skus'])[:5] if sample_products: print(f' Sample products: {", ".join(sample_products)}') if sample_skus: print(f' Sample SKUs: {", ".join(sample_skus)}') async def test_specific_services(): """Test specific service names that might be App Service.""" print("\n4. Testing specific Azure service names:") print("-" * 40) async with AzurePricingServer() as server: # Test service names that might contain App Service test_services = [ "Azure Functions", "Logic Apps", "API Management", "Container Apps", "Static Web Apps" ] for service in test_services: result = await server.search_azure_prices(service_name=service, limit=10) print(f' β€’ {service}: {result["count"]} results') if result['items'] and result['count'] > 0: # Show sample SKUs skus = set() for item in result['items'][:5]: sku = item.get('skuName', 'Unknown') skus.add(sku) if skus: print(f' Sample SKUs: {", ".join(sorted(skus))}') async def main(): """Main function.""" print("πŸš€ Azure App Service Discovery") print("πŸ—“οΈ Date: June 12, 2025") print("🎯 Goal: Find App Service SKUs in Azure Pricing API") try: await find_app_service() await test_specific_services() print("\nβœ… Search completed!") print("\nπŸ’‘ Next steps:") print("β€’ Check if App Service might be under 'Azure Functions' or another name") print("β€’ App Service plans might be listed under a different service category") print("β€’ Some Azure services may not be in the retail pricing API") except Exception as e: print(f"\n❌ Error: {e}") import traceback traceback.print_exc() if __name__ == "__main__": asyncio.run(main())

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/msftnadavbh/AzurePricingMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server