mcpField
G
GPU Server

GPU Server

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

GPU Server について

GPU Server は NVIDIA GPU のリアルタイム指標を MCP クライアントに提供し、会話からハードウェア状態を確認したいユーザー向けです。NVML を利用し、使用できない場合は nvidia-smi に切り替えます。

主な機能

  1. 01GPU 名、ドライバー、CUDA バージョンの取得
  2. 02コアとメモリーコントローラーの使用率確認
  3. 03VRAM の総量、使用量、空き容量の取得
  4. 04GPU 温度の確認
  5. 05GPU 統計の一括取得

活用シーン

  1. 01会話内で GPU の状態を確認
  2. 02GPU 使用率と温度の点検
  3. 03VRAM 使用量の確認

MCP 対応

MCP クライアントに 5 つの読み取り専用 GPU 指標ツールを提供します。stdio で呼び出せ、NVML を利用し、必要に応じて nvidia-smi にフォールバックします。

設定

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

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

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

パッケージ
pypigpu-server0.2.2

ツール

5

掲載時のツール一覧 · 1 週間前に更新

このツールにパラメーターはありません。

詳細

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 つのサーバーを複数のクライアントで再利用できます。