Home / Blog / Mac Health MCP – ask Claude why your Mac is slow
Tech News

Mac Health MCP – ask Claude why your Mac is slow

Swedishwizards released Mac Health MCP, a local Model Context Protocol server that lets Claude analyze macOS slowdowns across eight hardware checks.

By Dillip Chowdary • Nov 14, 2026 • Source: github.com

Mac Health MCP – ask Claude why your Mac is slow

Swedishwizards released Mac Health MCP, an open-source Model Context Protocol server that connects Claude Desktop, Claude Code, and compatible assistants directly to macOS diagnostic utilities. As detailed in github.com's report, the zero-dependency utility allows desktop users to ask natural questions like why their machine is slowing down. The assistant responds with a ranked diagnosis that presents human explanations first before detailing the underlying hardware metrics.

This technical analysis covers the installation options, diagnostic criteria, telemetry collection methods, and privacy protections built into the MIT-licensed utility. The software is designed for developers, systems administrators, and Mac users who want rapid diagnostics inside terminal workflows or conversational windows without installing third-party system monitors. Readers will learn how the utility measures performance bottlenecks and strips personal telemetry before sending system statistics to language models.

01Plain English diagnostics and ranked causes

When an operator asks why a computer is running slowly, the server triggers the diagnose_slowness routine to assemble an ordered catalog of potential hardware bottlenecks. Claude evaluates the collected system state and returns likely causes ranked by severity, pairing every observation with an actionable recommendation. For example, if a machine shows 23 days of uptime alongside 4.2 GB of swap space, the interface suggests restarting macOS and identifies memory-heavy programs like ExampleBrowser and DemoApp.

The server delivers findings by prioritizing readability over raw terminal output, placing plain-language evaluations ahead of tabular data. Internal grading logic assigns status tags including Bra for good performance, Okej for acceptable operation, Behöver åtgärd for items requiring attention, and Okänd for unverified components. While core summaries are compiled in Swedish, connected language models translate evaluations into the user's working language while standalone tools like top_processes, memory_report, and get_mac_overview inspect specific subsystems.

02Desktop extension bundles and manual setup

Mac Health MCP – ask Claude why your Mac is slow
Illustration · Pexels

Swedishwizards provides two primary deployment paths, led by a single-click desktop package named mac-health-x.y.z.mcpb distributed through project releases on GitHub. Claude Desktop users can double-click this bundle, drag it into the application window, or navigate through the extensions menu under settings to install it. Because Claude Desktop executes extensions using an internal Node.js runtime, this automated installation method requires no auxiliary software, package downloads, or terminal intervention.

Users managing developer environments can perform manual configuration by cloning the repository from GitHub without running npm install. Setting up Claude Desktop manually requires editing claude_desktop_config.json in the user Application Support directory to register the server script with node or an absolute binary path. Terminal users running Claude Code can install the utility by executing claude mcp add mac-health, which launches the server index script over standard input and output streams.

Advertisement

Tech Pulse Daily

Get tomorrow's pulse first

Join engineers who read Tech Pulse before stand-up. Free, weekday mornings.

03Eight background triggers and diagnostic thresholds

The diagnose_slowness command evaluates eight distinct hardware metrics against hardcoded thresholds to determine why an operating system is lagging. A restart recommendation triggers whenever total system uptime exceeds 14 days, warning operators that background services and memory allocations have accumulated over time. Memory warnings fire when macOS enters high memory pressure or when disk swap allocations exceed 2 GB, prompting the tool to flag the specific applications consuming the most RAM.

Processor contention is flagged when one process consumes over 80 percent CPU across both a one-second top sample and a one-minute ps average, or when mds_stores and mdworker combine to exceed 50 percent CPU during Spotlight indexing. Thermal throttling warnings trigger if kernel_task exceeds 50 percent CPU while pmset reports a thermal alert or CPU speed limit under 100 percent. Storage alerts engage under 10 percent free disk space, battery warnings flag under 80 percent capacity, and startup items alert at 15 or more third-party services.

04System overview metrics and hardware telemetry

The get_mac_overview tool conducts an exhaustive audit of core hardware and operating system parameters using native command-line binaries. It extracts system architecture, chip identifiers, core counts, and total physical memory through sysctl, while sw_vers confirms the exact macOS release and build number. Workload metrics gather load averages per core via sysctl vm.loadavg, and uptime calculations leverage sysctl kern.boottime with a fallback to the standard uptime utility.

Memory metrics incorporate memory_pressure queries alongside vm_stat output and sysctl values to report free space percentages and pressure levels. Storage availability is verified via df commands aimed at the startup volume, while disk_report takes up to roughly 20 seconds to map large home folders. Thermal headroom is checked through pmset therm, while portable systems inspect battery cycles and charge retention through pmset and ioreg, skipping checks on desktop machines and returning Okänd whenever a command times out.

05Local command safety and identifier stripping

Security and privacy operate on a strictly local architecture that makes zero external network requests and includes no telemetry pipelines. All diagnostic inspection routines execute read-only macOS utilities without requiring administrative credentials or sudo passwords. Folder inspections in startup_items and disk_report merely read directory structures and file sizes, ensuring the server cannot delete files, terminate background processes, or alter configuration files on the host machine.

System commands run directly without an intermediate shell, relying on absolute binary paths, fixed locales, and strict timeouts to prevent command injection vulnerabilities. Before any diagnostic data leaves the server over the stdio interface, an internal privacy filter scrubs all personal and hardware identifiers. The sanitization pipeline automatically removes hardware UUIDs, serial numbers, MAC addresses, computer hostnames, and active usernames, replacing absolute home directory paths with a standard tilde symbol before output reaches the model.

Mac Health MCP – ask Claude why your Mac FAQ

What is Mac Health MCP?

It is an open-source Model Context Protocol server that connects Claude Desktop, Claude Code, and other MCP clients to local macOS diagnostic tools. It diagnoses performance slowdowns and provides ranked explanations followed by underlying metrics.

How do you install Mac Health MCP in Claude Desktop?

Users can download the mac-health-x.y.z.mcpb release file and double-click or drag it into Claude Desktop, which runs the extension using its built-in Node.js runtime. Alternatively, users can clone the repository and configure the server path in claude_desktop_config.json.

What triggers a memory warning in diagnose_slowness?

A memory alert triggers when macOS enters high memory pressure or when swap memory usage exceeds 2 GB. The tool then identifies the specific applications using the most memory.

Does Mac Health MCP send personal data or system identifiers over the network?

No, the server operates entirely locally without network access or telemetry. An integrated privacy filter strips hardware serial numbers, MAC addresses, UUIDs, hostnames, and usernames before any data is passed to the AI client.

Sources

Dillip Chowdary

Author

Dillip Chowdary

Writes Tech Bytes coverage of AI, engineering, and the tools that actually ship. Editor of Tech Pulse Daily.

Related on Tech Bytes

Advertisement

5-min tech signal

Weekday briefing for engineers who skip the noise.

No spam · Unsubscribe anytime

Advertisement

✈️ CareerPilot

Your AI job-search copilot

Match your resume against live Ashby, Greenhouse & Lever openings — fit scores, job-specific resume optimization and email alerts.

Find matching jobs →

Free Tools

Browse all tools →