Skip to main content
Glama
Mac Health MCP

Mac Health MCP

Top processes

top_processes
Read-onlyIdempotent

Identify apps and processes driving CPU and memory use right now, with plain-English explanations for cryptic macOS process names. Use when a Mac is slow, hot, or loud.

Instructions

The apps and processes using the most CPU and memory right now (measured over about a second), with plain-language explanations of cryptic macOS names (e.g. mds_stores = Spotlight indexing, kernel_task, WindowServer, bird/cloudd = iCloud, backupd = Time Machine). Helpers are also grouped per app. Only process names are returned, never user names or full paths. Use it when the Mac is slow, hot or the fan is loud. Read-only.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "top_processes"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoHow many processes per list (default 10).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, non-destructive, closed-world behavior, so the description only needs to add context — and it does: a ~1-second measurement window, helper processes grouped per app, and a privacy guarantee that only process names are returned, never user names or full paths. Return shape and ordering are not described, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One tight paragraph, front-loaded with the core purpose, followed by the naming/grouping detail that matters for interpreting results, then the usage cue and a safety note. The parenthetical example list is the longest element but earns its place as the explanation of name normalization.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-optional-parameter read-only diagnostic tool with annotation coverage and no output schema, everything an agent needs to select and call it is present: scope, measurement window, privacy boundaries, and a trigger symptom. Only the absence of alternatives/differentiation from overlapping diagnostic siblings leaves a small gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single optional 'limit' parameter whose schema description already covers default 10 and maximum 25 at 100% coverage, so the schema does the work. The description never mentions limiting, so it adds no meaning beyond what the schema provides; baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb-and-resource statement: the apps and processes using the most CPU and memory right now, plus normalization of cryptic macOS names into plain language. It's clear what comes back, but it never names a sibling such as memory_report or thermal_status to sharpen the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It offers one usage cue ('Use it when the Mac is slow, hot or the fan is loud'), which is genuine when-to-use guidance. However, that same symptom set is plausibly served by diagnose_slowness and thermal_status, and the description neither names those alternatives nor states when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.