关于 GPU MCP Server
GPU MCP Server 将 NVIDIA GPU 指标作为工具提供给兼容 MCP 的 Agent,可查询单卡及汇总数据,并支持 MIG 实例。
主要功能
- 01GPU 利用率和显存指标
- 02温度、功耗、PCIe 与 NVLink 数据
- 03按索引或 UUID 查询单卡详情
- 04按 PID 归属 GPU 进程
- 05跨设备汇总指标
- 06支持 MIG 实例
适用场景
- 01检查 Agent 任务期间的 GPU 利用率
- 02识别占用 GPU 资源的进程
- 03查看多块 GPU 的指标汇总
MCP 相关
它提供 MCP 工具,用于列出 GPU、获取详细指标、归属进程及查看汇总统计。通过 stdio 通信。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm ghcr.io/pmady/gpu-mcp-server:v0.1.0本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/pmady/gpu-mcp-server:v0.1.0stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
gpu-mcp-server
注意: OpenSSF Best Practices 问卷正在填写中。项目在 https://www.bestpractices.dev/en 注册后,将上方的静态徽章替换为实时徽章:
[](https://www.bestpractices.dev/projects/<ID>)
一个 MCP 服务,可将 NVIDIA GPU 指标作为工具提供。 任何兼容 MCP 的 AI Agent(Claude、Goose、Cursor 等)都可以查询 GPU 的实时利用率、内存、温度、功耗、PCIe 和 NVLink 吞吐量,无需 Prometheus 或 dcgm-exporter。
基于 官方 Go MCP SDK 和 NVIDIA go-nvml 构建。
工具
| 工具 | 描述 |
|---|---|
list_gpus | 列出所有 GPU 的利用率和内存信息 |
get_gpu_metrics | 按索引或 UUID 获取 GPU 的详细指标 |
get_gpu_processes | 按 PID 归属 GPU 进程 |
gpu_summary | 汇总所有设备的统计信息 |
所有工具均支持 MIG(Multi-Instance GPU)——MIG 实例会作为独立设备显示,并共享其父 GPU 的指标(温度、功耗、PCIe)。
示例输出
每个工具都会返回结构化 JSON。以下示例展示了 Agent 从一台配备两块 NVIDIA A100 GPU 的节点接收的数据格式。
list_gpus:
{
"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(使用 {"index": 0} 或 {"uuid": "GPU-aaaa-1111"}):
{
"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:
{
"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 实例会在 get_gpu_metrics 和 list_gpus 的负载中添加 is_mig、parent_gpu 和 mig_profile 字段。
快速开始
# build (requires CGO + NVML headers on Linux)
make build
# run the server communicates over stdio
./gpu-mcp-server
Claude Desktop
添加到 claude_desktop_config.json:
{
"mcpServers": {
"gpu": {
"command": "/path/to/gpu-mcp-server"
}
}
}
Goose
extensions:
gpu-metrics:
type: stdio
cmd: /path/to/gpu-mcp-server
Cursor
项目配置添加到 .cursor/mcp.json,或将所有项目的配置添加到 ~/.cursor/mcp.json:
{
"mcpServers": {
"gpu": {
"type": "stdio",
"command": "/path/to/gpu-mcp-server"
}
}
}
Windsurf
添加到 ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"gpu": {
"command": "/path/to/gpu-mcp-server"
}
}
}
构建
需要在目标机器上安装 Go 1.23+、CGO 和 NVIDIA 驱动。
make build # compile binary
make test # run tests (no GPU needed uses mock)
make lint # golangci-lint
make docker # container image
测试使用模拟采集器,因此无需 GPU 硬件即可在任何地方运行。
Docker
每次发布时,都会将预构建的多架构镜像(linux/amd64、linux/arm64)发布到 GHCR。
docker pull ghcr.io/pmady/gpu-mcp-server:latest
docker run --rm -i --gpus all ghcr.io/pmady/gpu-mcp-server:latest
主机必须安装 NVIDIA Container Toolkit,--gpus all 才能正常工作。该服务通过 stdio 使用 MCP 通信,因此必须使用 -i 标志,不能省略。
{
"mcpServers": {
"gpu": {
"command": "docker",
"args": ["run", "--rm", "-i", "--gpus", "all", "ghcr.io/pmady/gpu-mcp-server:latest"]
}
}
}
请使用标签固定特定版本,而不要使用 :latest,例如 ghcr.io/pmady/gpu-mcp-server:v0.1.0。
架构
Agent (Claude/Goose) ─── MCP (stdio) ──→ gpu-mcp-server ──→ NVML ──→ GPU
│
Tools:
• list_gpus
• get_gpu_metrics
• gpu_summary
该服务作为本地进程与 Agent 一同运行。它通过 cgo 直接调用 NVML——无需 sidecar、网络跳转,也无需配置指标管道。
项目信息
- 许可证: Apache 2.0
- 语言: Go
- AAIF 项目对齐: MCP
- 相关项目: keda-gpu-scaler(Kubernetes GPU 自动扩缩容)
- 白皮书: GPU 感知的云原生 AI 基础设施自动扩缩容 — CNCF TAG Infrastructure 倡议(TOC #2188)
引用
如果您在研究或写作中使用 gpu-mcp-server,请通过其 DOI 引用。完整的引用元数据见 CITATION.cff。
@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.md,了解为期 12 个月的公开路线图。
贡献
请参阅 CONTRIBUTING.md,了解如何参与贡献。
贡献者
感谢所有贡献者!您可以通过 PR 添加自己。
治理
本项目遵循 Linux Foundation 最小可行治理。
文档
- 完整文档 - 托管于 Read the Docs
- ROADMAP.md - 公开路线图
- GOVERNANCE.md - 决策流程
- DEPENDENCIES.md - 外部依赖项和许可证
- SECURITY.md - 漏洞报告
- AGENTS.md - 面向在此仓库中工作的 AI Agent 的说明
- CODE_OF_CONDUCT.md - 社区规范
Star 历史
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。