MTPLX is a free, open source Mac app and CLI that runs local LLMs on Apple Silicon with native multi-token-prediction speculative decoding: the model drafts ahead with its own MTP heads, verifies in one pass, and the output is exact at any temperature. Created by Youssof Altoukhi, who brought native MTP to the Mac in April 2026.
Download the app or brew install youssofal/mtplx/mtplx. Pick a model that fits your RAM, run mtplx start, and you are serving in two minutes.
Qwen 3.8 27B for coding on 32 GB and up, Flash-Next on 96 GB and up, Qwen 3.5 9B and 4B for 16 GB Macs, Gemma 4 and the 35B MoE. Measured speeds per pack.
Qwen 3.8 27B from 3k to 147k tokens of context, the 81.74 tok/s record, Flash-Next, memory from 32k to 262k. Each with its version, chip and date.
MTPLX serves an OpenAI-compatible and an Anthropic-compatible API on 127.0.0.1:8000. Anything that speaks either protocol works. The app launches OpenCode, Pi and Hermes with one click, and each client also has a manual setup.
Run Claude Code against a local model through /v1/messages. Full tool loop, 165k-token first turns, warm restores between turns.
One command: mtplx start opencode. The first agent harness MTPLX supported, since May 2026.
mtplx start pi launches Pi against the local server with the model's own sampling contract.
Cline in VS Code with an OpenAI-compatible provider pointed at MTPLX. Prefix caching keeps long sessions warm.
Hermes, Continue, the openai and anthropic Python clients, curl. If it speaks either API, it works. Endpoint reference with examples.
Settings, Connections, OpenAI API, base URL http://127.0.0.1:8000/v1. Docker variant included.
Which of the three 27B packs to pick, what RAM you need, what speed to expect at 3k and at 100k tokens, and how to check the output is exact.
Why decode speed on Apple Silicon is a memory-bandwidth problem, why native MTP doubles it, and why prefix caching matters more than tok/s once an agent passes 50k tokens.
Same-machine numbers where MTPLX ran both engines; third-party numbers credited to their authors, with version and date.
Deeper reference lives in the repository: server, profiles, model compatibility, troubleshooting.