The io.github.pmady/gpu-mcp-server is an MCP server that exposes NVIDIA GPU metrics as tools. It provides access to utilization, memory, temperature, and power, and it supports NVIDIA MIG (Multi-Instance GPU) for partitioned GPU monitoring.
🛠️ Key Features
NVIDIA GPU metrics tooling: utilization, memory, temperature, power
MIG support
🚀 Use Cases
Retrieve real-time GPU performance and health metrics via Model Context Protocol
Monitor partitioned workloads on MIG-enabled NVIDIA hardware
⚡ Developer Benefits
Integrates GPU observability into MCP-based agent or toolchains
Uses established NVIDIA monitoring data fields (utilization, memory, temperature, power)
⚠️ Limitations
Focused on NVIDIA GPU metrics and MIG; does not claim coverage for non-NVIDIA hardware
Note: the OpenSSF Best Practices questionnaire is in progress. Once the
project entry is registered at https://www.bestpractices.dev/en, swap the
static badge above for the live one:
[](https://www.bestpractices.dev/projects/<ID>)
An MCP server that exposes NVIDIA GPU metrics as tools.
Any MCP-compatible AI agent (Claude, Goose, Cursor, etc.) can query real-time GPU
utilization, memory, temperature, power, PCIe and NVLink throughput no Prometheus
or dcgm-exporter required.
All tools support MIG (Multi-Instance GPU) - MIG instances appear as separate
devices with their parent GPU's shared metrics (temperature, power, PCIe).
Sample output
Each tool returns structured JSON. The examples below show the shape of the
data an agent receives from a node with two NVIDIA A100 GPUs.
Requires Go 1.23+, CGO, and NVIDIA drivers on the target machine.
bash
make build # compile binary
make test# run tests (no GPU needed uses mock)
make lint # golangci-lint
make docker # container image
Tests use a mock collector, so they run anywhere no GPU hardware required.
Docker
Prebuilt multi-arch images (linux/amd64, linux/arm64) are published to GHCR on every release.
bash
docker pull ghcr.io/pmady/gpu-mcp-server:latest
docker run --rm -i --gpus all ghcr.io/pmady/gpu-mcp-server:latest
The host needs the NVIDIA Container Toolkit
installed for --gpus all to work. The server speaks MCP over stdio, so the
-i flag is required — don't drop it.
The server runs as a local process alongside the agent. It calls NVML directly
through cgo — no sidecar, no network hops, no metric pipeline to configure.