Skip to content

Run large language models locally on your Mac. Nothing leaves it.

A local LLM runner and benchmark for Apple Silicon, built on Apple MLX. No telemetry, no account, nothing leaves this Mac.

Mac App Store — coming soon See how it works

macOS 26 or later · Apple Silicon Mac

The MetalMind window on macOS: conversation history on the left, the Hugging Face model browser in the centre, and live unified memory, tokens per second, and time to first token on the right.

A native Mac app for local AI

MetalMind downloads open-weights language models from Hugging Face in Apple's MLX format and runs them on the GPU and unified memory of your Apple Silicon Mac. Once the weights are on disk it works offline, with no account and no cloud provider in between.

It is not a wrapper around a cloud API, and not an Electron window around llama.cpp. The engine is Swift and Metal on Apple MLX, the interface is SwiftUI, and the whole thing is one application with nothing to install alongside it — no Python, no Docker, no runtime to manage.

Privacy

Nothing leaves your Mac

Not as a slogan — as a list of what the application actually does. If it opened a connection you did not ask for, it would be written here too.

Models run on your GPU

Prompts, context, and generated tokens are processed by Apple MLX on the GPU of your Mac. No prompt is ever sent to a server, because there is no server to send it to.

No telemetry of any kind

No analytics SDK, no usage events, no crash reporting, no advertising identifier. The app does not know how often you open it.

One outbound connection, on request

The only network connection MetalMind opens by itself is to Hugging Face, to search for models and download weights — and only after you ask for a specific model.

The API server is bound to 127.0.0.1

The local server listens on the loopback interface only. It is not exposed on your network interface, so nothing on your LAN can reach it.

Conversations are one file you own

Chat history is stored as a single file in Application Support inside the app sandbox. Delete the file and the history is gone. Nobody else has a copy.

For developers

Point your editor at 127.0.0.1 instead of a cloud API

The server speaks the OpenAI protocol, so the client you already use needs one changed base URL and nothing else.

OpenAI-compatible, on localhost

A /v1/chat/completions endpoint with SSE streaming on port 8080 by default. The port is configurable if 8080 is taken.

Works with the editors you already use

Cursor, VS Code, Zed, and anything else that speaks the OpenAI protocol. The API key field can be any string — it is not checked, because there is no account.

Concurrent requests queue instead of failing

Requests are serialised through the engine. Above the queue limit the server answers 503 with a Retry-After header, which standard clients honour and retry on their own.

Request inspector, in the free tier

Every call with timings and full payloads, plus Copy as cURL. A paid API you cannot debug is worth less than a free one you can, so this is not behind the paywall.

curl
curl http://127.0.0.1:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer local" \
  -d '{
    "model": "qwen2.5-7b-instruct-4bit",
    "messages": [{"role": "user", "content": "Explain unified memory."}],
    "stream": true
  }'
editor settings.json
{
  "language_models": {
    "openai_compatible": {
      "MetalMind": {
        "api_url": "http://127.0.0.1:8080/v1",
        "api_key": "local",
        "available_models": [
          { "name": "qwen2.5-7b-instruct-4bit", "max_tokens": 8192 }
        ]
      }
    }
  }
}

Cursor and VS Code take the same two values in their own settings: the base URL http://127.0.0.1:8080/v1 and an API key, which can be any non-empty string.

Features

What is free, and what is in Pro

Free

Start with no download

If your Mac has Apple Intelligence enabled, the system model is offered as a choice and is available immediately.

Local chat up to 8B

Run open-weights models up to 8 billion parameters, downloaded in MLX format from Hugging Face.

Zero-RAM idle

After 5 minutes without activity the weights are released from unified memory, and reloaded on your next prompt.

Live telemetry

Tokens per second, time to first token, and unified memory in use — while the model is generating.

OpenAI-compatible server

The full local server, capped at 25 requests in the free tier.

Request inspector

Timings, payloads, and Copy as cURL for every request the server handled.

Model browser

Search Hugging Face from inside the app, with an estimate of whether a model fits in your memory before you download it.

History of 3 conversations

The last three conversations are kept and searchable.

Pro Subscription, or buy it once

Models of any size

No parameter ceiling, including Mixture-of-Experts models — as far as your unified memory goes.

Unlimited API requests

The 25-request cap on the local server is removed.

Markdown export

Export a conversation to Markdown with the measured metrics attached to each answer.

40 conversations

History grows from 3 to 40 stored conversations.

Sampling and system prompt

Set your own temperature and your own system prompt.

Configurable auto-sleep

Choose when weights are evicted: never, or after 1, 5, 15, or 60 minutes.

Performance

Numbers, with the machine attached

MetalMind measures tokens per second and time to first token on every run, and keeps the best run for each model. Throughput depends on the chip, the memory bandwidth, the model, and the quantisation — so each figure below names all four. A number without that context tells you nothing.

MacMemoryModelQuanttok/sTTFT
Apple M4· 10 GPU cores16 GB unifiedQwen2.5-0.5B-Instruct4-bit68.0123 ms

Scroll the table sideways →

Apple Intelligence

The system model, when your Mac has one

What you get

  • If Apple Intelligence is enabled on your Mac, the system model appears as a choice in the model picker.
  • It is available immediately. Nothing is downloaded, and it takes no additional disk space.

What it cannot do

  • A smaller context window than the open-weights models you download.
  • Less control over sampling — temperature and system prompt do not apply the same way.
  • Responses are subject to Apple content rules.
  • It is not served through the local API. The OpenAI-compatible server only serves MLX models.

Pricing

Three ways to pay for Pro. One of them is once.

Every paid plan unlocks the same features — the difference is only how long you pay for them. The lifetime unlock is a single payment with no renewal and nothing to cancel, which is the option most tools in this category do not offer at all. Sold through the App Store and tied to your Apple ID.

Free

$0

Local chat with models up to 8B, the local server with 25 requests, the request inspector, live telemetry, the model browser, and 3 stored conversations.

No purchase, no account

Pro — 3 months

$4.99

/ 3 months≈ $1.66 / mo

Every Pro feature, renewed every three months. Cancel in the App Store at any time.

Quarterly flexibility

Pro — 1 year

$9.99

/ year≈ $0.83 / mo

Every Pro feature for a year. Half the monthly cost of the quarterly plan.

Annual access

Pro — Lifetime

$16.99

one-time

Every Pro feature, bought once. No renewal, nothing to cancel — roughly the price of twenty months of the annual plan, and then it stops.

Pay once, keep forever

MetalMind is coming to the Mac App Store. Subscriptions are managed and cancelled in the App Store. The lifetime unlock has nothing to manage. Restore Purchases brings any of them back on a new Mac signed in to the same Apple ID.

FAQ

Questions worth asking

Does MetalMind need an internet connection?

Only to download a model. Once the weights are on disk, you can run MetalMind with networking off entirely — inference, the local API server, and the request inspector all work offline.

Is MetalMind a native Mac app?

Yes. It is a single macOS application written in Swift and SwiftUI, running models through Apple MLX with Metal on the GPU. There is no Python environment to set up, no Docker, no Electron shell, and no third-party inference binary — you install one app and it runs local AI on your Mac.

Can I use a local LLM in Cursor, VS Code, or Zed instead of a cloud API?

Yes. MetalMind runs an OpenAI-compatible server on 127.0.0.1 with SSE streaming, port 8080 by default. Point the editor at http://127.0.0.1:8080/v1 instead of a cloud provider, give it any non-empty API key, and it talks to the model on your Mac. Your code never reaches anyone else.

Where do the models come from?

From Hugging Face, in MLX format. You search the hub from inside the app and download the weights over HTTPS directly to your Mac.

How much disk space does a model take?

From roughly 280 MB for a small 4-bit model to tens of gigabytes for the largest ones. The model browser shows the download size and estimates whether the model fits in your unified memory before you start.

Does MetalMind work on an Intel Mac?

No. The engine is built on Apple MLX, Metal, and unified memory, all of which require Apple Silicon. MetalMind requires macOS 26 or later on an Apple Silicon Mac.

Do you send my conversations anywhere?

No. Never. There is no server to send them to — no account system, no backend, no analytics endpoint. Conversations are stored as a single file in Application Support on your Mac.

What happens to my Pro licence if I reinstall macOS?

Use Restore Purchases. Pro is a one-time purchase tied to your Apple ID, so reinstalling the system or moving to a new Mac restores it at no cost.

Can I use MetalMind commercially?

Yes. The application licence permits commercial use. The licence of each model you download is a separate matter, set by whoever published those weights — check it before you build on a given model.