Skip to main content
Glama
MCP Mac Monitor

MCP Mac Monitor

MCP Mac Monitor

A local MCP server that lets Claude (or any MCP client) check the status of your Mac — battery, memory, CPU, GPU, disk, and which apps are draining your battery — and shut it down, restart it, or put it to sleep.

Ask things like "How's my Mac doing?", "What's eating my battery?" or "Shut down my Mac in 30 minutes" — even from your phone, while Claude runs on the Mac.

Tools

Tool

What it does

get_snapshot

Everything at once: system, battery, memory, CPU, disk, top processes

get_battery

Charge %, charging state, time remaining, cycle count, health, temperature

get_memory

RAM used/total, compressed, swap, memory pressure

get_cpu

Usage %, load average, thermal state

get_disk

Free/used space per volume

get_top_processes

Processes using the most CPU or RAM

get_energy

Apps draining the most battery (energy impact + GPU %), with per-app CPU and GPU usage and total GPU usage

get_system_info

Model, chip, macOS version, uptime, local IP, current time

shutdown

Shut down now or in X minutes. If shutdown gets blocked, the Mac goes to sleep after 2 minutes

restart

Restart now or in X minutes

sleep

Sleep now or in X minutes

lock_screen

Turn the display off (locks it if a password is required on wake)

get_power_action / cancel_power_action

See / cancel a scheduled power action

Related MCP server: AppleScript Automation MCP

Requirements

  • macOS (Apple Silicon recommended — per-app GPU usage needs an Apple GPU)

  • Node.js 18 or later

  • No sudo required

Installation

git clone https://github.com/Go-Business-Inc/MCP-MAC-Monitor.git
cd MCP-MAC-Monitor
npm install

Claude Code

claude mcp add --scope user mac-monitor -- node /absolute/path/to/MCP-MAC-Monitor/src/index.js

Claude Desktop

Add this to ~/Library/Application Support/Claude/claude_desktop_config.json and restart Claude:

{
  "mcpServers": {
    "mac-monitor": {
      "command": "/usr/local/bin/node",
      "args": ["/absolute/path/to/MCP-MAC-Monitor/src/index.js"]
    }
  }
}

Use the output of which node as command — Claude Desktop doesn't load your shell's PATH.

Permissions

The first time the Mac shuts down or restarts, macOS asks for permission to let the app control System Events (System Settings → Privacy & Security → Automation).

Safety

  • 60-second grace period. Every power action waits at least 60 s, so the reply reaches you and there's time to call cancel_power_action if it was a mistake.

  • Survives Claude closing. Scheduled actions run in a separate process (state in ~/.mac-monitor/scheduled.json), so they execute even if Claude quits.

  • Blocked shutdowns fall back to sleep. If an app refuses to quit (e.g. an unsaved document), the Mac sleeps after 2 minutes instead of draining the battery.

  • FileVault and remote restarts. With FileVault on, a restarted Mac stops at the disk-unlock screen until someone types the password — Claude won't be reachable remotely until then.

About the energy numbers

  • energy_impact is the POWER value from top — the same kind of relative score as Activity Monitor's Energy Impact (not watts). It reflects CPU time and wakeups but not GPU work, so get_energy ranks apps by energy_impact + gpu_percent.

  • Per-app GPU % comes from the GPU driver's per-process counters, sampled over ~2 seconds.

  • Real wattage would require powermetrics, which needs sudo; this server intentionally avoids it.

Configuration

Environment variable

Default

Purpose

MAC_MONITOR_DRY_RUN

—

Set to 1 to log power commands to ~/.mac-monitor/dry-run.log instead of running them

MAC_MONITOR_STATE_DIR

~/.mac-monitor

Where scheduled-action state is stored

MAC_MONITOR_FALLBACK_SECONDS

120

How long a blocked shutdown waits before sleeping the Mac

Credits

Built by Go Business Inc.

Go Business Inc. helps companies transform their operations through digital automation: process-based CRM and sales pipelines, AI chatbots and agents, automated marketing journeys, customer self-service portals, business intelligence dashboards, hardware automation, and remote-work management.

Available Tools

14 tools
cancel_power_actionCancelar apagado programadoA
Idempotent

Cancela el apagado, reinicio o reposo programado, si todavía no se ejecutó.

Inputs: no named parameters.

get_batteryBateríaA
Read-only

Batería: porcentaje, si está cargando, fuente de energía, tiempo restante, ciclos, salud (capacidad máxima vs. de fábrica), condición y temperatura.

Inputs: no named parameters.

get_cpuCPUA
Read-only

CPU: chip, núcleos, uso actual (%), carga promedio 1/5/15 min y estado térmico.

Inputs: no named parameters.

get_diskDiscoA
Read-only

Espacio en disco: total, usado y libre del disco interno y de los discos externos montados.

Inputs: no named parameters.

get_energyConsumo de batería por programaA
Read-only

Qué programas consumen más batería ahora mismo. energy_impact es el puntaje POWER de top (CPU y despertares; relativo, no vatios) y NO incluye la GPU, por eso la lista se ordena por energy_impact + gpu_percent. Incluye % de CPU y de GPU de cada programa, el uso total de la GPU y los programas que más GPU usan. Mide durante ~2 s. Úsalo para '¿qué se come la batería?'.

Inputs: limit.

get_memoryMemoria RAMA
Read-only

Memoria RAM: total, usada, memoria de apps, wired, comprimida, caché, swap y presión de memoria (normal/warning/critical).

Inputs: no named parameters.

get_power_actionVer apagado programadoA
Read-only

Indica si hay un apagado/reinicio/reposo programado y cuánto falta.

Inputs: no named parameters.

get_snapshotEstado general de la MacA
Read-only

Resumen completo de la Mac en una sola llamada: sistema, batería, memoria, CPU, disco y los 5 procesos que más CPU usan. Úsalo para preguntas generales como '¿cómo está la compu?'.

Inputs: no named parameters.

get_system_infoInformación del sistemaA
Read-only

Nombre de la Mac, modelo, chip, versión de macOS, usuario, tiempo encendida, modo de bajo consumo, IP local y hora actual.

Inputs: no named parameters.

get_top_processesProcesos con más consumoA
Read-only

Procesos que más CPU o memoria consumen en este momento.

Inputs: limit, sort_by.

lock_screenApagar/bloquear pantallaA

Apaga la pantalla de inmediato. macOS la bloquea si está configurado para pedir contraseña al apagar la pantalla (por defecto sí). La Mac sigue encendida.

Inputs: no named parameters.

restartReiniciar la MacA
Destructive

Reinicia la Mac de forma normal, ahora o dentro de X minutos (mínimo 60 s). Cancelable con cancel_power_action.

Inputs: delay_minutes.

shutdownApagar la MacA
Destructive

Apaga la Mac de forma normal (como Menú Apple → Apagar), ahora o dentro de X minutos. Siempre espera al menos 60 s. Se puede cancelar con cancel_power_action mientras no se haya ejecutado. Si el apagado queda bloqueado (documento sin guardar, una app que no se cierra), la Mac entra en reposo después de 2 minutos para no gastar batería (fallback_to_sleep). Confirma con el usuario antes de usarlo si no lo pidió explícitamente.

Inputs: delay_minutes, fallback_to_sleep.

sleepPoner la Mac en reposoA
Destructive

Pone la Mac en reposo (sleep), ahora o dentro de X minutos (mínimo 60 s). Casi no gasta batería y no cierra las apps. Ojo: al dormir, Claude en esta Mac deja de responder hasta que alguien la despierte. Cancelable con cancel_power_action.

Inputs: delay_minutes.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 14 tools

    Disambiguation4/5

    Most tools target a distinct metric or action, but get_snapshot overlaps with the individual get_* monitoring calls, and get_top_processes/get_energy both report process-level usage. The descriptions clarify their intended use, so ambiguity remains limited.

    Naming Consistency5/5

    Read operations consistently follow the get_<noun> pattern, while power actions use simple imperative verbs like shutdown, restart, sleep, and lock_screen. Everything uses lowercase snake_case, making the set highly predictable.

    Tool Count5/5

    With 14 tools, the server is well-scoped: approximately nine monitoring read tools, four power/lock controls, and one pair for checking/canceling scheduled actions. Each tool earns its place without redundancy.

    Completeness5/5

    The tool surface fully covers the stated domain: battery, memory, CPU, disk, system info, processes, energy usage, and a complete power-control lifecycle including scheduling and cancellation. No obvious dead ends or missing core operations.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      MCP server that enables AI to fully control macOS — mouse, keyboard, terminal, screenshots, window management, UI element detection, and provides AI-optimized information reporting.
      36
      29 npm
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Actvt's embedded MCP server for macOS. 25 tools for live CPU, GPU, memory and network metrics, listening ports with a guarded port_kill, and Claude Code and Codex session analytics (cost, tokens, transcript search, error patterns). It ships inside the Actvt macOS app and binds to loopback on the user's machine, so it starts with the app, not as a standalone or containerised process.
      MIT