mlx-serve
무엇인가
로컬 LLM 추론 서버다. LM Studio·Ollama·mlx-lm이 놓여 있던 자리, 즉 모델 가중치를 읽어 토큰을 생성하고 그 결과를 HTTP로 노출하는 계층을 대체한다. Apple Silicon의 Metal GPU를 직접 쓰는 네이티브 실행 파일 하나로 배포된다.
어떻게 동작하나
실행 엔진은 세 갈래다. MLX 포맷 모델은 MLX 백엔드가, HuggingFace의 GGUF 모델은 내장된 llama.cpp가, DeepSeek V4 Flash는 antirez/ds4 엔진이 맡는다. 서버는 http://localhost:11234 한 포트에서 OpenAI(/v1/chat/completions, /v1/responses), Anthropic(/v1/messages), Ollama(/api/chat, /api/generate, /api/tags, /api/embed, /api/pull) 규격을 동시에 처리하고, 텍스트 외에 이미지·비디오·음악·음성(음성 복제)·3D 생성을 /v1/images, /v1/audio, /v1/video, /v1/3d로 노출한다. 같은 포트에 웹 콘솔이 붙어 채팅 플레이그라운드와 실시간 모니터를 제공한다. 생성 최적화로 PLD·draft companion·Gemma 4 drafter·Qwen MTP 네 가지 speculative decoding, 커스텀 Metal 커널, continuous batching, KV 캐시 양자화, prefix·tokenize 캐시를 쓴다.
무엇과 다른가
Ollama는 MLX 가중치를 사실상 실행하지 못하고 NVFP4 변환본 일부만 다루므로 비교 대상이 GGUF 대 GGUF로 좁혀진다. LM Studio는 최근 빌드에서 Anthropic /v1/messages와 OpenAI /v1/responses를 부분 지원하는데, mlx-serve는 여기에 Responses WebSocket 전송과 /v1/responses/compact를 더 구현한다. 런타임에 Python도 Electron도 들어가지 않고, 약 7MB Zig 바이너리 하나가 서버 전체다.
어떻게 쓰나
배포 경로는 셋이다. 서명·공증된 macOS 메뉴바 앱 MLX Core.app을 받아 모델 다운로드·채팅·에이전트 모드·미디어 생성·서버 플래그 설정을 UI에서 처리하거나, Homebrew로 설치하거나, Xcode 툴체인으로 소스를 빌드한다. 클라이언트 연동은 http://localhost:11234를 지정하는 방식이며, `mlx-serve launch <도구>`가 서버의 실제 컨텍스트 윈도에 맞춰 Claude Code·Codex·aider·Zed 등을 설정한다. Bonjour로 같은 LAN의 다른 Mac 모델을 설정 없이 가져다 쓸 수 있다.
전제와 한계
macOS 26.2 이상, Apple Silicon이 전제다. 소스 빌드는 Xcode 26.2 이상과 Metal Toolchain 컴포넌트를 요구하며, 없으면 `xcodebuild -downloadComponent MetalToolchain`으로 내려받는다. Zig·mlx·llama.cpp는 빌드 스크립트가 고정 버전으로 가져오거나 빌드하고, 빌드 어디에도 Python은 들어가지 않는다. 서버만 빌드하는 경로는 docs/building.md에 따로 있다.
관련 논문 2
유사 도구
- vllm-mlxApple Silicon에서 MLX로 LLM을 구동하며 OpenAI와 Anthropic API를 한 프로세스에서 제공하는 추론 서버다. continuous batching과 paged KV 캐시를 갖췄다.
- Rapid-MLXApple Silicon에서 MLX로 모델을 돌리며 OpenAI·Anthropic 호환 엔드포인트를 여는 로컬 추론 서버다. 클라이언트 수정 없이 교체한다.
- claude-code-localApple Silicon에서 MLX로 로컬 모델을 돌려 Claude Code에 연결하는 Anthropic API 네이티브 서버다. 번역 프록시 없이 한 프로세스로 동작한다.
- MTPLXApple Silicon에서 모델 자체의 MTP 헤드로 Qwen 3.8을 가속 실행하는 Mac 앱·CLI다. OpenAI·Anthropic 호환 서버를 로컬에 띄운다.
- lemonade로컬 GPU와 NPU에서 LLM·음성·이미지 모델을 실행하고 OpenAI·Anthropic·Ollama 호환 API로 노출하는 C++ 추론 서버다.
- llama.cppC/C++로 작성된 LLM·VLM 추론 엔진이다. ggml 위에서 GGUF 양자화 모델을 CPU·GPU로 실행하며 외부 의존성이 없다.