Skip to main content
Glama
irfanfath123

homelab-monitor-mcp

by irfanfath123

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HOMELAB_HOSTSNoComma-separated list of remote servers in the format name=user@host. Used for monitoring remote servers via SSH.
MCP_HTTP_PORTNoPort to run the HTTP server on (e.g. 3000). Used for remote access mode.
MCP_AUTH_TOKENNoAuthentication token required for HTTP mode. Requests need Authorization: Bearer <token>.
HOMELAB_DB_OVERRIDESNoMap DB hostnames to local addresses for db_query, e.g. "pgsql=127.0.0.1:5433".
HOMELAB_PROJECT_DIRSNoColon-separated list of directories that file tools (list_dir, read_file, edit_file) and run_command are restricted to.
HOMELAB_ALLOW_COMMANDSNoComma-separated list of allowlisted binaries for run_command.npm, npx, node, python3, pytest, tsc, go, cargo, make, git

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
system_infoB

Get system uptime, load average, memory and disk usage (read-only)

service_statusB

Check systemd service status (read-only)

port_listeningA

List listening TCP ports and owning processes (read-only, like 'ss -tlnp')

disk_detailA

Disk usage: all mounts plus largest top-level directories (read-only)

list_hostsA

List remote servers configured via HOMELAB_HOSTS env var

docker_psB

List Docker containers with status (read-only, like 'docker ps')

docker_statsA

One-shot Docker container CPU/memory usage (read-only, like 'docker stats --no-stream')

docker_logsA

Read recent logs of a Docker container (read-only)

docker_restartA

Restart a Docker container. WRITE action — your MCP client will ask for approval before running it.

list_dirB

List directory contents (read-only)

read_fileC

Read a text file with line pagination (read-only)

edit_fileB

Replace text in a file. WRITE action — your MCP client will ask for approval before running it. old_text must occur exactly once.

run_commandA

Run a dev command (tests, build, typecheck, git) inside a project directory. EXECUTION action — your MCP client will ask for approval before running it. Single command only; the binary must be in HOMELAB_ALLOW_COMMANDS.

db_queryA

Run a READ-ONLY SQL query (SELECT/WITH) against a Laravel project's database. Credentials come from the project's .env — never returned. Rows capped by limit.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 14 tools

Disambiguation4/5

Tools target mostly distinct resources (system, services, ports, disk, Docker, files, commands, DB), so an agent can usually pick correctly. The only real overlap is system_info and disk_detail, which both report disk usage, though disk_detail is clearly deeper.

Naming Consistency3/5

Names mix noun_noun (system_info, docker_ps, db_query), verb_noun (list_dir, read_file, edit_file), and noun_verb (docker_restart). The docker_ prefix groups Docker tools, but the overall set lacks a predictable verb pattern even though all names are snake_case.

Tool Count4/5

14 tools is within a reasonable range for a homelab monitor/manager and covers several domains without excessive duplication. It is slightly heavy, but nearly every tool appears to earn its place.

Completeness3/5

Monitoring coverage is strong, but lifecycle gaps exist: services only have status (no start/stop/restart), Docker only has restart (no stop/start), file operations lack create/delete, and list_hosts has no companion tools to act on remote hosts. These gaps will force agents to rely on run_command for common management tasks, which is explicitly restricted.

Maintenance

ActivityMaintained
ResponsivenessNo issues