get_current_datetimeLABSCO SUMMARY
Duration monitoring, not just instant readings.
The tools that watch over a duration are what separate this from a one-shot reading: an intermittent stall does not show up in a single sample, and monitor_cpu_usage and monitor_io_performance are how you catch it. The two snapshot tools are the sensible opening move — one call brings back the whole picture, and you drill in only where it looks wrong.
What it is
A cross-platform system monitor exposing fifteen tools, from single readings to composed snapshots. It goes further than usage percentages: I/O rates per disk, context switches and interrupts, page faults and swap activity, interface speed and MTU. GPU coverage spans NVIDIA with full metrics and Apple Silicon including unified memory and core count.
What you get
- CPU usage with per-core statistics, frequency, temperature and processor detail
- GPU information for every detected card, including unified memory on Apple Silicon
- RAM and swap, or the detailed version with buffers, cache, active and inactive memory, page faults and swap activity
- Disk usage across mounted drives, and I/O metrics with read and write rates and per-disk busy time
- Network interface statistics, or the enhanced version with transfer rates, errors, drops, speed and MTU
- Load averages over 1, 5 and 15 minutes with context switches, interrupts and running or blocked process counts
- Top processes by CPU or memory
- CPU and I/O watched over a duration you set, rather than sampled once
- A complete system snapshot, a complete performance snapshot, and the current datetime in ISO format
Requirements
Python with FastMCP, and the machine you want to read — it reports on the host the server runs on. No account or key.
Setup effort
Build from source — git clone https://github.com/huhabla/mcp-system-monitor.git
USE CASES
Working out why a machine feels slow
Take the full snapshot first so nothing is missed, then read load averages and the top processes to name what is holding the CPU.
Catching a stall that only happens sometimes
Watch CPU and I/O across a window rather than sampling once, so a spike that lands between two readings is still in the record.
Deciding whether the disk is the bottleneck
Read and write rates with per-disk busy time say whether a slow build is waiting on storage, which usage percentages never do.
Checking a box before a training run
GPU details including unified memory, memory headroom and disk space, together — the three things that stop a long job an hour in.
Tracking down memory pressure
The detailed memory view separates cache and buffers from what is actually in use, and page-fault and swap activity say whether the machine has started paging.
Diagnosing a network that is dropping traffic
Transfer rates alongside errors, drops, interface speed and MTU distinguish a saturated link from a misconfigured one.
15 tools
Listed in project docs. Your client may show a different list.
get_cpu_infoget_gpu_infoget_memory_infoget_disk_infoget_system_snapshotmonitor_cpu_usageget_top_processesget_network_statsget_io_performanceget_system_loadget_enhanced_memory_infoget_enhanced_network_statsget_performance_snapshotmonitor_io_performanceBEFORE YOU INSTALL
What to know first
Tools you get
15 tools named in the project's documentation.
Requires
- Python 3.10+
- Windows, macOS, or Linux
- GPU (optional): NVIDIA GPUs for full metrics, Apple Silicon GPUs fully supported on macOS
- Requires NVIDIA drivers and NVML libraries
- Some system information may require elevated privileges
INSTALLATION
Connect your client
Server setup
Clone the repository
git clone https://github.com/huhabla/mcp-system-monitor.git
cd mcp-system-monitorInstall dependencies using uv (recommended)
uv pip install -e .MCP Clients
Claude Desktop
uv run mcp install mcp_system_monitor_server.py --name "System Monitor"The path /Users/S in the block above is on the machine of whoever wrote it, not on yours.
Any MCP client — Windows
{
"mcpServers": {
"mpc-system-monitor": {
"command": "cmd",
"args": [
"/c",
"C:/Users/Sören Gebbert/Documents/GitHub/mcp-system-monitor/start_mpc_system_monitor.bat"
]
}
}
}The path /Users/S in the block above is on the machine of whoever wrote it, not on yours.
Any MCP client — macOS
{
"mcpServers": {
"mpc-system-monitor": {
"command": "/bin/zsh",
"args": [
"/Users/holistech/Documents/GitHub/mcp-system-monitor/start_mcp_system_monitor.sh"
]
}
}
}The path /Users/S in the block above is on the machine of whoever wrote it, not on yours.