home / mcp / azure hpc mcp server

Azure HPC MCP Server

Queries the cluster for GPU nodes and InfiniBand topology, exposing tools via an MCP server.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "edwardsp-mcpserver": {
      "command": "python",
      "args": [
        "server.py"
      ],
      "env": {
        "PYTHONUNBUFFERED": "1"
      }
    }
  }
}

This MCP server provides targeted probes for Azure HPC/AI clusters. It queries Kubernetes GPU node information using kubectl and exposes two tools: one to list GPU nodes with their status and labels, and another to fetch InfiniBand topology labels per node. Built with fastmcp and designed for synchronous operation, it lets you explore cluster resources from your MCP client or locally via a helper utility.

How to use

You access the available tools from an MCP client or run them locally to gather GPU node information and InfiniBand topology labels. The two tools are:

- list_nodes — returns the GPU pool nodes with name, labels, and Ready/NotReady status. You can use this to verify which nodes are available for workloads and to inspect their labels for scheduling decisions. - get_node_topologies — returns InfiniBand-related topology labels per node, including agentpool, pkey, and torset. This helps you understand hardware topology for high-performance communication patterns.

Run tools locally without an MCP host by using the invoke_local helper. This discovers exported tools from the server, executes them synchronously, and prints nicely formatted JSON.

How to run tools locally

python invoke_local.py list_nodes
python invoke_local.py get_node_topologies
python invoke_local.py some_tool --params '{"key":"value"}'

Available tools

list_nodes

Lists GPU pool nodes with their name, labels, and Ready/NotReady status.

get_node_topologies

Returns InfiniBand-related topology labels per node: agentpool, pkey, torset.