The fastest local AI engine for Apple Silicon. 4.2x faster than Ollama, 0.08s cached TTFT, 100% tool calling. 17 tool parsers, prompt cache, reasoning separation, cloud routing. Drop-in OpenAI replacement. Works with Claude Code, Cursor, Aider.
pip install rapid-mlx
The fastest local AI engine for Apple Silicon.
Drop-in OpenAI / Anthropic API ยท 2โ4ร faster than Ollama ยท Runs on any M-series Mac.
rapidmlx.com ยท Docs ยท Model mirror ยท Desktop app
Quick Start (60 seconds)
1. Install โ pick one path (run only one of these):
Homebrew โ prebuilt bottle straight from homebrew-core (recommended):
brew install rapid-mlx
or the one-liner โ detects your RAM, picks a starter model:
curl -fsSL https://rapidmlx.com/install.sh | bash
Both land the same rapid-mlx CLI. The curl installer additionally installs Python 3.10+ if missing, creates an isolated venv at ~/.rapid-mlx/, symlinks the rapid-mlx CLI into ~/.local/bin/, and prints a serve command sized to your Mac (8โ23 GB โ qwen3.5-4b-4bit; 24โ47 GB โ gpt-oss-20b-mxfp4-q8; 48โ95 GB โ qwen3.6-35b-8bit; 96 GB+ โ gpt-oss-120b-mxfp4-q8).
Install security.
install.shis served over HTTPS (HSTS-preload) fromrapidmlx.comand is a byte-identical mirror ofinstall.shat the release commit โ read it before running if you like. If you want a cryptographically verified installer rather than trusting the website pipe, don'tcurl | bashthe URL above: instead download the release'sinstall.shasset, verify it against the cosign-signedSHA256SUMS.txtshipped alongside it, and run that verified copy โ full recipe in SECURITY.md. PyPI artifacts additionally carry Sigstore attestations (PEP 740). Two more low-trust paths:
- Pin to a commit hash โ
curl -fsSL https://raw.githubusercontent.com/raullenchai/Rapid-MLX/<commit>/install.sh -o install.sh && shasum -a 256 install.sh && bash install.sh- Skip the shell script entirely โ use Homebrew,
uv, orpipbelow.
See Alternative install methods for the non-curl paths.
2. Chat with a model right now:
rapid-mlx chat
Defaults to qwen3.5-4b-4bit. First run downloads the weights (~2.5 GB) with a progress bar and drops you into a REPL. Type /help for slash commands, /exit to quit.
3. Or serve it for use from other apps:
rapid-mlx serve qwen3.5-4b-4bit
Starts an OpenAI-compatible HTTP server bound to http://localhost:8000. Point any OpenAI SDK / client (Cursor, Aider, LangChain, OpenCode, PydanticAI, your own scripts) at http://localhost:8000/v1; Claude Code / Anthropic SDK uses http://localhost:8000 (the Anthropic messages route lives at /v1/messages under the same host).
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"default","messages":[{"role":"user","content":"Say hello"}]}'
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="not-needed")
print(client.chat.completions.create(
model="default",
messages=[{"role": "user", "content": "Say hello"}],
).choices[0].message.content)
Vision / audio / diffusion models? Base install is text-only (~460 MB). Vision, audio, embeddings, and DFlash speculative decoding ship as opt-in extras. โ Optional extras
Not into the terminal? Rapid-MLX Desktop bundles the same engine inside a one-click Mac app.
Why Rapid-MLX
| Apple-Silicon-native | Pure MLX kernels โ no llama.cpp fallback, no Metal shim. Continuous batching, prompt cache (radix + DeltaNet RNN snapshots), and TurboQuant K8V4 KV codec run at native MLX bandwidth on M1 โ M4. |
| Drop-in OpenAI / Anthropic API | /v1/chat/completions, /v1/responses (Codex CLI), /v1/messages (Anthropic SDK / Claude Code), /v1/embeddings, /v1/audio/* โ same wire as ChatGPT / Claude, no client adapter. |
| Tier-1 ecosystem coverage | 8 agent CLIs and 3 Python frameworks are wire-verified against real weights every release โ Codex CLI, Claude Code, OpenCode, Qwen Code, OpenHands, Hermes Agent, Aider, Kilo Code + LangChain, PydanticAI, smolagents. |
Use Cases
| Chat in the terminal | rapid-mlx chat qwen3.5-9b-4bit |
Streaming REPL, /help for slash commands, --think / --no-think to control CoT. |
| OpenAI server for your apps | rapid-mlx serve qwen3.5-9b-4bit |
Point Cursor, Aider, LibreChat, Open WebUI, LangChain at http://localhost:8000/v1. |
| Agent backends | rapid-mlx serve qwen3.6-35b-8bit &rapid-mlx agents codex --setup && codex |
8 Tier-1 agents auto-configure once the server is up โ see Tier-1 support. |
| Benchmark your Mac | rapid-mlx bench qwen3.5-9b-4bit --submit |
Standardized B=1 bench, opens a PR to publish your row on rapidmlx.com. |
โ One-shot IDE setup with rapid-mlx launch <cursor|claude-code|cline|continue-dev>
Tier-1 Support
Every row below has a rapid-mlx agents <name> --setup config template (except Claude Code, which is one env-var) and an integration test that drives the same wire the real client drives against a live server.
| Agents (8) | Frameworks (3) |
|---|---|
| Codex CLI ยท Claude Code ยท OpenCode ยท Qwen Code ยท OpenHands ยท Hermes Agent ยท Aider ยท Kilo Code | LangChain (+ LangGraph) ยท PydanticAI ยท smolagents |
Also compatible with any OpenAI-compatible client via http://localhost:8000/v1 โ Cursor, LibreChat, Open WebUI, and more plug in with a single URL change.
โ Full 8ร3 agent matrix + 3ร3 framework matrix (test cells + xfail reasons) โ Codex CLI ยท Claude Code ยท OpenCode ยท Qwen Code ยท OpenHands ยท Hermes ยท Aider ยท Kilo Code
Choose Your Model
The installer's RAM detector picks a sensible default. If you want to shop the full catalog: rapid-mlx models lists every alias, rapid-mlx info <alias> shows the per-alias profile (parser, MoE / hybrid flags, KV codec eligibility, speculative-decoding gates).
| RAM | Recommended | One-shot |
|---|---|---|
| 8โ23 GB MacBook Air/Pro | qwen3.5-4b-4bit |
rapid-mlx serve qwen3.5-4b-4bit |
| 24โ47 GB MacBook Pro / Mac Mini | gpt-oss-20b-mxfp4-q8 |
rapid-mlx serve gpt-oss-20b-mxfp4-q8 |
| 48โ95 GB Mac Studio | qwen3.6-35b-8bit |
rapid-mlx serve qwen3.6-35b-8bit |
| 96 GB+ Mac Studio / Pro | gpt-oss-120b-mxfp4-q8 |
rapid-mlx serve gpt-oss-120b-mxfp4-q8 |
โ Full RAM tier map + serve flags per tier โ Every alias, quant, and family (128+ aliases across 30+ families) ยท interactive at models.rapidmlx.com
Alternative install methods
The two paths above cover most users โ reach for these only if you already manage Python yourself.
Homebrew โ Mac-native, one command, prebuilt bottle from homebrew/core
brew install rapid-mlx
Ships in homebrew-core since 0.10.12 โ no tap, no trust prompt. Upgrade with brew upgrade rapid-mlx. If you previously installed from the legacy raullenchai/rapid-mlx tap, switch once: brew uninstall rapid-mlx && brew untap raullenchai/rapid-mlx && brew install rapid-mlx.
uv โ isolated tool install, auto-manages Python
uv tool install rapid-mlx@latest
Don't have uv yet? curl -LsSf https://astral.sh/uv/install.sh | sh. Upgrade with uv tool upgrade rapid-mlx.
pip โ requires Python 3.10+ (macOS ships 3.9)
python3.12 -m pip install rapid-mlx
If pip install rapid-mlx says "no matching distribution", your Python is too old. brew install python@3.12 first. Upgrade with pip install -U rapid-mlx.
For image-input / VLM models (Qwen-VL, true multimodal), install the vision extra: pip install 'rapid-mlx[vision]' โ see Optional extras.
Command Reference
rapid-mlx --help # top-level command list
rapid-mlx <subcommand> --help # per-subcommand flags
Covers chat, serve, share, agents (setup / test), bench, models, pull, rm, ps, info, doctor, upgrade, telemetry, launch, and jlens.
โ Full CLI reference with every flag
Troubleshooting
Run the built-in self-check first:
rapid-mlx doctor
Top three things that go wrong:
- Much slower than expected. Qwen3.5 / 3.6 default to thinking-on โ add
--no-thinkto skip chain-of-thought. โ Slow tok/s - Out of memory. Model too big for your RAM โ pick a smaller quant from Choose Your Model or the full tier map. โ OOM guide
- Tool calls arriving as plain text. Auto-recovery handles most cases; if not, set
--tool-call-parserexplicitly for your model. โ Tool-call recovery
โ All troubleshooting entries (OOM, empty responses, slow TTFT, port taken, shell completion, HF cache, and more)
See it in action
Community & Contributing
- Report a bug or request a model: Issues
- Report a security issue: Private advisory โ see SECURITY.md
- Ask a question or share a build: Discussions
- Contribute code, aliases, or docs: CONTRIBUTING.md
- Add your hardware to the public benchmark:
rapid-mlx bench <alias> --submitopens the PR for you
Rapid-MLX ships opt-in anonymous telemetry (off by default; explicit rapid-mlx telemetry enable required). No prompts, completions, paths, IPs, or API keys are ever collected. โ What we do and don't collect
๐ Contributors
Every avatar here shipped something in rapid-mlx โ model support, tool-call parsers, fixes, docs, and benchmark submissions. Thank you.
Star History
License
Apache 2.0 โ see LICENSE.