Skip to main content
PromptQuorum
Home/Power Local LLM/mlx-serve Review 2026: Native Zig Inference Server for Apple Silicon
Overview & Reference

mlx-serve Review 2026: Native Zig Inference Server for Apple Silicon

Β·11 min readΒ·By Hans Kuepper Β· Founder of PromptQuorum, multi-model AI dispatch tool Β· PromptQuorum

mlx-serve is a free, open-source inference server (source at github.com/ddalcu/mlx-serve) written in Zig that runs AI models natively on Apple Silicon Macs, exposing OpenAI-compatible, Anthropic-compatible, and Ollama-compatible APIs simultaneously from one binary. It has no paid tier: the GitHub LICENSE file is the MIT License, copyright David Dalcu, with some bundled third-party components under Apache License 2.0 listed in the repository's NOTICE file. mlx-serve requires macOS 26.2 or later on Apple Silicon hardware, dispatches natively to MLX for supported model families and to an embedded llama.cpp for GGUF models, and ships a bundled macOS menu-bar app called MLX Core for chat, agent tool-calling, and media generation.

mlx-serve (github.com/ddalcu/mlx-serve) is a free, open-source inference server written in Zig that runs large language models natively on Apple Silicon Macs, exposing OpenAI-, Anthropic-, and Ollama-compatible APIs from a single ~7 MB binary with no Python runtime required. It dispatches to MLX for native Apple Silicon models and embeds llama.cpp for GGUF models, and ships a bundled macOS menu-bar companion app called MLX Core for chat, agent workflows, and media generation. This review covers what mlx-serve actually does, its install methods, its real feature set, and where it fits next to other MLX-ecosystem inference servers.

Key Takeaways

  • mlx-serve is free and open-source; the official GitHub LICENSE is the MIT License, with some bundled third-party components under Apache License 2.0
  • Runs natively on Apple Silicon via MLX for supported model families, and via an embedded llama.cpp for GGUF models
  • Serves OpenAI-compatible chat/completions and Responses APIs, the Anthropic Messages API, and the Ollama API simultaneously on one port
  • Ships a bundled macOS menu-bar companion app, MLX Core, with multi-session chat, agent mode with MCP tool support, and image/video/music/speech/3D generation panels
  • Single ~7 MB binary with no Python runtime dependency
  • Pre-configured launchers for coding agents including Claude Code, OpenCode, and Cursor
  • Requires macOS 26.2 or later on Apple Silicon (M-series) hardware β€” no Windows or Linux support, no Intel Mac support
  • Developed by David Dalcu; ships near-daily tagged releases as of this review

πŸ“ In One Sentence

mlx-serve is a free, open-source Zig inference server for Apple Silicon Macs that serves OpenAI-, Anthropic-, and Ollama-compatible APIs from a single binary, with no paid tier.

πŸ’¬ In Plain Terms

Instead of installing Python and several separate packages to run a local model server, mlx-serve is one small program you install with Homebrew. It runs models directly using Apple's MLX framework or, for GGUF models, an embedded copy of llama.cpp, and it answers requests in the same format that OpenAI, Anthropic, and Ollama use, so tools already built for those APIs work against it without changes.

πŸ“ŒNote: This review is the deep-dive companion to mlx-serve's entry in the Local LLM Software Directory β€” see that page for how mlx-serve compares at a glance to dozens of other local AI tools.

What Is mlx-serve?

mlx-serve is a native inference server for Apple Silicon Macs that runs AI models on-device and exposes them through OpenAI-, Anthropic-, and Ollama-compatible APIs. Its own GitHub description reads: "Native LLM inference server for Apple Silicon. OpenAI + Anthropic API compatible. No Python. Includes MLX Core macOS app with chat, agent mode, and tool calling." The server itself is written in Zig, a systems programming language, which is why it ships as a single small binary rather than a Python application with dependencies to install.

  • Core function: a local inference server that loads a model once and serves it over HTTP in three different API formats at the same time
  • Native model dispatch: MLX β€” Apple's own array-computing framework for Apple Silicon β€” for supported model families, and an embedded llama.cpp for GGUF-format models
  • API compatibility: OpenAI chat/completions and Responses endpoints, the Anthropic Messages API, and the Ollama API, all on port 11234 by default
  • Companion app: MLX Core, a bundled macOS menu-bar application for chat, agent workflows, and media generation, installed as a separate Homebrew cask alongside the server
  • Developer: David Dalcu, an individual developer per the GitHub repository's copyright notice in its LICENSE file
  • Canonical repository: github.com/ddalcu/mlx-serve β€” the original project; several forks and at least one unrelated, differently authored project share a similar name, so verify you are pointed at this repository specifically

mlx-serve Release History

mlx-serve's GitHub repository was created in February 2026, and the project has shipped near-daily tagged releases since, adding speculative decoding, coding-agent launchers, and expanded media generation. This is a young, fast-moving project rather than a mature one with a long track record β€” factor that into any evaluation.

  1. 1
    v26.8.9 β€” August 18, 2026: Coding agent launchers
    Why it matters: Added pre-configured launchers for coding agents (per the release notes: "launch your coding agent") alongside richer chat and faster decode, per the [official releases page](https://github.com/ddalcu/mlx-serve/releases).
  2. 2
    v26.8.10 β€” August 26, 2026: Neural Engine prefill offload
    Why it matters: Added Neural Engine prefill offload and batched decode, an optimization aimed at using Apple's dedicated Neural Engine hardware for part of the inference pipeline.
  3. 3
    v26.8.11 β€” August 29, 2026: MLX 0.32.2 and Qwen 3.8 Flash Next
    Why it matters: Updated the bundled MLX framework version and added support for a newer Qwen model variant.
  4. 4
    v26.9.1 β€” September 3, 2026: 1M context and faster Flash decode
    Why it matters: Added terminals in the sidebar of the MLX Core companion app plus support for a 1 million token context window on compatible models.
  5. 5
    v26.9.2 β€” September 9, 2026: Per-model settings and chat providers
    Why it matters: Added per-model configuration and additional chat provider options, plus further decode speed improvements.
  6. 6
    v26.9.3 β€” September 16, 2026: Speculative decoding for all models
    Why it matters: Extended speculative decoding support beyond a narrow set of models, per the release notes, alongside Flash performance work on 64 GB Macs.
  7. 7
    v26.9.4 β€” September 17, 2026: Correctness fixes and benchmarks
    Why it matters: Shipped correctness fixes, added Chinese-language documentation, and published new benchmark figures β€” the most recent stable tag noted on the [official releases page](https://github.com/ddalcu/mlx-serve/releases) as of this review.

What Can You Do With mlx-serve?

mlx-serve's feature set centers on serving models fast on Apple Silicon while staying compatible with tools already built for other APIs. Here is what each part actually does, per the project's GitHub README.

  • Multi-API serving β€” the server answers OpenAI chat/completions and Responses requests, Anthropic Messages API requests, and Ollama API requests simultaneously on the same port, so existing OpenAI/Anthropic/Ollama client code can point at mlx-serve with only a base-URL change
  • Native MLX model dispatch β€” models with native MLX support (per the README: Gemma, Qwen, Llama, Mistral, and DeepSeek V4 Flash) run through Apple's MLX framework directly on Apple Silicon
  • Embedded llama.cpp for GGUF β€” thousands of GGUF-format models not natively supported by MLX run through an embedded copy of llama.cpp instead, without a separate install
  • Performance features β€” the README documents four variants of speculative decoding, continuous batching, KV-cache quantization, and custom Metal kernels aimed at throughput on Apple Silicon
  • MLX Core companion app β€” a bundled macOS menu-bar application offering multi-session chat with PDF/image attachments, an agent mode with built-in tools and Model Context Protocol (MCP) marketplace integration, an isolated Agent Sandbox for running shell commands, a model browser with resumable downloads, and generation panels for images, video, music, speech (including voice cloning with Kokoro voices), and 3D models
  • Coding agent launchers β€” pre-configured launch profiles for coding agents including Claude Code, OpenCode, Pi, and Cursor, per the release notes
  • No Python dependency β€” the server binary is roughly 7 MB with no Python runtime requirement, unlike many other local inference tools

Usage Examples: Three Ways to Use mlx-serve

These are concrete workflows built from mlx-serve's documented commands above β€” not hypothetical use cases.

mlx-serve Pricing: Is It Really Free?

Yes β€” mlx-serve has no paid tier. The GitHub repository has no pricing page, and the LICENSE file applies to the whole application. The license text is the standard MIT License, copyright David Dalcu β€” permissive, with no copyleft obligations. GitHub's own repository metadata classifies the overall license as a custom ("Other") entry rather than a plain MIT badge, because the repository also bundles some third-party components under Apache License 2.0, documented in a separate NOTICE file.

  • No subscription, no paid tier, no usage limits imposed by mlx-serve itself
  • No account or sign-up required to install or use the server or the MLX Core companion app
  • The core mlx-serve code is MIT-licensed β€” permissive, free for commercial and non-commercial use, with attribution preserved in the license text
  • Some bundled third-party components (per the repository's NOTICE file) are licensed under Apache License 2.0 rather than MIT β€” read the NOTICE file directly if your organization's compliance review depends on the exact mix of licenses

mlx-serve vs. Ollama

mlx-serve and Ollama both serve local models over an HTTP API on a Mac, and they get compared often because both can sit behind the same client tools. The clearest differences are in platform scope and native engine choice.

Aspect
mlx-serve
Ollama
PlatformsmacOS (Apple Silicon) onlymacOS, Windows, Linux
Native engineMLX (native) + embedded llama.cpp for GGUFllama.cpp-based
API compatibilityOpenAI + Anthropic + Ollama API, same portIts own API, plus an OpenAI-compatible endpoint
Bundled GUIMLX Core menu-bar app (chat, agent mode, media gen)Minimal built-in GUI; relies on third-party front ends
Runtime dependencySingle ~7 MB binary, no PythonSingle Go binary, no Python
Media generationImage/video/music/speech/3D via MLX CoreText and vision chat only

mlx-serve's Ollama-API compatibility means tools built for Ollama can often point at mlx-serve directly, per the project's documentation. If cross-platform support matters β€” Windows or Linux, not only macOS β€” Ollama is the broader-reach option; verify current feature details on each project's own site before deciding, since both ship updates frequently.

Who Should Use mlx-serve?

Whether mlx-serve fits depends on whether you own Apple Silicon hardware and want one server that speaks multiple client API formats plus a bundled GUI for media generation.

mlx-serve vs. Other MLX Inference Tools

mlx-serve is one of several Apple-Silicon-focused inference servers that have emerged around Apple's MLX framework. Here is how it sits next to other options in that space β€” see the Local LLM Software Directory for the full catalog, and the dedicated mlx-serve vs. Ollama comparison above for the closest cross-platform head-to-head.

  • MLX LM β€” Apple's own Python library and command-line tools for running and fine-tuning language models with MLX; lower-level and Python-based, unlike mlx-serve's standalone Zig binary. See the MLX LM explainer for a deeper look at the underlying library mlx-serve's native dispatch builds on.
  • omlx β€” another Apple-Silicon-focused local inference option; see the dedicated review for how its feature set and API compatibility compare to mlx-serve's.
  • rapid-mlx β€” a performance-oriented MLX-based inference tool; see the dedicated review for a throughput and feature comparison against mlx-serve.
  • LoRAX β€” a multi-LoRA-adapter serving framework; relevant if your workflow needs to serve many fine-tuned adapters from one base model rather than a single model per server, which is not mlx-serve's design point.
  • Ollama β€” a cross-platform local model server; see the dedicated comparison section above for how it differs from mlx-serve on platform scope and native engine.

Common Mistakes When Evaluating mlx-serve

Most confusion about mlx-serve comes from its platform restriction, its license classification on GitHub, or assuming it is a Python tool like most other local inference servers.

Frequently Asked Questions

What is mlx-serve?

mlx-serve (github.com/ddalcu/mlx-serve) is a free, open-source inference server written in Zig that runs AI models locally on Apple Silicon Macs, serving OpenAI-compatible, Anthropic-compatible, and Ollama-compatible APIs from one binary.

Is mlx-serve free?

Yes. The GitHub repository has no pricing page, and its LICENSE file is the MIT License, applying to the whole core application with no paid tier.

Is mlx-serve open source? What license does it use?

Yes, mlx-serve is open source. Its core LICENSE file is the standard MIT License, copyright David Dalcu. The repository also bundles some third-party components under Apache License 2.0, listed in a separate NOTICE file, which is why GitHub's repository metadata shows the license as a custom "Other" entry rather than a plain MIT badge. Verify both files yourself for a legal decision.

What platforms does mlx-serve support?

macOS 26.2 or later on Apple Silicon (M-series) hardware only, per the official GitHub README. There is no Windows, Linux, or Intel Mac support.

Does mlx-serve require Python?

No. mlx-serve is written in Zig and ships as a single binary roughly 7 MB in size with no Python runtime dependency, unlike many other local inference tools.

Which model formats does mlx-serve support?

Models with native MLX support (the README names Gemma, Qwen, Llama, Mistral, and DeepSeek V4 Flash) run through Apple's MLX framework directly. Other GGUF-format models run through an embedded copy of llama.cpp instead, without a separate install.

What is MLX Core?

MLX Core is the bundled macOS menu-bar companion app for mlx-serve, installed as a separate Homebrew cask. It provides multi-session chat, an agent mode with MCP tool integration, a model browser, and generation panels for images, video, music, speech, and 3D models.

Can mlx-serve replace Ollama for existing tools?

Often, yes β€” mlx-serve serves an Ollama-compatible API alongside OpenAI- and Anthropic-compatible APIs on the same port, so tools built for Ollama's API can frequently point at mlx-serve with only a base-URL change. Verify compatibility for your specific client before switching in a production workflow.

How do I install mlx-serve?

Via Homebrew: brew tap ddalcu/mlx-serve https://github.com/ddalcu/mlx-serve followed by brew install mlx-serve for the server, and brew install --cask mlx-core for the optional menu-bar companion app. Check the official GitHub README for current instructions before installing.

When was mlx-serve first released?

mlx-serve's GitHub repository was created in February 2026. As of this review, the project ships near-daily tagged releases β€” see the official releases page for the complete history.

Sources

← Back to Power Local LLM