# HomeLab Monitor

Exposes read-only homelab telemetry to AI coding assistants, tracking Docker containers, multi-GPU loads, and hardware power costs.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 225
- Author: SikamikanikoBG
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/SikamikanikoBG/homelab-monitor
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/homelab-monitor

## What it does

This MCP server connects AI assistants to an existing HomeLab Monitor dashboard via a lightweight Docker container. It grants the model instant visibility into hosts, disks, and active containers queried across your machines over SSH. The tool reads metrics from NVIDIA, AMD, and Intel hardware, capturing clock speeds, thermal throttle causes from `nvidia-smi`, and individual fan RPMs.

Hardware power tracking converts raw wattage from RAPL and GPU drivers into actual monetary cost per process or container. For local machine learning workflows, it reports token throughput in Ollama and flags context sizes that spill from VRAM into system memory. Access is strictly read-only. That prevents the agent from modifying or rebooting any services. Running the container requires valid `HOMELAB_MONITOR_URL` and `MCP_TRANSPORT` environment values.

## Requirements
- Needs: Docker
- Environment variables: `HOMELAB_MONITOR_URL`, `MCP_TRANSPORT` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env HOMELAB_MONITOR_URL=<HOMELAB_MONITOR_URL> --env MCP_TRANSPORT=<MCP_TRANSPORT> --transport stdio homelab-monitor -- docker run -i --rm -e HOMELAB_MONITOR_URL -e MCP_TRANSPORT docker.io/sikamikaniko123/homelab-monitor:0.14.2
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add homelab-monitor --env HOMELAB_MONITOR_URL=<HOMELAB_MONITOR_URL> --env MCP_TRANSPORT=<MCP_TRANSPORT> -- docker run -i --rm -e HOMELAB_MONITOR_URL -e MCP_TRANSPORT docker.io/sikamikaniko123/homelab-monitor:0.14.2
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "homelab-monitor": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "HOMELAB_MONITOR_URL",
                "-e",
                "MCP_TRANSPORT",
                "docker.io/sikamikaniko123/homelab-monitor:0.14.2"
            ],
            "env": {
                "HOMELAB_MONITOR_URL": "<HOMELAB_MONITOR_URL>",
                "MCP_TRANSPORT": "<MCP_TRANSPORT>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "homelab-monitor": {
            "type": "stdio",
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "HOMELAB_MONITOR_URL",
                "-e",
                "MCP_TRANSPORT",
                "docker.io/sikamikaniko123/homelab-monitor:0.14.2"
            ],
            "env": {
                "HOMELAB_MONITOR_URL": "<HOMELAB_MONITOR_URL>",
                "MCP_TRANSPORT": "<MCP_TRANSPORT>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e HOMELAB_MONITOR_URL=<HOMELAB_MONITOR_URL> -e MCP_TRANSPORT=<MCP_TRANSPORT> homelab-monitor docker run -i --rm -e HOMELAB_MONITOR_URL -e MCP_TRANSPORT docker.io/sikamikaniko123/homelab-monitor:0.14.2
```
Replace <…> with your own values

## When to use it
- inspect VRAM allocation and temperature across multiple GPUs
- calculate energy costs generated by specific containers or processes
- diagnose GPU throttling reasons during model training
- track token generation speeds and memory spillover in Ollama
- review host storage and uptime over SSH connections

## Example prompts
- Show current fan speeds and temperatures across all GPUs in the lab.
- How much electricity did the database container consume today?
- Check if the local Ollama model fits entirely within VRAM.

## Similar
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [Oh My Posh Validator](https://affpapa.org/en/nevibecode/mcp/oh-my-posh-validator.md) — MCP server · ★ 23643
- [Keploy](https://affpapa.org/en/nevibecode/mcp/keploy.md) — MCP server · ★ 18727
- [Coder](https://affpapa.org/en/nevibecode/mcp/coder.md) — MCP server · ★ 17160
- [mcp](https://affpapa.org/en/nevibecode/mcp/kubeshark-mcp.md) — MCP server · ★ 12109

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
