Skip to main content
Glama
mesutoezdil

mcp-gpu-server

by mesutoezdil

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

mcp-gpu-server

PyPI

An MCP server that exposes NVIDIA GPU metrics as tools. Once connected, any MCP-compatible client can query your GPU status in real time directly from a conversation.

What it does

Instead of running nvidia-smi manually, you ask your AI assistant and it calls these tools automatically:

gpu_info         GPU name, driver version, CUDA version
gpu_utilization  core utilization % and memory bandwidth %
gpu_vram         total, used, free VRAM in MiB and usage %
gpu_temperature  GPU core temperature in Celsius
gpu_stats        everything above in one call

Example response from 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
    }
  }]
}

Related MCP server: WEATHGARDS

How it works

Queries NVML (pynvml) directly when available. Falls back to nvidia-smi subprocess if NVML is not accessible. Returns clean JSON in both cases.

Install

pip install mcp-gpu-server

Connect to your MCP client

Add this to your MCP client config file:

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

Run tests

python tests/test_gpu.py

Requirements

Python 3.10 or higher. NVIDIA GPU with drivers installed on the host machine.

Available Tools

5 tools
gpu_infoB

GPU name, driver version, and CUDA version for each device.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It only states what information is retrieved, not whether it requires special permissions, has side effects, or behaves differently under certain conditions. Since it is a read operation, the lack of detail is a gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no redundancy. Every word is necessary and informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with an output schema, the description adequately lists the returned attributes. It does not mention device indexing or ordering, but the output schema likely covers that. Overall, it is sufficiently complete for this simple use case.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters (100% coverage trivially), so baseline is 4. The description adds value by naming the output fields (name, driver, CUDA version), which clarifies the tool's purpose beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies the tool returns GPU name, driver version, and CUDA version per device. It is clear and distinguishes from siblings like gpu_stats and gpu_temperature by focusing on identification data, though it lacks an explicit verb like 'get'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The description does not mention any prerequisites or contextual cues, leaving the agent to infer usage from the sibling names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gpu_statsA

Full snapshot: info, VRAM, utilization, and temperature for every device.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It describes the output but does not mention any behavioral traits such as being read-only, potential side effects, or authentication requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the key purpose: 'Full snapshot'. Every word is informative and no excess.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters, an existing output schema, and sibling tools that cover individual metrics, this description fully informs the agent that the tool provides a comprehensive view of GPU statistics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so schema description coverage is 100%. With no parameters, the baseline is 4, and the description does not need to add parameter-level meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides a full snapshot including info, VRAM, utilization, and temperature for every device. This distinguishes it from sibling tools like gpu_info, gpu_temperature, etc., which focus on individual metrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies that this tool should be used when a comprehensive overview is needed, but it does not explicitly state when to prefer this over sibling tools or provide any exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gpu_temperatureB

Core temperature in °C for each device.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite having no annotations, the description is minimal and does not disclose behavioral details such as whether the reading is instantaneous, cached, or aggregated. The output format (e.g., list or map) is not described, relying entirely on the output schema for understanding.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no extraneous words. It efficiently conveys the core purpose, making it easy for an agent to quickly understand the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-parameter tool with an output schema, the description is adequate but lacks contextual hints such as the unit consistency or the distinction from sibling tools. It does not mention whether the reading is instantaneous or periodic, but the output schema likely fills gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, and schema description coverage is 100%. With zero parameters, the baseline is 4, and the description does not need to add parameter details. It correctly states what the tool returns.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns core temperature in °C for each device, indicating a specific metric. However, it lacks a verb and does not explicitly distinguish itself from sibling tools like gpu_utilization or gpu_vram, though the distinct metric name differentiates it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus its siblings. There is no mention of typical use cases, prerequisites, or exclusions, leaving the agent to infer usage from the name and description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gpu_utilizationA

GPU core and memory utilization percentage for each device.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It does not disclose whether the utilization is instantaneous or averaged, if it queries live data, or any side effects. The read-only nature is implied but not explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no extraneous words. It is front-loaded with the key information (what it returns) and is appropriately concise for a simple tool with no parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and the existence of an output schema, the description is nearly complete. It could specify that output contains both core and memory utilization per device, but the output schema likely covers that. Minor gap: no mention of device identification.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the input schema coverage is 100%. The description correctly indicates no arguments are needed. Baseline 4 applies as the description adds no param info but none is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool returns GPU core and memory utilization percentage for each device. It uses a specific verb (returns) and resource (utilization percentage), distinguishing it from siblings like gpu_temperature or gpu_stats.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus its siblings (gpu_info, gpu_stats, etc.). The description does not mention any context or exclusion criteria, leaving the agent to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gpu_vramA

VRAM total, used, free (MiB) and utilization % for each device.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavior. It states the output fields and units but does not mention permissions, real-time nature, or side effects. Adequate but minimal for a read-only tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence of 12 words, directly front-loading key information. No redundant or irrelevant content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and an existing output schema, the description is complete. It specifies 'for each device,' which is sufficient for the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, and description coverage is 100%. The description adds meaning by detailing the output fields and units (MiB, %), which goes beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies 'VRAM total, used, free (MiB) and utilization % for each device,' using specific verbs and resource terms. It distinguishes itself from sibling tools like gpu_temperature and gpu_utilization by focusing on VRAM metrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like gpu_stats or gpu_utilization. The description does not provide context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 5 tool updatesv0.1.3
    • First observedgpu_info
    • First observedgpu_stats
    • First observedgpu_temperature
    • First observedgpu_utilization
    • First observedgpu_vram

TDQS

A3.7/5.0
Disambiguation4/5

Tools are mostly distinct, but 'gpu_info' and 'gpu_stats' overlap somewhat as stats includes info content. However, descriptions clarify the difference (basic vs. full snapshot). The other three tools are clearly separate.

Naming Consistency5/5

All tool names follow a consistent 'gpu_<noun>' pattern in snake_case. The nouns (info, stats, temperature, utilization, vram) are descriptive and predictable.

Tool Count5/5

Five tools is an appropriate scope for a GPU monitoring server. Each tool covers a distinct aspect without unnecessary redundancy, and the count is not overwhelming.

Completeness4/5

The tool set covers the main GPU monitoring needs: basic info, comprehensive stats, temperature, utilization, and VRAM. Minor gaps like power usage or process listing are absent but not critical for common use cases.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mesutoezdil/mcp-gpu-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server