GPU MCP Server

io.github.pmadyPublished by GitHub account pmadyv0.1.0Updated Oct 24, 2026

NVIDIA GPU metrics as MCP tools — utilization, memory, temperature, power. Supports MIG.

Overview

AI-generated overview

Local MCP server that exposes NVIDIA GPU metrics — utilization, memory, temperature, power, PCIe and NVLink — as tools for an AI assistant.

What you can do
  • List GPUs with utilization and memory information
  • Read detailed metrics for one GPU by index or UUID, including temperature, power, PCIe and NVLink throughput
  • Show PID-level GPU process attribution
  • Aggregate statistics across all devices
  • Report MIG instances as separate devices with their parent GPU's shared metrics
When to use it
Useful when an assistant needs to inspect the GPU hardware of the machine it runs on — checking utilization, memory pressure, temperature or power draw, or attributing GPU usage to processes — without setting up Prometheus or dcgm-exporter.
Requirements
Runs as a local stdio process on a machine with NVIDIA GPUs and drivers. The prebuilt container image needs the NVIDIA Container Toolkit and the --gpus all flag; building from source needs Go 1.23+, CGO and NVML headers on Linux. No accounts, API keys or environment variables are declared.
Before you install
The process attribution tool exposes PID-level information about what is running on the host, so results may reveal other users' workloads. The server is read-only metrics reporting; it does not change GPU state. Pin a specific image tag rather than latest.

Installation

In SourceWeft

  1. Open GPU MCP Server in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

gpu-mcp-server

[CI] [Helm] [Go Report Card] [Go Reference] [License] [DOI] [OpenSSF Scorecard] [OpenSSF Best Practices]

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: [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/<ID>/badge)](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.

Built on the official Go MCP SDK and NVIDIA go-nvml.

Tools

ToolDescription
list_gpusList all GPUs with utilization and memory info
get_gpu_metricsDetailed metrics for a GPU by index or UUID
get_gpu_processesPID-level GPU process attribution
gpu_summaryAggregate stats across all devices

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.

list_gpus:

json
{  "count": 2,  "devices": [    {      "index": 0,      "uuid": "GPU-aaaa-1111",      "name": "NVIDIA A100-SXM4-80GB",      "gpu_utilization_percent": 85,      "memory_used_mib": 57344,      "memory_total_mib": 81920    },    {      "index": 1,      "uuid": "GPU-bbbb-2222",      "name": "NVIDIA A100-SXM4-80GB",      "gpu_utilization_percent": 20,      "memory_used_mib": 12288,      "memory_total_mib": 81920    }  ]}

get_gpu_metrics (with {"index": 0} or {"uuid": "GPU-aaaa-1111"}):

json
{  "index": 0,  "uuid": "GPU-aaaa-1111",  "name": "NVIDIA A100-SXM4-80GB",  "gpu_utilization_percent": 85,  "memory_utilization_percent": 70,  "memory_used_mib": 57344,  "memory_total_mib": 81920,  "temperature_celsius": 72,  "power_draw_watts": 300,  "power_limit_watts": 400,  "pcie_tx_kbps": 0,  "pcie_rx_kbps": 0,  "nvlink_tx_mbps": 0,  "nvlink_rx_mbps": 0}

gpu_summary:

json
{  "device_count": 2,  "avg_gpu_utilization": 52.5,  "avg_memory_utilization": 42.5,  "total_memory_used_mib": 69632,  "total_memory_total_mib": 163840,  "max_temperature_celsius": 72,  "total_power_draw_watts": 375}

MIG instances add is_mig, parent_gpu, and mig_profile fields to the get_gpu_metrics and list_gpus payloads.

Quick start

bash
# build (requires CGO + NVML headers on Linux)make build
# run the server communicates over stdio./gpu-mcp-server

Claude Desktop

Add to claude_desktop_config.json:

json
{  "mcpServers": {    "gpu": {      "command": "/path/to/gpu-mcp-server"    }  }}

Goose

yaml
extensions:  gpu-metrics:    type: stdio    cmd: /path/to/gpu-mcp-server

Cursor

Add to .cursor/mcp.json for a project, or ~/.cursor/mcp.json for all projects:

json
{  "mcpServers": {    "gpu": {      "type": "stdio",      "command": "/path/to/gpu-mcp-server"    }  }}

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

json
{  "mcpServers": {    "gpu": {      "command": "/path/to/gpu-mcp-server"    }  }}

Build

Requires Go 1.23+, CGO, and NVIDIA drivers on the target machine.

bash
make build       # compile binarymake test        # run tests (no GPU needed uses mock)make lint        # golangci-lintmake 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:latestdocker 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.

json
{  "mcpServers": {    "gpu": {      "command": "docker",      "args": ["run", "--rm", "-i", "--gpus", "all", "ghcr.io/pmady/gpu-mcp-server:latest"]    }  }}

Pin a specific version via tag instead of :latest, e.g. ghcr.io/pmady/gpu-mcp-server:v0.1.0.

Architecture

Agent (Claude/Goose) ─── MCP (stdio) ──→ gpu-mcp-server ──→ NVML ──→ GPU                                              │                                         Tools:                                         • list_gpus                                         • get_gpu_metrics                                         • gpu_summary

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.

Project info

Citing

If you use gpu-mcp-server in your research or writing, please cite it via its DOI. Full citation metadata is in CITATION.cff.

bibtex
@software{madduri_gpu_mcp_server,  author    = {Madduri, Pavan},  title     = {gpu-mcp-server: NVIDIA GPU metrics for AI agents over the Model Context Protocol},  year      = {2026},  publisher = {Zenodo},  doi       = {10.5281/zenodo.22866670},  url       = {https://doi.org/10.5281/zenodo.22866670}}

Roadmap

See ROADMAP.md for the 12-month public roadmap.

Contributing

See CONTRIBUTING.md for how to get involved.

Contributors

Thanks to all our contributors! Add yourself via PR.

Governance

This project follows Linux Foundation Minimum Viable Governance.

Documentation

Star History

[Star History Chart]

Source: README.md at commit 58306b7

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts