Compatibility facts

Released0.5.3

OpenAI endpoint compatibility

Chat, legacy completions, model listing, and embeddings use compatible request and response shapes.

Compatibility is endpoint-specific. macMLX model load and unload routes under /x/models are project extensions, not OpenAI-compatible model management.

Verified

Released0.5.3

Anthropic Messages compatibility

POST /v1/messages, including streaming, is available in v0.5.3.

This is Messages API compatibility only, not compatibility with the full Anthropic API.

Verified

Released0.3.7

Selected Ollama endpoints

macMLX supports /api/version, /api/tags, /api/show, /api/chat, and /api/generate.

The compatibility layer has shipped since v0.3.7. It is a selected endpoint set, not a drop-in replacement for every Ollama API.

Verified

Released0.5.0

MCP server

The CLI can expose local inference to MCP clients.

The MCP server shipped in v0.5.0 and is separate from chat-side routing to external tools.

Verified

Released0.5.3

MCP client pool

v0.5.3 includes managed MCP client connections.

The pool manages external MCP processes and connections; integrated chat-side tool routing is a separate capability released in v0.6.0.

Verified

Released0.6.0

Integrated chat tool routing

v0.6.0 ships multi-turn tool routing for OpenAI, Anthropic, and the GUI MCP loop.

Protocol-specific validation keeps tool-call histories explicit; this routing is distinct from the MCP server and client-pool infrastructure.

Verified

Released0.5.3

Local embeddings

POST /v1/embeddings shipped in v0.5.3.

Encoder-family model detection exists, while using an unsuitable chat model can still produce vectors without semantic guarantees.

Verified

Released0.5.3

Bi-encoder rerank MVP

POST /v1/rerank scores independently embedded texts with cosine similarity.

This released MVP is not a cross-encoder reranker.

Verified

Released0.6.0

Eligibility-gated continuous batching

v0.6.0 batches only eligible dense-text requests under real concurrency, with automatic serial fallback.

The tagged 4-client benchmark measured 2.5–3.2× aggregate throughput. VLM, speculative decoding, Ollama, Anthropic, and embeddings remain serial.

Verified

Released0.6.0

Structured output

v0.6.0 supports response_format with json_object and an explicit JSON Schema subset.

Unsupported schema keywords return 400. VLM with structured output and tools with structured output are unsupported combinations and are explicitly rejected rather than silently degraded.

Verified

Released0.6.0

API compatibility pack

v0.6.0 adds logit_bias, logprobs and top_logprobs, XTC, per-request LoRA adapters, and tools.

An explicit compatibility matrix governs parameter combinations, and unsupported pairs return 400 instead of silently degrading.

Verified

Released0.6.0

KV-cache quantization

v0.6.0 exposes kv_bits, kv_group_size, and quantized_kv_start for compatible requests.

These controls change KV-cache precision, not model-weight precision. Nonpositive kv_bits disables the feature, and the compatibility matrix rejects unsupported model or request combinations.

Verified

Endpoint compatibility matrix

v0.6.2 endpoint families and their explicit boundaries
SurfaceEndpointsCompatibility boundary
OpenAI chatPOST /v1/chat/completionsCompatible; streaming supported
OpenAI legacy completionsPOST /v1/completionsCompatible legacy completion shape
OpenAI model listingGET /v1/modelsCompatible listing; load/unload are macMLX extensions under /x/models
OpenAI embeddingsPOST /v1/embeddingsCompatible embeddings shape; model suitability still matters
AnthropicPOST /v1/messagesMessages API only, including streaming; not the full Anthropic API
Ollama/api/version, /api/tags, /api/show, /api/chat, /api/generateSelected endpoints since v0.3.7; not a drop-in replacement
RerankPOST /v1/rerankmacMLX bi-encoder cosine MVP; not a cross-encoder
Tool loopsOpenAI, Anthropic, and GUI MCP routesMulti-turn tool routing released in v0.6.0
Structured outputresponse_format: json_object or supported JSON SchemaUnsupported schemas and tool/VLM combinations return 400
API compatibility packlogit_bias, logprobs, top_logprobs, XTC, per-request LoRA, toolsUnsupported parameter combinations return 400
KV-cache quantizationkv_bits, kv_group_size, quantized_kv_startCompatible requests only; this does not quantize model weights

OpenAI-compatible chat example

Call the local server with an explicit model and message.

curl http://localhost:8000/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model":"your-mlx-model","messages":[{"role":"user","content":"Hello"}]}'

Official sources

  1. KV-cache quantization
  2. KV-cache quantization
  3. Selected Ollama endpoints
  4. MCP client pool
  5. Integrated chat tool routing
  6. Local embeddings
  7. Bi-encoder rerank MVP
  8. Eligibility-gated continuous batching
  9. Eligibility-gated continuous batching
  10. Structured output
  11. KV-cache quantization
  12. KV-cache quantization