
Azure HPC/AI MCP Server
Enables users to query Azure HPC/AI Kubernetes clusters for GPU node information and InfiniBand topology details through kubectl commands. Provides tools to list GPU pool nodes with their status and retrieve network topology labels for high-performance computing workloads.
README
Azure HPC/AI MCP Server
A minimal Model Context Protocol (MCP) server tailored for Azure HPC/AI clusters. It provides tools that query Kubernetes for GPU node information using kubectl
. The server is implemented with fastmcp
and uses synchronous subprocess calls (no asyncio).
Tools
- list_nodes: Lists nodes in the GPU pool with name, labels, and Ready/NotReady status.
- get_node_topologies: Returns InfiniBand-related topology labels per node: agentpool, pkey, torset.
Both tools shell out to kubectl
and return JSON-serializable Python structures (lists of dicts).
Run the server
Prerequisites:
- Python 3.10+
- kubectl configured to access your cluster
Installation
It’s recommended to use a virtual environment.
Create and activate a venv (Linux/macOS):
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -U pip
Install dependencies with pip:
pip install -r requirements.txt
Notes:
- fastmcp is required to run the server and is installed via
requirements.txt
. Tests don’t need it (they stub it). - If fastmcp isn’t on PyPI for your environment, install it from its source per its documentation.
Run:
python server.py
The server runs over stdio for MCP hosts. You can connect to it with an MCP-compatible client or call the tools locally with the helper script below.
invoke_local helper
The invoke_local.py
script lets you execute server tools in-process without an MCP host. It discovers exported tools from server.py
, calls them synchronously, and prints pretty JSON.
Examples:
# List nodes
python invoke_local.py list_nodes
# Get IB topology labels
python invoke_local.py get_node_topologies
# Passing parameters (if a tool defines any):
python invoke_local.py some_tool --params '{"key":"value"}'
Implementation notes:
- No asyncio is used; tool functions call
subprocess.run
directly and return plain Python data. - The script unwraps simple function tools or FastMCP FunctionTool-like wrappers and invokes them with kwargs from
--params
when provided.
Tests
The tests are written with pytest
and exercise success and error paths without requiring a cluster.
Key points:
- subprocess-based: Tests monkeypatch
subprocess.run
to simulatekubectl
output and errors. There is no usage of asyncio in code or tests. - fastmcp-free: Tests inject a lightweight dummy
FastMCP
module so importingserver.py
does not require the real dependency. - Coverage: Both tools are validated for JSON parsing, Ready condition handling, missing labels, and
kubectl
failures.
Run tests:
python -m pip install -U pytest
pytest -q
Troubleshooting
- kubectl not found: Ensure
kubectl
is installed and on PATH for real runs. Tests do not require it. - No nodes returned: Confirm your label selectors match your cluster (tools currently expect GPU/IB labels used in Azure HPC/AI pools).
- fastmcp import error: Install
fastmcp
for runtime; tests provide a dummy stub so you can runpytest
without it.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.