infra-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@infra-mcp list all Docker containers and their status"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
infra-mcp
MCP server that gives Claude Code real-time visibility into local infrastructure — Docker containers and system health.
Tools
System (8 tools)
Tool | Description |
| CPU load, memory, uptime |
| NVIDIA GPU utilization and VRAM |
| Processes using the GPU |
| Filesystem usage |
| PSI metrics for I/O pressure |
| Top processes by CPU/memory |
| systemd service status |
| Detailed memory breakdown |
Docker (7 tools)
Tool | Description |
| List all containers with status |
| Detailed container info |
| Tail container logs |
| Start a stopped container |
| Stop a running container |
| Restart a container |
| Docker Compose project status |
Related MCP server: SafeFlo
Setup
npm installUsage
npm startConfigure in Claude Code MCP settings:
{
"mcpServers": {
"infra": {
"command": "node",
"args": ["/path/to/infra-mcp/index.js"]
}
}
}Configuration
Env Variable | Default | Description |
|
| Docker socket path |
|
| Path to nvidia-smi binary |
Tech Stack
Node.js (>=18)
@modelcontextprotocol/sdkDocker API v1.43 (Unix socket)
/procfilesystem for system metricsnvidia-smifor GPU monitoring
Available Tools
21 toolscompose_statusA
Show Docker Compose projects with their containers grouped by project
Inputs: format.
container_healthC
Show Docker container health check status
Inputs: format.
container_logsB
Tail logs from a Docker container
Inputs: id (required), tail, since, format.
disk_usageA
Disk usage per mount point (excludes tmpfs, devtmpfs, efivarfs)
Inputs: format.
docker_statsA
Show one-shot Docker stats for running containers
Inputs: format.
gpu_processesA
List processes currently using NVIDIA GPU VRAM
Inputs: format.
gpu_statusA
NVIDIA GPU status: name, temperature, utilization, VRAM usage
Inputs: format.
inspect_containerC
Full inspect details for a Docker container
Inputs: id (required), format.
io_pressureA
PSI (Pressure Stall Information) for CPU, memory, and I/O — shows if the system is under real stress
Inputs: format.
list_containersB
List Docker containers with optional filters
Inputs: all, format, name_filter, label_filter.
list_imagesA
List Docker images with optional all filter
Inputs: all, format.
list_networksA
List Docker networks with IPAM info
Inputs: format.
list_volumesA
List Docker volumes and warnings
Inputs: format.
memory_detailA
Full /proc/meminfo breakdown with human-readable sizes
Inputs: format.
prune_systemC
Show or perform Docker system prune summaries
Inputs: format, dry_run.
restart_containerC
Restart a Docker container
Inputs: id (required), format.
service_statusA
Check systemd service status (system or user unit)
Inputs: service (required), user, format.
start_containerA
Start a stopped Docker container
Inputs: id (required), format.
stop_containerB
Stop a running Docker container with optional timeout
Inputs: id (required), format, timeout.
system_overviewA
One-shot system health check: CPU load averages, memory usage, swap, and uptime
Inputs: format.
top_processesA
Top N processes sorted by CPU or memory usage
Inputs: count, format, sort_by.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 21 tools
Most tools have clearly distinct purposes: system monitoring tools target different metrics, and Docker tools separate list/inspect/logs/start/stop/restart. Minor overlap exists between list_containers and compose_status (both list containers but with different grouping) and between container_health and inspect_container (health info is a subset of inspect), but descriptions help differentiate them.
The naming is mixed: system and GPU tools use noun_noun patterns (system_overview, gpu_status, disk_usage), while Docker tools use verb_noun patterns (list_containers, start_container, restart_container). This inconsistency is mildly confusing, though the pattern is predictable within each subdomain, and all names are readable.
21 tools is on the higher end of the optimal range, but each tool covers a specific monitoring or Docker management function that justifies its presence. The count is appropriate for a server that spans both system health and container operations, without feeling bloated.
The server covers system monitoring and Docker container lifecycle well, but has notable gaps: no service management (only status), no Docker container create/remove, no image pull/remove, and no volume/network creation. Basic operations are covered, but full infrastructure management is incomplete.
Maintenance
Related MCP Connectors
Remote MCP server exposing your Node Command fleet (files, shell, processes, browser) to AI hosts.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Shared memory MCP server for Claude Code, Codex, Gemini CLI and Cursor. Cited, editable.
Hosted MCP server for live public-data APIs and Skills for AI agents.
Related MCP Servers
- AlicenseBqualityDmaintenanceA powerful Model Context Protocol (MCP) server for Docker operations, enabling seamless container and compose stack management through Claude AI.4504MIT
- AlicenseNot gradedqualityCmaintenanceLocal MCP server for Claude Code providing persistent memory, task planning, and agent coordination with full transparency and no network calls.2MIT
- AlicenseAqualityDmaintenanceA locally-hosted MCP (Model Context Protocol) server that gives Claude real tools to debug Docker containers — fetch logs, inspect memory/CPU, and run diagnostic commands inside a container, all from a chat with Claude Desktop.33MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that enables Claude Code to communicate with other Claude Code agents over HTTP, allowing users to ask questions about remote codebases or delegate coding tasks.MIT