GPU Manager MCP
Provides read-only discovery and monitoring of AMD GPUs via amdgpu sysfs/hwmon and rocm-smi fallback, including utilization, VRAM, temperature, power, clocks, and process data where available.
Provides read-only discovery and monitoring of Intel GPUs via i915/xe sysfs and hwmon, covering utilization, temperature, power, and clocks where available; VRAM metrics are reported as unavailable.
Provides read-only discovery and monitoring of NVIDIA GPUs via NVML/pynvml and nvidia-smi fallback, including utilization, VRAM, temperature, power, clocks, and processes where available.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GPU Manager MCPWill a 7B q4 model with 4k context fit in my GPU's free VRAM?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
GPU Manager MCP
Read-only GPU monitoring and AI-workload planning over the Model Context Protocol. One stdio server, any MCP client, no LLM required.
Discover NVIDIA, AMD and Intel GPUs, watch utilization / VRAM / temperature / power / clocks, keep bounded local history in SQLite, and estimate whether your LLM actually fits before you load it.
Cross-platform backends — NVML (via
pynvml) andnvidia-smifor NVIDIA; amdgpu sysfs (no ROCm needed) androcm-smifallback for AMD; i915/xe sysfs for Intel.Honest telemetry — every reading carries a timestamp, unit and source. Unsupported sensors are reported as
available: falsewith a reason, never silently zeroed.Read-only by design — no shell tool, no overclocking, no voltage, no fan control, no process termination. External helpers run from a fixed allowlist with timeouts and no shell interpolation.
AI-aware —
estimate_model_fit()computes weights + runtime overhead + KV-cache needs for a given quantization, context length and parallel request count, then checks it against live free VRAM.
Installation
pip install gpu-manager-mcp # (once published; see below)
# or from source
git clone https://github.com/quxlzx/gpu-manager-mcp
cd gpu-manager-mcp
python -m venv .venv && .venv/bin/pip install -e .Optional NVIDIA NVML bindings (recommended on NVIDIA hosts):
pip install "gpu-manager-mcp[nvidia]" # or: pip install nvidia-ml-pyRequirements: Python 3.11+. Linux is fully supported; on Windows the AMD backend is not yet implemented (see Known limitations).
Related MCP server: MCP System Info Server
Supported GPUs
Vendor | Path | Util | VRAM | Temp | Power | Clocks | Processes |
NVIDIA (GeForce/Quadro/RTX/Tesla) | NVML ( | ✅ | ✅ | ✅ | ✅* | ✅* | ✅* |
NVIDIA (fallback) |
| ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
AMD (Linux, amdgpu driver) | sysfs + hwmon | ✅* | ✅ | ✅* | ✅* | ✅* | via |
Intel (Linux, i915/xe) | sysfs + hwmon | ✅* | ❌ | ✅* | ✅* | ✅* | ❌ |
✅* = depends on card/driver; unavailable sensors are reported with the
driver's own error, not guessed.
Connecting an MCP client
Generic stdio configuration (any MCP client):
{
"mcpServers": {
"gpu-manager": {
"command": "/path/to/.venv/bin/gpu-manager-mcp",
"args": ["stdio"]
}
}
}Hermes Agent (~/.hermes/config.yaml):
mcp_servers:
gpu-manager:
command: /path/to/.venv/bin/gpu-manager-mcp
args: ["stdio"]
timeout: 60Claude Desktop / Cursor / Cline: same command + args shape as above.
Tools
Discovery: list_gpus, get_gpu_info, get_system_gpu_summary
Monitoring: get_gpu_utilization, get_gpu_memory, get_gpu_temperature,
get_gpu_power, get_gpu_clocks, get_gpu_processes,
get_all_gpu_metrics
History: get_gpu_history, get_gpu_peak_usage, get_gpu_health
AI planning: estimate_model_fit, recommend_gpu_for_model,
find_available_gpu, compare_gpus, detect_gpu_bottleneck
Always call list_gpus() first — every other tool takes a gpu_id from it.
Example
estimate_model_fit(gpu_id="amd-0000:03:00.0", model_size_b=7, quantization="q4", context_length=4096, parallel_requests=1, architecture="qwen2-7b") — real output from an 8 GiB RX 6600 XT:
{
"gpu_id": "amd-0000:03:00.0",
"available": true,
"weights_gib": 3.26,
"runtime_overhead_gib": 0.5,
"kv_cache_gib_per_request": 0.22,
"total_gib": 3.98,
"vram_total_gib": 7.98,
"vram_free_gib": 7.97,
"fits": true,
"headroom_gib": 3.99,
"assumptions": ["runtime overhead = max(0.5 GiB, 5% of weights)",
"KV cache from architecture 'qwen2-7b'"],
"warnings": []
}A metric that the hardware cannot provide looks like:
{
"available": false,
"reason": "sensor busy — the GPU power management interface refused the read (common when the card is in a low-power state)",
"source": "amd-sysfs"
}Configuration
Environment variables (all optional):
Variable | Default | Meaning |
|
| background sampling period (s) |
|
| history window kept |
|
| hard row cap (bounded storage) |
|
| SQLite location |
|
| telemetry cache TTL (s) for <250 ms repeat queries |
|
| timeout for allowlisted helper CLIs |
|
| enable Streamable HTTP transport |
|
| loopback-only HTTP bind |
Security guidance
The server exposes monitoring only. There is no tool that executes arbitrary commands, changes clocks/fans/voltages, or kills processes.
Helper CLIs (
nvidia-smi,rocm-smi,intel_gpu_top) are invoked from a fixed allowlist with argument arrays and timeouts — never via a shell and never with user-supplied strings.gpu_idvalues are validated against discovered devices; unknown or crafted ids are rejected with a clean error.The optional HTTP transport binds to loopback by default and refuses non-loopback hosts unless you explicitly change it — and you should not, without adding authentication in front of it. Do not expose this server to the public internet.
History is local SQLite with a bounded row cap; nothing leaves the machine.
Known limitations
Windows: AMD telemetry via sysfs is Linux-only; a Windows backend is planned (AMD-ADL / PDH or
amdsmibindings). The server runs on Windows but will report no AMD devices.AMD hwmon reads can return EBUSY when the card is in a low-power state; the reading is reported as unavailable with that explanation.
Intel VRAM is not exposed by i915/xe sysfs; memory metrics are reported unavailable rather than estimated.
KV-cache estimates are architecture-dependent. Without an
architecturehint the server uses documented default assumptions and flags them. Treat all fit numbers as engineering estimates.Per-process VRAM requires NVML or
rocm-smi; plain sysfs cannot provide it.
Troubleshooting
No GPUs found on Linux — check
/sys/class/drm/card*/device/vendorexists and the driver isamdgpu/i915/xe; NVIDIA needs the proprietary driver +nvidia-ml-pyornvidia-smion PATH.sensor busyon AMD — normal at idle on some cards; retry under load or checkpower_statein sysfs.Permission denied — NVML on some setups needs root or
CAP_SYS_ADMIN; sysfs sensors are world-readable on standard distros.History empty — the sampler runs inside the server process; give it a few sample intervals, or call
get_all_gpu_metrics()to force samples.
Development
pip install -e ".[dev]"
pytest # unit + MCP client tests (mocked hardware)
ruff check src tests
mypy src
python -m build # package validationLicense
MIT — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Persistent memory, knowledge graph, task management and more for AI agents via MCP.
Massed Compute MCP — GPU inventory, VM lifecycle, billing, SSH keys, and setup recipes.
Live GPU rental market: 2,500+ offers across a dozen provider feeds. History, watches, limit orders.
Protocol-native energy infrastructure orchestration for AI data centers. Provides 46 MCP tools across 8 grid protocols (IEC-61850, DNP3, Modbus, OCPP, OpenADR, IEEE 2030.5, IEC 60870-5-104, ICCP) with 5 core API primitives: connect, dispatch, settle, comply, and intel. Enables AI agents to programmatically interact with substations, grid interfaces, and energy assets for real-time workload-grid coordination.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables real-time monitoring of system resources including CPU, GPU (NVIDIA, Apple Silicon, AMD/Intel), memory, disk, network, and processes across Windows, macOS, and Linux platforms through natural language queries.3MIT
- FlicenseBqualityDmaintenanceA lightweight MCP server that provides real-time hardware statistics including CPU, memory, disk, and NVIDIA GPU usage. It enables users to monitor system performance and retrieve comprehensive host machine specifications through a standardized interface.1-
- AlicenseAqualityCmaintenanceExposes NVIDIA GPU metrics (info, utilization, VRAM, temperature) via MCP tools for real-time querying from AI assistants.545 PyPIMIT
- AlicenseNot gradedqualityAmaintenanceAn MCP server that enables AI agents to query real-time NVIDIA GPU metrics like utilization, memory, temperature, and power without external monitoring tools.15Apache 2.0