# How to ask Claude what's eating your Mac's CPU (MCP setup)

By Tom Shafer · Oct 30, 2026 · https://shafer.llc/blog/how-to-ask-claude-what-s-eating-your-mac-s-cpu-mcp

> Add a local MCP server to Claude Code with one `claude mcp add` line, and the assistant can answer "what's eating my CPU?" from live data: top apps, ports, temperatures. It's read-only, and it can only ask you to quit an app.

You can ask Claude, Codex or Cursor what is slowing your Mac down, and get an answer from live data instead of generic advice. You need an MCP server on your Mac that reports what is running. Register it once, and the assistant can call it whenever you ask.

I built one into Binnacle, my menu bar monitor, called `binnacle-mcp`. Here is how the setup works and what it can and can't do.

## Why can't an assistant just answer this itself?

Because it can't see your machine. Ask "why is my fan loud?" in a plain chat and you get a list of guesses: close tabs, check Activity Monitor, reset the SMC. Nothing in that answer comes from your Mac.

An assistant that can run `top` in a terminal gets closer, but `top` lists processes. Chrome alone shows up as dozens of helper rows, and Electron apps and `node` do the same. In one of my screenshots, `node` is 134 processes and 9.06 GB. That's a lot of rows for an assistant to add up itself.

MCP (Model Context Protocol) fixes this by giving the assistant a few named tools it can call. The tools do the measuring. The assistant only has to ask.

## How do I add it to Claude Code?

In Binnacle, open Settings › Assistants. It shows a ready-made line with the right path for your install. It looks like this:

```sh
claude mcp add binnacle -- "/Applications/Binnacle.app/Contents/MacOS/binnacle-mcp"
```

The path in your copy depends on where you put the app, so copy the line from Settings rather than typing it. Run it in a terminal, then check that it registered:

```sh
claude mcp list
```

The server talks to the assistant over stdio, so there is nothing to host and no port to open. Codex and Cursor can use the same binary. They each have their own way of registering an MCP server, so check their docs for the config format.

The server is off by default. You switch it on in Binnacle first. Until you do, the tools reply that it's disabled.

## What can the assistant ask for?

There are six tools:

| Tool | What it returns |
|------|-----------------|
| `system_status` | Whole-Mac snapshot: process count, load, temperatures, fans, GPU, battery, disk space, Bluetooth batteries |
| `top_apps` | Busiest apps, with helper processes folded into their app. CPU is percent of one core |
| `app_details` | One app by name: CPU, memory, processes, listening ports |
| `who_uses_port` | Which process is listening on a TCP port, and the folder it was started in |
| `dev_servers` | Servers running inside project folders, with their ports and memory |
| `request_quit` | Asks you, in Binnacle's own window, whether to quit an app |

One detail matters for CPU questions: `top_apps` reports percent of *one core*. On a multi-core Mac, an app at 250% is using two and a half cores, not breaking the scale. If the assistant says "Chrome is at 180%", that is the number it means.

## What does a real question look like?

Try these in Claude Code once the server is registered:

```
What's using the most CPU on my Mac right now?
Why is my fan running? Check temperatures and the busiest apps.
What is listening on port 3000, and which project started it?
Which dev servers are running, and how much memory are they using?
```

The fan question is a good example of why tools beat guesses. The assistant can call `system_status` for temperatures and fans, then `top_apps` for the culprit, and answer in one reply with the app's name attached.

The port question is the one I use most. `who_uses_port` returns the process and the folder it was started in, so the assistant can tell you "that's the Vite server from `~/Projects/shop`" rather than a bare PID.

## Can the assistant kill things on its own?

No, and that was a deliberate limit. Five of the six tools only read. The sixth, `request_quit`, doesn't quit anything. It opens a confirmation dialog in Binnacle, and you decide there. If you ignore it, nothing happens.

I wanted it this way because an assistant that acts on a wrong guess about a process is a bad trade for the convenience. A confirmation dialog costs one click.

Binnacle has no telemetry. Its only network calls are license activation and update checks.

## What does it cost?

Binnacle has a 14-day trial with everything unlocked, then it's $9 once. `binnacle-mcp` is part of what the license unlocks after the trial. The menu bar readouts stay free after the trial, but the MCP server doesn't.

If you'd rather not install anything, the same questions work from a terminal with `top -o cpu` and `lsof -i :3000`. You'll do the adding up yourself, and the assistant won't see any of it.

If you want the version where the assistant does the adding up, Binnacle is at https://binnacle.shafer.llc?utm_source=blog. It needs macOS 14 or later.

## What I'd check if it doesn't work

- **The assistant says the tools are disabled.** Turn the server on in Settings › Assistants.
- **`claude mcp list` doesn't show `binnacle`.** Re-run the copied line and check the quotes around the path.
- **It worked, then stopped after a trial ended.** The MCP server needs a license after the 14 days.
