mcpField
G
GPU Server

GPU Server

ローカル
github.comクラウド・インフラ01 週間前に更新

GPU Server について

GPU Serverは、NVIDIA GPUの状態指標を互換クライアントに提供するMCPサーバーです。NVMLを優先し、利用できない場合はnvidia-smiに切り替えます。

主な機能

  1. 01GPU名とドライバー情報の取得
  2. 02GPUとメモリーの使用率測定
  3. 03VRAMの容量と使用状況の表示
  4. 04GPUコア温度の取得
  5. 05全指標の一括取得

活用シーン

  1. 01AIとの会話でGPU状態を確認
  2. 02ワークロード実行前のVRAM確認
  3. 03使用率と温度の確認

MCP 対応

個別の照会と統計の一括取得を含む、5つの読み取り専用GPU指標ツールをMCPクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"mesutoezdil-mcp-gpu-server": {
"command": "uvx",
"args": [
"mcp-gpu-server"
]
}
}
}
起動コマンドuvx mcp-gpu-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimcp-gpu-server0.1.3

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

mcp-name: io.github.moezdil/mcp-gpu-server

mcp-gpu-server

PyPI

NVIDIA GPU のメトリクスをツールとして公開する MCP サーバーです。接続すると、MCP 互換のクライアントから会話中に GPU の状態をリアルタイムで直接問い合わせられます。

できること

nvidia-smi を手動で実行する代わりに、AI アシスタントに尋ねると、次のツールが自動的に呼び出されます。

gpu_info         GPU 名、ドライバーのバージョン、CUDA バージョン
gpu_utilization  コア使用率 % とメモリーコントローラーのビジー率 %
gpu_vram         VRAM の合計、使用量、空き容量(MiB)と使用率 %
gpu_temperature  GPU コア温度(摂氏)
gpu_stats        上記すべてを 1 回の呼び出しで取得

gpu_stats の応答例:

{
  "count": 1,
  "gpus": [{
    "index": 0,
    "name": "NVIDIA L40S",
    "driver": "580.126.09",
    "cuda": "13.0",
    "temp_c": 29,
    "gpu_pct": 0,
    "mem_pct": 0,
    "vram": {
      "total_mib": 46068,
      "used_mib": 610,
      "free_mib": 45457,
      "pct": 1.3
    }
  }]
}

仕組み

利用可能な場合は NVML(pynvml)に直接問い合わせます。NVML にアクセスできない場合は、nvidia-smi のサブプロセスにフォールバックします。どちらの場合も、整形された JSON を返します。nvidia-smi による問い合わせには CUDA バージョンが含まれないため、その経路では cuda は null になります。

インストール

pip install gpu-server

PyPI でのパッケージ名は、0.2.1 で mcp-gpu-server から gpu-server に変更されました。旧名は 0.1.3 で更新が停止しており、mcp 2.x では起動しません。mcp-gpu-server コマンドも引き続き使えます。また、0.2.2 以降は gpu-server コマンドも使用できます。

公式の MCP Registry には io.github.moezdil/mcp-gpu-server として登録されています。

MCP クライアントに接続する

次の内容を MCP クライアントの設定ファイルに追加します。

{
  "mcpServers": {
    "gpu": {
      "command": "mcp-gpu-server"
    }
  }
}

または、何もインストールせずに uv を使用します。

{
  "mcpServers": {
    "gpu": {
      "command": "uvx",
      "args": ["gpu-server"]
    }
  }
}

テストの実行

uv run pytest tests/test_server.py   # GPU は不要
uv run python tests/test_gpu.py      # GPU ホスト上で実行

実機でのテスト

リリース 0.2.2 を Linux ホストのクリーンな仮想環境に PyPI からインストールし、2026-10-21 に実際の GPU を使ってテストしました。

GPUNVIDIA GeForce RTX 3090、24 GB
Driver / CUDA580.178.04 / 13.0
Python3.14.4
Packagesgpu-server 0.2.2、mcp 2.3.0、nvidia-ml-py 13.615.71

公開されたパッケージをインストールし、GPU 統合テストを実行します。

python3 -m venv venv
venv/bin/pip install gpu-server==0.2.2
git clone --depth 1 https://github.com/moezdil/mcp-gpu-server.git repo
venv/bin/python repo/tests/test_gpu.py

結果:37 件のチェックがすべて成功しました。NVML の経路をテストします。nvidia-smi へのフォールバックは、存在の確認のみを行い、解析はしません。

次に、実際の MCP クライアントを使い、stdio 経由ですべてのツールを呼び出します。

import anyio, json, sys
from mcp import Client, StdioServerParameters

async def main():
    async with Client(StdioServerParameters(command=sys.argv[1])) as c:
        print("protocol:", c.protocol_version)
        for t in (await c.list_tools()).tools:
            r = await c.call_tool(t.name, {})
            print(t.name, t.annotations.read_only_hint, json.dumps(r.structured_content))

anyio.run(main)

e2e.py として保存し、venv/bin/python e2e.py venv/bin/gpu-server を実行しました。結果:クライアントとサーバーはプロトコル 2026-07-28 でネゴシエートし、5 つのツールすべてが読み取り専用として一覧表示され、すべての呼び出しがエラーなく構造化コンテンツを返しました。

gpu_stats {"count": 1, "gpus": [{"index": 0, "name": "NVIDIA GeForce RTX 3090",
  "driver": "580.178.04", "cuda": "13.0", "temp_c": 42, "gpu_pct": 0, "mem_pct": 0,
  "vram": {"total_mib": 24576, "used_mib": 451, "free_mib": 24124, "pct": 1.8}}]}

要件

Python 3.10 以降、MCP Python SDK 2.x。ホストマシンにドライバーがインストールされた NVIDIA GPU。

リンク

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。