Diagnostics for local AI on Apple Silicon

Will this model fit your Mac?

Paste an exact Hugging Face model. Get a plain verdict on whether it fits your unified memory — before you download a single byte of weights.

◉ Reads metadata, never weights ◉ MIT licensed ◉ No tokens/sec hype
maid — check — 80×24
$ maid check ibm-granite/granite-switch-4.1-3b-preview --memory-gb 16
ibm-granite/granite-switch-4.1-3b-preview
Weights8.80 GB
KV cache0.34 GB
Runtime1.31 GB
Peak range11.49–13.06 GB
Available16.0 GB
TIGHT May fit, but close memory-heavy apps or reduce context / concurrency.
$

Four verdicts. No spreadsheets to interpret.

Every check ends in one word. Confidence describes how complete the model's metadata is — not how accurate a benchmark would be. Because this is screening, not a benchmark.

≤ 80%
COMFORTABLE
High estimate uses at most 80% of available memory. Good fit — keep normal apps modest for best stability.
< 20% headroom
TIGHT
Estimated to fit with less than 20% headroom. Close memory-heavy apps or reduce context / concurrency.
> available
UNLIKELY
High estimate exceeds available memory. Choose a smaller or more-quantized model, or reduce context.
no metadata
UNKNOWN
Weight-size metadata is unavailable. Provide a repo exposing safetensors sizes, or a local GGUF file.

Deliberately narrow. Ruthlessly honest.

One job: inspect one exact model for one Apple Silicon memory budget, before a large download. No model rankings, no throughput claims, no telemetry.

01

Any public HF repository

Point it at a Hugging Face model ID or URL. It reads only config.json, the safetensors index, and the API's file-size listing.

02

Local GGUF & MLX

Pass a local .gguf file — it reads the 24-byte header and file size — or an MLX / local config directory.

03

Transparent memory range

Weights, KV cache and runtime are shown as an honest low–high range, with the exact assumptions that produced it.

04

Your workload, dialed in

Tune --context, --concurrency, and --kv-dtype to model exactly how you plan to run inference.

05

Compare & recommend

Put two models side by side under the same workload, or ask for a conservative starting class for coding, chat, or vision.

06

Shareable output

Machine-readable --json, plus a browser UI that exports a Markdown report or an SVG compatibility badge.

No black box.

Decimal GB. Unified memory is shared with macOS, apps and the GPU — the range reflects that.

weights = stored_weight_bytes * 1.06
KV = 2 * layers * KV_heads * head_dim
* context * concurrency * dtype_bytes
runtime = max(1GB, weights * 12%)
+ 0.25GB * concurrency
range = subtotal * 1.10 .. subtotal * 1.25

Weight contents are never downloaded.

  • ✓Reads config.json to learn the model's shape.
  • ✓Reads the safetensors index for stored weight sizes.
  • ✓Reads the Hugging Face file-size listing — bytes on disk, not the bytes themselves.
  • ✓Reads the 24-byte header of a local GGUF, plus its file size.
No weights. No credentials collected. Gated repositories may use your existing Hugging Face authentication — nothing more.

What makes it different?

If you need broad cross-platform recommendations or community benchmarks, other tools fit better. Mac AI Doctor is built for transparent, exact-repository screening on Macs.

Capability Mac AI Doctor Static calculators Hardware recommenders
Inspect an arbitrary public HF repositoryYESusually novaries
Accept local MLX / config dirs & GGUF filesYESNOvaries
Download no model weights during a checkYESyesvaries
Show context, concurrency & KV-cache assumptionsYESvariesvaries
Produce a transparent memory rangeYESvariesvaries
Rank hundreds of models or predict tokens/secNOsometimesoften

In under a minute.

Run once without installing, install the CLI, or launch the browser UI locally.

$uvx mac-ai-doctor check https://huggingface.co/mlx-community/Qwen3-8B-4bit

Inputs: a Hugging Face model ID or URL · a local .gguf file · a local / MLX directory with config.json.

Stop guessing. Diagnose it.

Screen the exact repository before the download. Get a plain verdict and the reasoning behind it.