返回资讯中心
外部精选
软件工程
#开发者实时流

Show HN: MCP for Your Mac Hardware

MCP for your Mac hardware. Works with Claude and Codex.

Hacker News 最新titusblair2026/10/30 · 今天17 分钟阅读

以下正文同步自 Hacker News 最新,版权归原站所有,已转换为易读排版。

MCP for your Mac hardware. Works with Claude and Codex.

MacMonitor is a free, open-source Mac app that shows what your Mac's hardware is doing, live. It answers one question first: why is my fan on right now?

It lives in the menu bar, opens a window full of live graphs, keeps history, sends alerts, and lets AI agents like Claude and Codex read the same data through an MCP server.

It reads hardware sensors read only. It never writes to the hardware, never needs an admin password, and sends nothing over the network.

Built for Apple Silicon Macs (M-series chips).

Tested on one Mac: a MacBook Pro with an M4 Pro chip, on macOS 26.

Needs macOS 15 or newer to build and run.

On other Apple Silicon chips it should run, but some sensor names, the chip map drawing and the core layout are tuned for the M4 Pro. A reading it cannot find shows "not available" instead of a wrong number.

Intel Macs are not supported.

What you get

Menu bar: a tiny CPU graph plus CPU 42% · 71° · 2.3k (CPU, hottest temperature, fan RPM). Click it for key numbers, the fan headline and an "Open MacMonitor" button.

Overview: CPU, GPU, hottest temperature and fan tiles with moving graphs, power by chip part, system and wall power, thermal pressure, and the top apps by energy.

Chip map: a drawing of the M4 Pro chip. Each block glows blue (40°) to red (100°) with its live temperature. One bar per core (10 P cores, 4 E cores), with clocks and watts.

Detail pages: Heat & fans, CPU, GPU, Memory, Power & battery, Disks, Network, Apps. Click a row to open its history chart (15 minutes, 1 hour, 24 hours or 30 days).

Events: fan ramps, heat, throttle signs, memory, swap, disk, SSD, battery flag and wake.

Settings: alert switches and thresholds, start at login, sample rate, history size and a clear button.

Sensor names we have not proven carry a best guess tag. A reading that is missing shows "not available" or --, never a fake zero.

Get MacMonitor-<version>.zip from the latest release. It is for Apple Silicon Macs on macOS 15 or newer.

Double-click the zip, then drag MacMonitor.app into your Applications folder.

Open it. The first time, macOS says "Apple could not verify MacMonitor". This is because the app is not signed with a paid Apple Developer ID yet. Click Done, then pick one fix:

System Settings: open Privacy & Security, scroll down to "MacMonitor was blocked", click Open Anyway, and confirm with your password or Touch ID.

Terminal: run this once, then open the app again.

xattr -dr com.apple.quarantine /Applications/MacMonitor.app

You only do this once. Prefer to check the code first? Build it yourself (next section).

You need Apple's Command Line Tools (no Xcode needed). There are no third-party packages.

xcode-select --install # skip if the Command Line Tools are already installed git clone https://github.com/primemindai/macmonitor.git MacMonitor cd MacMonitor

Build only (to check it compiles):

swift build

Build, install and open the app:

scripts/bundle.sh --open

This builds a release copy, wraps it in MacMonitor.app, signs it ad hoc, installs it to ~/Applications/MacMonitor.app and opens it. The first launch asks once for notification permission and turns on "start at login".

Make a release zip (what the Releases page ships; it does not install anything):

scripts/release.sh 1.0.0

Run the tests. Use the script: plain swift test on Command Line Tools cannot find the Testing framework, so it fails or runs zero tests.

scripts/test.sh

Claude and Codex can read it too (MCP)

The MCP server is a separate program inside the app. The commands below use the path from a source build (~/Applications). If you downloaded the app into your Applications folder, use /Applications/MacMonitor.app/Contents/MacOS/macmonitor-mcp instead.

~/Applications/MacMonitor.app/Contents/MacOS/macmonitor-mcp

Register it with Claude Code:

claude mcp add -s user macmonitor -- ~/Applications/MacMonitor.app/Contents/MacOS/macmonitor-mcp

Register it with Codex:

codex mcp add macmonitor -- ~/Applications/MacMonitor.app/Contents/MacOS/macmonitor-mcp

It is a standard stdio MCP server, so any other MCP client works the same way: point it at that path.

The MCP server works even when the app is closed: it then takes a fresh live sample. History tools need the app to have been running.

These need root (an admin password) or would change hardware, so MacMonitor does not do them:

No serial numbers are shown in the app or returned by the MCP server.

No network use. MacMonitor sends nothing anywhere.

It never asks for or stores a password.

The Wi-Fi network name is not shown (macOS needs Location access for it, and we do not ask).

History

History lives in ~/Library/Application Support/MacMonitor/history.sqlite. It keeps 24 hours at full detail (one row a second) and per-minute summaries for 30 days. It stays well under 150 MB (measured numbers in docs/proof/db-size.txt).

To clear it, use Settings, History, Clear history, or quit the app and delete that folder.

Stop starting at login: turn off Settings, Start at login. Or, if it used the LaunchAgent fallback:

launchctl bootout gui/$(id -u)/com.macmonitor.app rm ~/Library/LaunchAgents/com.macmonitor.app.plist

If it used SMAppService, you can also remove it in System Settings, General, Login Items.

claude mcp remove -s user macmonitor

CPU cost

MacMonitor is built not to heat the Mac it watches. Budget (100% = one core, 60 second average, child processes such as ps and top included): 3% with only the menu bar, 15% with the window open. Measure it:

defaults write com.macmonitor.app cpuLogPath /tmp/macmonitor-cpu.txt # then restart the app scripts/measure-cpu.sh "menu bar only" 60

Live motion (moving graph lines, rolling numbers, sliding bars, the spinning fan) runs in Core Animation, so the app draws one frame a second and the system animates the rest.

~/Applications/MacMonitor.app/Contents/MacOS/MacMonitor --render-screenshots docs/screenshots --wait 130

This samples live for --wait seconds, then renders every page in dark and light to PNG. It reads history but never writes it.

Sources/CSensors: small C wrappers that read the SMC, IOReport, HID sensors and NVMe SMART data.

Sources/MonitorCore: the sampler, the data model, the history database, the fan explainer and the MCP server logic.

Sources/MacMonitor: the SwiftUI menu bar app and window.

Sources/macmonitor-mcp: the MCP server program.

docs/specs/: the original design spec. research/: notes and small probe programs on which macOS data a normal user can read.

docs/FOLLOWUPS.md: known issues.

License

MIT. See LICENSE.

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →