Tu Mac ya es una máquina de inferencia — memoria unificada, GPU que la comparte y cero dólares por token. Lo que le faltaba era un servidor que la trate como tal: respondiendo a Cursor, Claude Code, Aider y tus propios scripts a la vez, sobre el mismo wire de OpenAI, sin ninguna cuenta cloud en el medio.
En esta guĂa te muestro quĂ© es Rapid-MLX y por quĂ© ~3.800 desarrolladores le dieron estrella, cĂłmo funciona su motor MLX-nativo en 4 pasos, el quickstart verificado que sirve Qwen en 60 segundos en localhost:8000/v1 y — igual de importante — cuándo NO deberĂas usarlo.
1. Qué es Rapid-MLX: Stars, Licencia y la Idea
Rapid-MLX es un servidor LLM open-source de alto rendimiento construido exclusivamente para Macs con Apple Silicon sobre el framework MLX de Apple. Un comando sirve un modelo abierto detrás de una API HTTP drop-in OpenAI-compatible (y Anthropic-compatible), asà cualquier cliente que hable el wire de ChatGPT — agentes, IDEs o tu propio Python — puede apuntar a http://localhost:8000/v1 sin adaptador ni API key. Al 22 de septiembre de 2026 el repositorio en github.com/raullenchai/Rapid-MLX ronda las 3.800 estrellas y 418 forks bajo licencia Apache 2.0, con un catálogo de 261 aliases totales: 196 de texto, 11 de imagen, 10 de video y 44 de audio.
Datos del Repo (verificados Sep 2026)
- Repositorio: github.com/raullenchai/Rapid-MLX
- Estrellas: ~3.800 (verificá el conteo vivo en GitHub)
- Licencia: Apache 2.0 — uso comercial permitido
- Endpoint: http://localhost:8000/v1 (wire OpenAI) + /v1/messages (wire Anthropic)
- Modelos: 260+ aliases: Qwen 3.5/3.6/3.8, Gemma 4, DeepSeek, GPT-OSS, GLM, visiĂłn, TTS, video
La apuesta central es honestidad de hardware: Ollama y llama.cpp son motores C++ con backend Metal, mientras Rapid-MLX corre kernels MLX puros al ancho de banda nativo de la memoria unificada, de M1 a M5. El repo declara 4.2x sobre Ollama en su tagline mientras el cuerpo documenta hasta 3x de throughput medido — tratá ambos como números reportados por el repo que podés reproducir vos mismo con el rapid-mlx benchmark run incluido, que es exactamente para lo que existe el leaderboard comunitario en rapidmlx.com.
Por qué importa en 2026
Los agentes de código se volvieron caros y charlatanes: cada Ctrl-K, cada corrida del composer y cada agente de fondo quema tokens. Un servidor local apaga ese medidor — $0 por token, tu código jamás sale de la Mac — manteniendo exactamente las mismas herramientas: Claude Code, Codex CLI, Aider, OpenCode y todo lo OpenAI-compatible siguen funcionando, solo que apuntando a localhost.
2. Arquitectura en 4 Pasos: Del Request a los Tokens
El README documenta el motor como serving MLX-nativo con continuous batching, KV cache cuantizado en vivo, prompt caching y speculative decoding. Acá va, paso a paso:
Paso 1 — ejecución MLX-nativa, sin llama.cpp
Kernels MLX puros con cómputo Metal — sin fallback C++, sin shim. El motor hereda paged KV cache, prefix cache y continuous batching de su linaje vLLM-MLX, asà una Mac responde a Cursor, Claude Code, tus agentes y tus scripts en concurrente en lugar de encolarlos uno detrás de otro.
Paso 2 — cachés en todos lados: prompt, prefijo, KV cuantizado
Un prompt cache radix con snapshots RNN DeltaNet más un KV cache vivo cuantizado (int4/int8 en el path de continuous batching, codec TurboQuant K8V4) recorta trabajo repetido. El repo reporta 0.08s de time-to-first-token cacheado, y los prefijos compartidos entre llamadas concurrentes dejan de pagar prefill dos veces.
Paso 3 — 17 tool parsers detrás de wires estándar
Diecisiete parsers de tool calls (hermes por defecto en Qwen, parser de razonamiento qwen3 y envelopes por familia) con separación de razonamiento, expuestos en /v1/chat/completions, /v1/responses para Codex CLI y /v1/messages para el SDK de Anthropic y Claude Code. Doce CLIs de agentes más LangChain, PydanticAI y smolagents se verifican contra pesos reales cada release — cinco de ellos Tier-1, que bloquean el release si fallan.
Paso 4 — speculative decoding + conexión de agentes en un comando
Un path MTP verificado (1.43x a 128 tokens hasta 2.34x a 32K en Qwen3.8-27B, salida byte-idéntica) más speculative decoding DFlash opcional. Y rapid-mlx launch claude-code parchea tu config del agente para rutear al servidor local — Claude Code totalmente local sin editar JSON a mano.
Throughput, con honestidad
En rapidmlx.com conviven dos números: throughput agregado con 4 streams concurrentes (Qwen3.5-4B a 261 tok/s en M3 Ultra) y decode de un solo request (esa misma clase de modelo a ~37 tok/s en una M4 de 16 GB). Ambos son medianas reportadas por el repo, no reviews independientes — compará agregado con agregado y single con single, y corré rapid-mlx benchmark run en tu propia Mac antes de elegir tu modelo diario.
3. Quickstart: Sirviendo Qwen en 60 Segundos (Verificado)
Todos los comandos de abajo salen directo del README vivo y de rapidmlx.com/download — verifiquĂ© cada uno contra el repo el 22 de septiembre de 2026. ElegĂ una vĂa de instalaciĂłn y servĂ. La primera corrida descarga los pesos (~3 GB para el modelo inicial) con barra de progreso; despuĂ©s son segundos.
# Opción A — Homebrew (botella precompilada, sin tap) brew install rapid-mlx # Opción B — instalador guiado (detecta RAM, recomienda modelo inicial) curl -fsSL https://rapidmlx.com/install.sh | bash # Opción C — pip (necesita Python 3.10+; macOS trae 3.9, asà que primero brew install python@3.12) python3.12 -m pip install rapid-mlx # Extras: pip install 'rapid-mlx[vision]' | pip install 'rapid-mlx[audio]' | pip install 'rapid-mlx[all]'
# Chateá ya mismo (por defecto qwen3.5-4b-4bit)
rapid-mlx chat
# O servilo para todas las demás apps
rapid-mlx serve qwen3.5-4b-4bit
# => serving on http://localhost:8000/v1
# Verificá el wire
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"default","messages":[{"role":"user","content":"Say hello"}]}'# Apuntá cualquier cliente OpenAI — sin key
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)
# Claude Code / SDK de Anthropic usa el mismo host: http://localhost:8000
# (la ruta Anthropic messages vive en /v1/messages)# Conectá tu agente de código en un comando (el servidor debe estar corriendo) rapid-mlx launch claude-code # parchea ~/.claude/settings.json, $0 por token rapid-mlx launch list # todo lo detectado en esta máquina # Auto-diagnóstico cuando algo anda raro rapid-mlx doctor # metal, imports, CLI, carga del modelo: PASS/FAIL rapid-mlx benchmark run qwen3.5-9b-4bit # números reproducibles de TU Mac
Elegà el modelo según tu RAM con rapid-mlx recipe o rapid-mlx info <alias> — Qwen3.5/Qwen3.6 arrancan con thinking activado, asà que agregá --no-think si el decode se siente lento. Un caveat honesto del propio README: Cursor rutea los requests BYOK por sus propios servidores, que no alcanzan tu localhost — Cursor necesita un túnel HTTPS público más RAPID_MLX_API_KEY, y eso deja de ser totalmente local. Claude Code, Codex CLI, Aider y OpenCode funcionan directo contra localhost.
Tip: dejá que el instalador elija tu primer modelo
El instalador guiado y la app Desktop leen el mismo catálogo por tiers de RAM, y un test de CI falla si divergen. En 16 GB elige qwen3.5-4b-4bit (~6 GB pico), en 32 GB+ qwen3.8-27b-4bit (~20 GB) — empezá ahĂ, medĂ, y reciĂ©n despuĂ©s subĂ hacia los MoE 35B y el lane DeepSeek de 158B.
4. Elegà por RAM: Qué Entra en tu Mac
La memoria unificada es el techo duro — el modelo, el KV cache y macOS la comparten. Estos son los tiers y velocidades reportados por el repo (página PyPI, tier map del README y benchmarks comunitarios, septiembre 2026):
16 GB MacBook Air/Pro → Qwen3.5-4B
rapid-mlx serve qwen3.5-4b-4bit, ~6 GB pico. Decode single-request comunitario ~37 tok/s en M4; agregado 261 tok/s en 4 streams en M3 Ultra. El daily driver para laptops.
32 GB Mac → Qwen3.8-27B
rapid-mlx serve qwen3.8-27b-4bit, ~20 GB pico. Verificado 43.4 tok/s de decode y 330.8 tok/s de prefill a 8K de contexto en M3 Ultra, con MTP automático. Pesos abiertos clase GPT-5.6 en una máquina de escritorio.
64–96 GB Mac → MoE 35B / 122B
Qwen3.5-35B a ~83 tok/s en 64 GB; Qwen3.5-122B a ~57 tok/s en 96 GB+. Las formas MoE (pocos billones activos por token) explican por qué entran donde los densos no pueden.
128 GB+ Studio → DeepSeek V4 Flash 158B
MoE 158B-A13B a 31–56 tok/s con 1M de contexto en 128 GB+. Inteligencia de nivel frontera, soporte day-zero, todavĂa $0 por token y totalmente offline.
El patrĂłn comĂşn a los cuatro: primero matcheá el alias a tu memoria unificada, segundo medĂ, y recordá que el decode single-request y el agregado de 4 streams son deportes distintos — el nĂşmero que importa es el medido en tu workload, en tu chip.
5. Cuándo NO Usar Rapid-MLX: LĂmites Honestos
Me gusta Rapid-MLX, pero es un servidor solo-Mac con opiniones — tiene gate de plataforma, techo de memoria y un paso de setup. Esta es mi checklist honesta:
❌ Mejor otra cosa cuando
- • No estás en Apple Silicon — MLX exige M1 o posterior en macOS 14+. Intel, Windows y Linux server quedan afuera; para flotas NVIDIA/CUDA usá vLLM o SGLang.
- • Necesitás Cursor en localhost plano — el path BYOK de Cursor no alcanza tu loopback; tunelarlo a público rompe la historia totalmente-local, asà que dejale modelos cloud.
- • Necesitás escala gerenciada — un Studio sirve a un equipo, no un lanzamiento; tráfico multi-usuario con picos va en inferencia hosteada con autoscaling.
- • Tu Mac tiene 8 GB — solo entran los aliases chicos (clase lfm2.5-2.6b, ~3 GB), y todo lo que exceda a swap se va a sentir roto, no lento.
- • Necesitás SLAs reproducibles de vendor — los benchmarks comunitarios son medianas en chips y térmicas puntuales; si tenés que prometer p99, medà tu propia flota primero.
âś… Rapid-MLX encaja genial cuando
- • Codeás a diario con Claude Code, Codex CLI, Aider u OpenCode y querés $0 por token.
- • Tu código o prompts no pueden salir de la máquina — offline, privado, sin cuenta ni facturación.
- • Una Mac debe servir varias apps y agentes en concurrente sobre wires OpenAI/Anthropic estándar.
- • Querés tool calling que realmente parsee — 17 parsers con smoke tests de agentes que bloquean releases.
Regla de oro
Dimensioná el modelo a la Mac, no al hype. Si no podés responder “cuánta memoria unificada queda libre después del modelo, el KV cache a mi largo de contexto y macOS”, corré rapid-mlx recipe y medà antes de adoptar nada más grande — el servidor más rápido es el que jamás swapea.
ConclusiĂłn
Rapid-MLX se gana honestamente sus ~3.800 estrellas: convierte a la Mac de una máquina que puede correr modelos en una que los sirve — kernels MLX-nativos, cachés en cada capa, speculative decoding y una superficie OpenAI-compatible que doce CLIs de agentes ya hablan. El catálogo por tiers de RAM más el harness de benchmarks incluido hacen que la pregunta dolorosa de “qué entra en mi máquina” se responda en dos comandos.
Instalalo con brew, servĂ qwen3.5-4b-4bit, apuntá un agente a localhost:8000/v1 y compará una semana de tokens locales contra tu Ăşltima factura de API. Si la calidad aguanta tu workload, el servidor se paga solo el dĂa que dejás de contar tokens.
Fuentes
- Repo Rapid-MLX (estrellas, licencia, instalación, quickstart, benchmarks) — github.com/raullenchai/Rapid-MLX
- Homepage Rapid-MLX (tablas de throughput, catálogo) — rapidmlx.com
- Opciones de instalación (Homebrew, instalador guiado, Desktop) — rapidmlx.com/download
- Página PyPI (pip install, filas RAM/velocidad) — pypi.org/project/rapid-mlx
- Familia Qwen en Rapid-MLX (59 aliases, parser hermes, flags MTP)
- GuĂa Cursor con LLM local (caveat localhost) — rapidmlx.com/blog



