claude-rocm-mcp
by LukeLamb
README.md
# Claude ROCm GPU Monitor
Read-only AMD GPU monitoring for [Claude Desktop](https://claude.ai/download) on Linux. Lets Claude answer questions like _"is my training run healthy?"_, _"how hot is the GPU?"_, _"how much VRAM is left?"_, and _"which process is using the card?"_ — all without the ability to kill processes, change clocks, or otherwise perturb a running workload.
It shells out to `rocm-smi` (and optionally `amdgpu_top`) and exposes five strictly read-only tools. No process killing, no clock/power overrides, no fan control. For those, use a tool like [gpu-kill](https://github.com/treadiehq/gpu-kill).
## Requirements
- **Linux** with an AMD GPU (RDNA2/3/4 consumer cards — RX 6000/7000/9000, R9700 — and CDNA data-center cards).
- **`amdgpu` kernel module** loaded (standard on modern Ubuntu/Debian/Fedora).
- **`rocm-smi` installed:**
```bash
sudo apt install rocm-smi # minimal
# or a full ROCm stack:
# https://rocm.docs.amd.com/projects/install-on-linux/
```
Some metrics (clocks, power, detailed temperatures) require newer ROCm releases. If a metric isn't supported by your card/driver, the tool returns it as `null` rather than failing.
## Install (Claude Desktop)
1. Download the latest `ROCm.mcpb` from the [Releases](https://github.com/LukeLamb/claude-rocm-mcp/releases) page.
2. In Claude Desktop, open **Settings → Extensions**.
3. Scroll to **Extension Developer** at the bottom, click **Install Extension**, and pick the `.mcpb` file.
4. Enable the extension. The tools appear prefixed with `rocm-gpu-monitor:` in Claude's tool picker.
## Tools
| Tool | What it does |
|---|---|
| `gpu_status` | One-shot summary: name, utilization %, VRAM used/total, temps (edge/junction/memory), power avg/max, fan %/RPM. |
| `gpu_metrics` | Full `rocm-smi -a --json` dump — clocks, voltages, PCIe link, firmware versions, per-engine activity. |
| `gpu_processes` | Compute processes using the GPU (KFD PIDs) with VRAM usage and card index. |
| `gpu_watch` | Take N samples at a fixed interval and return raw frames plus per-card min/max/avg stats. |
| `rocm_info` | Installed ROCm/HIP packages, driver version, `amdgpu` module load status, `amdgpu_top` availability. |
All tools carry the MCP `readOnlyHint: true` / `destructiveHint: false` / `openWorldHint: false` annotations.
## Example prompts
> _"Is my training run stable? Watch the GPU for 20 seconds."_
>
> _"How much VRAM is my current PyTorch process using?"_
>
> _"Is the GPU thermal-throttling? What's the junction temperature?"_
>
> _"What ROCm version is installed and is the driver loaded?"_
## Privacy policy
This extension runs entirely on your local machine and shells out only to the following programs, always read-only:
- `rocm-smi` — queries the AMD kernel driver for device metrics.
- `amdgpu_top` (if installed) — optional richer metrics.
- `dpkg -l` — enumerates installed ROCm-related packages by name/version.
- `lsmod` — checks whether the `amdgpu` kernel module is loaded.
- `which` — locates the above binaries at startup.
**No data leaves your machine.** This extension performs no network I/O, opens no sockets, and writes no files outside of standard process stdout/stderr (captured by Claude Desktop's log directory). It cannot modify GPU state (clocks, power, fan), kill processes, or otherwise perturb a running workload — every tool is strictly read-only.
The information visible to Claude includes GPU model and firmware versions, current VRAM usage, temperature/clock/power readings, running GPU-using process PIDs and their VRAM usage, and a list of installed ROCm-related packages. If you consider any of that sensitive (for example the list of running process PIDs on a shared machine), do not enable this extension.
## Troubleshooting
**"rocm-smi is not installed"** — install it (`sudo apt install rocm-smi`). If you're using a non-Debian distro, follow AMD's ROCm install instructions.
**Many fields come back as `null` on a new GPU** — some metrics (clocks, power, temperature) depend on firmware support exposed through `rocm-smi`. On very new cards (e.g. RDNA4/R9700), individual `rocm-smi --showclocks`/`--showpower` may report "No JSON data to report" even though `-a --json` returns the data. This extension uses `-a --json` as the primary source to maximize coverage. If a specific field is unsupported on your card, it'll be `null` rather than an error.
**Permission errors** — `rocm-smi` normally runs without root. If you see permission errors, check that the user running Claude Desktop is in the `render` and `video` groups:
```bash
sudo usermod -aG render,video $USER
# log out and back in
```
## Development
The server is a single ~300-line Node.js script with zero npm dependencies. To rebuild the `.mcpb`:
```bash
cd bundle-source
zip -j ../ROCm.mcpb manifest.json package.json server.js README.md LICENSE icon.png
```
## License
MIT. See [LICENSE](LICENSE).
## Related
- [claude-terminal-mcp](https://github.com/LukeLamb/claude-terminal-mcp) — shell, filesystem, and background jobs.
- [claude-linux-mcp](https://github.com/LukeLamb/claude-linux-mcp) — X11 desktop control (screenshot, mouse, keyboard, windows, clipboard).
TDQS
A4.3/5.0
Scored across 5 tools
Disambiguation5/5
Each tool serves a distinct purpose: raw metrics, summary status, process listing, time-series snapshots, and install health check. No overlap in functionality.
Naming Consistency5/5
All tool names follow a consistent snake_case pattern with a clear noun-based prefix (gpu_ or rocm_), making them predictable and easy to distinguish.
Tool Count5/5
Five tools is appropriate for a monitoring-focused server, covering essential needs without being excessive or insufficient.
Completeness4/5
The tool set covers core monitoring, process insight, and installation health, but lacks a way to reset or configure GPU parameters, though that may be out of scope.
Maintenance
ActivityInactive
ResponsivenessNo issues