Back to VM Explorer

MCP Server Guide

Connect your AI assistant to Azure VM Explorer and query VM pricing data with natural language.

What is MCP?

The Model Context Protocol (MCP) is an open standard that lets AI assistants call external tools. Azure VM Explorer exposes a public MCP server so assistants like GitHub Copilot (VS Code), Claude Desktop, and others can search, compare, and analyse Azure VM pricing on your behalf — no API key required.

Quick Start

1
VS Code / GitHub Copilot

Add the server to your workspace or user settings. Create or edit .vscode/mcp.json:

{
  "servers": {
    "azure-vm-explorer": {
      "type": "sse",
      "url": "https://azurevmlistbackendapi-gte7hkfcfpgha2c4.spaincentral-01.azurewebsites.net/runtime/webhooks/mcp/sse"
    }
  }
}

Reload the window after saving. Copilot Chat will auto-discover the tools.

2
Claude Desktop

Edit your claude_desktop_config.json and add:

{
  "mcpServers": {
    "azure-vm-explorer": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://azurevmlistbackendapi-gte7hkfcfpgha2c4.spaincentral-01.azurewebsites.net/runtime/webhooks/mcp/sse"
      ]
    }
  }
}

Requires Node.js installed. mcp-remote bridges remote HTTP servers to Claude's stdio transport.

3
Azure SRE Agent

The MCP server is compatible with Azure SRE Agent. Point the agent to the Streamable HTTP endpoint:

https://azurevmlistbackendapi-gte7hkfcfpgha2c4.spaincentral-01.azurewebsites.net/runtime/webhooks/mcp/sse

The server uses the Azure Functions MCP Extension with anonymous auth, so no API key is needed.

4
Try It

Ask your assistant something like:

  • "What are the 3 cheapest Linux VMs in West Europe with at least 4 cores?"
  • "Compare Standard_D4s_v3 and Standard_D4as_v5 pricing across all regions"
  • "Find the best VM for a small web server — 2 cores, 8 GB RAM, cheapest 1-year reservation"

Available Tools

get_vms

Search and filter VM sizes with pricing. Supports region, CPU architecture, core count, memory, sorting, and pagination.

find_cheapest_vm

Find the N cheapest VMs for a price type (PAYG, 1Y RI, 3Y RI) with optional feature constraints.

compare_vms

Side-by-side pricing comparison for up to 10 VM sizes across selected regions.

get_vm_price_history

Full price history for a specific VM in a specific region.

list_regions

Returns all Azure regions available in the database.

list_currencies

Returns all ISO 4217 currency codes supported for price conversion.

list_cpu_architectures

Returns all CPU architectures (x64, ARM64, etc.) present in the data.

Endpoint & Rate Limits

URL https://azurevmlistbackendapi-gte7hkfcfpgha2c4.spaincentral-01.azurewebsites.net/runtime/webhooks/mcp/sse
TransportServer-Sent Events (SSE) via Azure Functions MCP Extension
AuthPublic — no key required
Per-IP rate limit30 requests / minute
Global rate limit300 requests / minute (per instance)

Manual Test (cURL)

The endpoint uses the MCP Server-Sent Events transport, which keeps a long-lived connection open. A simple GET will print the initial endpoint event and then wait — that is the success signal. Use -N (no buffering) and -m 5 (max time) to disconnect after a few seconds:

curl -N -m 5 https://azurevmlistbackendapi-gte7hkfcfpgha2c4.spaincentral-01.azurewebsites.net/runtime/webhooks/mcp/sse

Expected output (the data: URL is a per-session message endpoint):

event: endpoint
data: message?azmcpcs=...session-token...

Full JSON-RPC tools/call testing requires a proper MCP client (VS Code, Claude Desktop, or mcp-remote) because requests must be POSTed to the session-bound message endpoint while the SSE stream stays open to receive the response.