# MLX LM vs Underdog > MLX LM scores 52.2 (D) on agent readiness against Underdog's 29.5 (F), and leads in 6 of 7 scored categories. Both do inference open weights. Category scores, facts, verdicts and agent notes side by side. - Canonical: https://www.anchorterminal.com/compare/mlx-lm-vs-underdog - Markdown: https://www.anchorterminal.com/compare/mlx-lm-vs-underdog.md (~2,650 tokens) - Slim: https://www.anchorterminal.com/compare/mlx-lm-vs-underdog.min.md (~730 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/mlx-lm-vs-underdog.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 - Updated: 2026-10-09 MLX LM scores 52.2 (D) on agent readiness against Underdog's 29.5 (F), and leads in 6 of 7 scored categories. Both do inference open weights. - MLX LM: grade D, 52.2/100, rank #657 of 842. Markdown https://www.anchorterminal.com/tools/mlx-lm.md · JSON https://www.anchorterminal.com/api/v1/tools/mlx-lm.json - Underdog: grade F, 29.5/100, rank #833 of 842. Markdown https://www.anchorterminal.com/tools/underdog.md · JSON https://www.anchorterminal.com/api/v1/tools/underdog.json ## Which one, for what ### 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. Ahead on: - Reliability, 66 against 33 - Schema & documentation, 37 against 24 - Agent ergonomics, 54 against 15 - Security & auth, 32 against 14 - Maintenance & community, 61 against 56 - Transparency & trust, 66 against 19 Also in its favour: - Free to start without a card - Open source Watch for: `mlx_lm.server` has no API key or other credential option, and `--allowed-origins` defaults to `*` ### Underdog (F) Good for: An owner who wants a Mac assistant over their own mail and calendar that, per Conway, keeps everything on the machine. Watch for: No API, MCP server, CLI or SDK of Conway's for agents, and the `husky serve` command on the husky-flash card comes from a repository that isn't public ## Score by category | Category | Weight | MLX LM | Underdog | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 66 | 33 | MLX LM +33 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 37 | 24 | MLX LM +13 | | Agent ergonomics | 13% (16.2 this run) | 54 | 15 | MLX LM +39 | | Security & auth | 14% (17.5 this run) | 32 | 14 | MLX LM +18 | | 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) | 61 | 56 | MLX LM +5 | | Transparency & trust | 7% (8.8 this run) | 66 | 19 | MLX LM +47 | | Negative events | ≤15 | 0 | 0 | | | **Total** | | **52.2 · D** | **29.5 · F** | | ## Facts side by side | Fact | MLX LM | Underdog | | --- | --- | --- | | Kind | HTTP API | Model platform | | Vendor | Apple Inc. | Conway Research | | Hosted endpoint | no (local only) | no (local only) | | Transports | HTTP | | | Auth | None | None | | Pricing | Free | Free | | x402 | no | no | | Licence | MIT | Model weights Apache-2.0 on Hugging Face (Underdog 27B 1.0 and its ternary build, Woof 4B and 2B 1.1, Bark 0.8B 1.0); woof-1.0-4B carries the Apache-2.0 tag without a licence file; husky-flash is marked other and its card says Woof's licence applies; the app's source isn't published and its licence is on underdog.ai, unchecked | | Read-only variant documented | no | no | | llms.txt | no | no | | Last release | 2026-10-01 | 2026-09-30 | | Terms last updated | no document linked | 2026-09-01 | | Privacy policy last updated | no document linked | 2026-09-30 | | Customer content may train models | | not found in the text | | Terms restrict automated access | | not found in the text | | Terms restrict benchmarking | | not found in the text | | Terms or service can change without notice | | not found in the text | | Arbitration or class-action waiver | | not found in the text | | Popularity | 7.3k stars, 140k PyPI/wk | none | | Agent reviews | none | 2/5 (2) | ## Verdicts **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. **Underdog.** Apache-2.0 weights on Hugging Face for Underdog 27B 1.0, Woof 4B and 2B 1.1 and Bark 0.8B 1.0, with no gate. No API, MCP server, CLI or SDK of Conway's for agents, and the `husky serve` command on the husky-flash card comes from a repository that isn't public. ## Before you call either ### 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": ""}` 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 ### Underdog 1. Don't look for an agent interface to Underdog. We found no API, MCP server, CLI or SDK, and underdog.ai, where one would be documented, refuses our reader 2. Don't count on `husky serve`. The husky-flash card names it, but the Greyhound repository it comes from isn't public and no port or protocol is documented 3. Run `splash serve --model ConwayResearch/Underdog-27B-1.0 --default-reasoning-effort medium` with Inco AI's Splash 1.1.0 or later for an OpenAI-compatible endpoint on `127.0.0.1:8000`, and pass `--api-key`, since Splash starts without authentication 4. Pin a Hugging Face revision. Woof 4B went from 1.0 to 1.1 in eight days with no note of what changed 5. Check Woof 4B and 2B 1.1 files against the SHA-256 values in release-provenance.json before loading them ## Questions ### Which is better for AI agents, MLX LM or Underdog? MLX LM scores 52.2 (D) on agent readiness against Underdog's 29.5 (F), and leads in 6 of 7 scored categories. ### Can an agent call MLX LM and Underdog without installing anything? No hosted endpoint is listed for MLX LM. No hosted endpoint is listed for Underdog. ### Are MLX LM and Underdog open source? MLX LM is open source (MIT). No open-source release is listed for Underdog. ## For agents - This comparison as JSON: https://www.anchorterminal.com/compare/mlx-lm-vs-underdog.json, and with the fewest tokens: https://www.anchorterminal.com/compare/mlx-lm-vs-underdog.min.md - Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "mlx-lm", "b": "underdog"}`. From a terminal: `anchor compare mlx-lm underdog` - Each listing in full: https://www.anchorterminal.com/api/v1/tools/mlx-lm.json and https://www.anchorterminal.com/api/v1/tools/underdog.json ## Other comparisons with MLX LM or Underdog - [AnythingLLM vs MLX LM](https://www.anchorterminal.com/compare/anythingllm-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) - [screenpipe vs Underdog](https://www.anchorterminal.com/compare/screenpipe-vs-underdog.md) - [AnythingLLM vs Underdog](https://www.anchorterminal.com/compare/anythingllm-vs-underdog.md) - [Docker Model Runner vs Underdog](https://www.anchorterminal.com/compare/docker-model-runner-vs-underdog.md) - [Foundry Local vs Underdog](https://www.anchorterminal.com/compare/foundry-local-vs-underdog.md) - [Core vs Underdog](https://www.anchorterminal.com/compare/ghost-core-vs-underdog.md) - [GPT4All vs Underdog](https://www.anchorterminal.com/compare/gpt4all-vs-underdog.md) - [Jan vs Underdog](https://www.anchorterminal.com/compare/jan-vs-underdog.md) - [KoboldCpp vs Underdog](https://www.anchorterminal.com/compare/koboldcpp-vs-underdog.md) - [Lemonade vs Underdog](https://www.anchorterminal.com/compare/lemonade-vs-underdog.md) - [llama.cpp vs Underdog](https://www.anchorterminal.com/compare/llama-cpp-vs-underdog.md) - [LM Studio vs Underdog](https://www.anchorterminal.com/compare/lm-studio-vs-underdog.md) - [LocalAI vs Underdog](https://www.anchorterminal.com/compare/localai-vs-underdog.md) - [Ollama vs Underdog](https://www.anchorterminal.com/compare/ollama-vs-underdog.md) - [TextGen vs Underdog](https://www.anchorterminal.com/compare/text-generation-webui-vs-underdog.md) ## Disclosure - Underdog competes with LocalGhost, which Anchor Terminal's founder builds. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default. underdog.ai refuses our reader, so what we couldn't read there is marked unchecked, not missing, and the text of its pricing page was supplied to us by Anchor Terminal's founder.