# Berth vs MLX LM

> Berth scores 67.6 (B) to MLX LM's 52.5 (D) for local inference. Prices, MCP, x402, uptime and agent notes side by side.

- Canonical: https://www.anchorterminal.com/compare/berth-vs-mlx-lm
- Markdown: https://www.anchorterminal.com/compare/berth-vs-mlx-lm.md (~2,600 tokens)
- Slim: https://www.anchorterminal.com/compare/berth-vs-mlx-lm.min.md (~530 tokens, same facts, less prose, for token-sensitive contexts)
- JSON: https://www.anchorterminal.com/compare/berth-vs-mlx-lm.json (this page as data, same URL with Accept: application/json)
- Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt)
- API: https://www.anchorterminal.com/api/v1/index.json
- MCP: https://www.anchorterminal.com/mcp (the whole catalogue as tools, no key)
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)
- Updated: 2026-10-28

Berth scores 67.6 (B) on agent readiness against MLX LM's 52.5 (D), and leads in 5 of 7 scored categories. Both do local inference.

- Berth: grade B, 67.6/100, rank #283 of 1218. Markdown https://www.anchorterminal.com/tools/berth.md · JSON https://www.anchorterminal.com/api/v1/tools/berth.json
- MLX LM: grade D, 52.5/100, rank #866 of 1218. Markdown https://www.anchorterminal.com/tools/mlx-lm.md · JSON https://www.anchorterminal.com/api/v1/tools/mlx-lm.json
- Best local AI models and assistants: https://www.anchorterminal.com/best/local-ai/index.md
- All 229 local ai comparisons: https://www.anchorterminal.com/compare/local-ai/index.md

## Which one, for what

### Berth (B)

Good for: Someone running several GPU programs (llama.cpp, llama-swap, Ollama, vLLM, ComfyUI, games) on one NVIDIA card who wants them to take turns, and agents that need to ask for the card.

Ahead on:
- Reliability, 76 against 66
- Schema & documentation, 69 against 37
- Agent ergonomics, 75 against 54
- Security & auth, 51 against 32
- Maintenance & community, 76 against 61

Watch for: First released on 11 October 2026 and called alpha. Windows, AMD and multiple GPUs are experimental, and the gateway is a preview

### MLX LM (D)

Good for: An owner with an Apple silicon Mac who wants MLX-format models, local fine-tuning and quantisation from Python or the command line, with a simple local chat completions server.

Also in its favour:
- No key needed to call it

Watch for: `mlx_lm.server` has no API key or other credential option, and `--allowed-origins` defaults to `*`


## Score by category

| Category | Weight | Berth | MLX LM | Edge |
| --- | --- | --- | --- | --- |
| Reliability | 16% (20 this run) | 76 | 66 | Berth +10 |
| Performance | 10%, pending | pending | pending | not scored in this run |
| Schema & documentation | 13% (16.2 this run) | 69 | 37 | Berth +32 |
| Agent ergonomics | 13% (16.2 this run) | 75 | 54 | Berth +21 |
| Security & auth | 14% (17.5 this run) | 51 | 32 | Berth +19 |
| Payments & pricing | 10% (12.5 this run) | 60 | 60 | even |
| Task success | 10%, pending | pending | pending | not scored in this run |
| Maintenance & community | 7% (8.8 this run) | 76 | 61 | Berth +15 |
| Transparency & trust | 7% (8.8 this run) | 68 | 69 | MLX LM +1 |
| Negative events | ≤15 | 0 | 0 | |
| **Total** | | **67.6 · B** | **52.5 · D** | |

## Facts side by side

| Fact | Berth | MLX LM |
| --- | --- | --- |
| Kind | HTTP API | HTTP API |
| Vendor | Trevin Tindall (T-Crypt on GitHub) | Apple Inc. |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | HTTP | HTTP |
| Auth | API key | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | Apache-2.0. The Berth name, the Pilot mascot and the artwork in assets/ are excluded from the licence, per the NOTICE file | MIT |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2026-10-23 | 2026-10-01 |
| Terms last updated | no document linked | no document linked |
| Privacy policy last updated | no document linked | no document linked |
| Customer content may train models |  |  |
| Terms restrict automated access |  |  |
| Terms restrict benchmarking |  |  |
| Terms or service can change without notice |  |  |
| Arbitration or class-action waiver |  |  |
| Popularity | 245 stars | 7.3k stars, 140k PyPI/wk |

## Verdicts

**Berth.** Berth coordinates one NVIDIA card between engines, ComfyUI and games, grants a lease only after the driver shows memory free, and gives agents a skill, JSON output and a keyed loopback gateway. It is 17 days old, alpha and maintained by one developer, with Windows and AMD experimental and no machine-readable API spec.

**MLX LM.** MIT, with no telemetry found in the source, and the tests passed on the last eight pushes to main. `mlx_lm.server` has no API key option, answers any origin by default and loads whichever model a request names, and its own docs say it is not recommended for production.

## Before you call either

### Berth

1. Run `berth status --format json` before starting, stopping or switching any GPU engine. If berthd is unreachable, no engine is protected
2. Never kill a process to free VRAM. Ask for the card with `berth run`, `berth hold` or a gateway request, and report stowaways to the user
3. Send gateway requests to http://127.0.0.1:9799/v1 with `Authorization: Bearer $(berth key)`, and use `"stream": true` for cold starts of up to minutes
4. On a 503, read the `code` and wait for `Retry-After`. A pinned holder (a game or `berth hold`) answers 409 to stop and is the user's call
5. Ask the user before `berth reclaim LEASE --yes`, any berth.toml edit or `berth update`. Each changes the node

### MLX LM

1. Keep `mlx_lm.server` on 127.0.0.1 and pass `--allowed-origins` with the origins you trust. There is no API key, and the default answers every origin
2. Treat any caller as able to load any model. The `model` and `adapters` request fields accept any Hugging Face repository or local path
3. Send `max_tokens` or `max_completion_tokens` when you need more than 512 tokens, the server default
4. Read errors as `{"error": "<text>"}` with 400 for a bad field and 404 for a model that failed to load. They are not OpenAI error objects
5. Poll `GET /health` before the first request. It answers 503 with `unavailable` when the generation thread has stopped

## Questions

### Which is better for AI agents, Berth or MLX LM?

Berth scores 67.6 (B) on agent readiness against MLX LM's 52.5 (D), and leads in 5 of 7 scored categories.

### Do Berth and MLX LM need an API key?

Berth needs an API key. MLX LM needs no key.

### Can an agent call Berth and MLX LM without installing anything?

No hosted endpoint is listed for Berth. No hosted endpoint is listed for MLX LM.

### Are Berth and MLX LM open source?

Yes. Berth is open source (Apache-2.0. The Berth name, the Pilot mascot and the artwork in assets/ are excluded from the licence, per the NOTICE file). MLX LM is open source (MIT).


## For agents

- This comparison as JSON: https://www.anchorterminal.com/compare/berth-vs-mlx-lm.json, and with the fewest tokens: https://www.anchorterminal.com/compare/berth-vs-mlx-lm.min.md
- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "berth", "b": "mlx-lm"}`. From a terminal: `anchor compare berth mlx-lm`
- Each listing in full: https://www.anchorterminal.com/api/v1/tools/berth.json and https://www.anchorterminal.com/api/v1/tools/mlx-lm.json

## Other comparisons with Berth or MLX LM

- [AnythingLLM vs Berth](https://www.anchorterminal.com/compare/anythingllm-vs-berth.md)
- [AnythingLLM vs MLX LM](https://www.anchorterminal.com/compare/anythingllm-vs-mlx-lm.md)
- [Berth vs BitRun](https://www.anchorterminal.com/compare/berth-vs-bitrun.md)
- [Berth vs Docker Model Runner](https://www.anchorterminal.com/compare/berth-vs-docker-model-runner.md)
- [Berth vs Foundry Local](https://www.anchorterminal.com/compare/berth-vs-foundry-local.md)
- [Berth vs Core](https://www.anchorterminal.com/compare/berth-vs-ghost-core.md)
- [Berth vs GPT4All](https://www.anchorterminal.com/compare/berth-vs-gpt4all.md)
- [Berth vs Jan](https://www.anchorterminal.com/compare/berth-vs-jan.md)
- [Berth vs Khoj](https://www.anchorterminal.com/compare/berth-vs-khoj.md)
- [Berth vs KoboldCpp](https://www.anchorterminal.com/compare/berth-vs-koboldcpp.md)
- [Berth vs Lemonade](https://www.anchorterminal.com/compare/berth-vs-lemonade.md)
- [Berth vs llama.cpp](https://www.anchorterminal.com/compare/berth-vs-llama-cpp.md)
- [Berth vs LM Studio](https://www.anchorterminal.com/compare/berth-vs-lm-studio.md)
- [Berth vs LocalAI](https://www.anchorterminal.com/compare/berth-vs-localai.md)
- [Berth vs Ollama](https://www.anchorterminal.com/compare/berth-vs-ollama.md)
- [Berth vs Open WebUI](https://www.anchorterminal.com/compare/berth-vs-open-webui.md)
- [Berth vs screenpipe](https://www.anchorterminal.com/compare/berth-vs-screenpipe.md)
- [Berth vs TextGen](https://www.anchorterminal.com/compare/berth-vs-text-generation-webui.md)
- [Berth vs vLLM](https://www.anchorterminal.com/compare/berth-vs-vllm.md)
- [BitRun vs MLX LM](https://www.anchorterminal.com/compare/bitrun-vs-mlx-lm.md)
- [Docker Model Runner vs MLX LM](https://www.anchorterminal.com/compare/docker-model-runner-vs-mlx-lm.md)
- [Foundry Local vs MLX LM](https://www.anchorterminal.com/compare/foundry-local-vs-mlx-lm.md)
- [Core vs MLX LM](https://www.anchorterminal.com/compare/ghost-core-vs-mlx-lm.md)
- [GPT4All vs MLX LM](https://www.anchorterminal.com/compare/gpt4all-vs-mlx-lm.md)
- [Jan vs MLX LM](https://www.anchorterminal.com/compare/jan-vs-mlx-lm.md)
- [Khoj vs MLX LM](https://www.anchorterminal.com/compare/khoj-vs-mlx-lm.md)
- [KoboldCpp vs MLX LM](https://www.anchorterminal.com/compare/koboldcpp-vs-mlx-lm.md)
- [Lemonade vs MLX LM](https://www.anchorterminal.com/compare/lemonade-vs-mlx-lm.md)
- [llama.cpp vs MLX LM](https://www.anchorterminal.com/compare/llama-cpp-vs-mlx-lm.md)
- [LM Studio vs MLX LM](https://www.anchorterminal.com/compare/lm-studio-vs-mlx-lm.md)
- [LocalAI vs MLX LM](https://www.anchorterminal.com/compare/localai-vs-mlx-lm.md)
- [MLX LM vs Ollama](https://www.anchorterminal.com/compare/mlx-lm-vs-ollama.md)
- [MLX LM vs Open WebUI](https://www.anchorterminal.com/compare/mlx-lm-vs-open-webui.md)
- [MLX LM vs screenpipe](https://www.anchorterminal.com/compare/mlx-lm-vs-screenpipe.md)
- [MLX LM vs TextGen](https://www.anchorterminal.com/compare/mlx-lm-vs-text-generation-webui.md)
- [MLX LM vs vLLM](https://www.anchorterminal.com/compare/mlx-lm-vs-vllm.md)
- [MLX LM vs Underdog](https://www.anchorterminal.com/compare/mlx-lm-vs-underdog.md)

---

Query this catalogue directly over MCP: https://www.anchorterminal.com/mcp (Streamable HTTP, no key). How: https://www.anchorterminal.com/agents/#mcp
