Connect your AI assistant to Azure VM Explorer and query VM pricing data with natural language.
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.
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.
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.
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.
Ask your assistant something like:
get_vmsSearch and filter VM sizes with pricing. Supports region, CPU architecture, core count, memory, sorting, and pagination.
find_cheapest_vmFind the N cheapest VMs for a price type (PAYG, 1Y RI, 3Y RI) with optional feature constraints.
compare_vmsSide-by-side pricing comparison for up to 10 VM sizes across selected regions.
get_vm_price_historyFull price history for a specific VM in a specific region.
list_regionsReturns all Azure regions available in the database.
list_currenciesReturns all ISO 4217 currency codes supported for price conversion.
list_cpu_architecturesReturns all CPU architectures (x64, ARM64, etc.) present in the data.
| URL | https://azurevmlistbackendapi-gte7hkfcfpgha2c4.spaincentral-01.azurewebsites.net/runtime/webhooks/mcp/sse |
|---|---|
| Transport | Server-Sent Events (SSE) via Azure Functions MCP Extension |
| Auth | Public — no key required |
| Per-IP rate limit | 30 requests / minute |
| Global rate limit | 300 requests / minute (per instance) |
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.