Head to head · Local inference · October 2026 research run

KoboldCpp vs MLX LM

KoboldCpp scores 60.5 (C) on agent readiness against MLX LM's 52.2 (D), and leads in 5 of 7 scored categories. MLX LM leads on transparency & trust. Both do local inference.

Which one, for what

KoboldCpp C

Good for An owner who wants text, image, speech and music models behind one executable with a writing and roleplay interface, and clients that speak the KoboldAI, OpenAI, Ollama or Anthropic formats.

Ahead on

  • Schema & documentation, 68 against 37
  • Agent ergonomics, 63 against 54
  • Security & auth, 38 against 32
  • Maintenance & community, 82 against 61

Watch for

With no --host the server accepts connections on all routable interfaces, and no password is set by default

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

  • Transparency & trust, 66 against 49

Watch for

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

Score by category

CategoryWeight this runKoboldCppMLX LMEdge
Reliability16%206866KoboldCpp +2
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.26837KoboldCpp +31
Agent ergonomics13%16.26354KoboldCpp +9
Security & auth14%17.53832KoboldCpp +6
Payments & pricing10%12.56060even
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.88261KoboldCpp +21
Transparency & trust7%8.84966MLX LM +17
Negative events≤1500
Total60.5 · C52.2 · D

Facts side by side

FactKoboldCppMLX LM
KindHTTP APIHTTP API
VendorLostRuins (Concedo)Apple Inc.
Hosted endpointno (local only)no (local only)
TransportsHTTPHTTP
AuthNoneNone
PricingFreeFree
x402nono
LicenceAGPL-3.0 for KoboldCpp and KoboldAI Lite. The bundled GGML, llama.cpp and stable-diffusion.cpp code stays under MITMIT
Read-only variant documentednono
llms.txtyesno
Last release2026-09-272026-10-01
Terms last updatedno document linkedno document linked
Privacy policy last updatedno document linkedno 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
Popularity12k stars7.3k stars, 140k PyPI/wk

Verdicts

KoboldCpp

One file runs text, image, speech and music models behind a published OpenAPI 3.0.3 document, with eight releases in 90 days. The server listens on every interface with no password by default, and --password leaves the image routes open.

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

KoboldCpp

  1. Start with --host 127.0.0.1 and --password. The default listens on every interface with no key
  2. Send the password as Authorization: Bearer <password>. It is not read from the query string
  3. Treat 503 as both busy and rate limited. The server never sends 429 or Retry-After, and the wait in seconds is in detail.msg
  4. Pass max_length or max_tokens. The default is 2,048 tokens unless --defaultgenamt changes it
  5. Send a genkey with each generation so /api/extra/generate/check and /api/extra/abort act on your request and not another caller's

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, KoboldCpp or MLX LM?

KoboldCpp scores 60.5 (C) on agent readiness against MLX LM's 52.2 (D), and leads in 5 of 7 scored categories. MLX LM leads on transparency & trust.

Do KoboldCpp and MLX LM need an API key?

Neither needs a key.

Can an agent call KoboldCpp and MLX LM without installing anything?

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

Are KoboldCpp and MLX LM open source?

Yes. KoboldCpp is open source (AGPL-3.0 for KoboldCpp and KoboldAI Lite. The bundled GGML, llama.cpp and stable-diffusion.cpp code stays under MIT). MLX LM is open source (MIT).

Other comparisons with KoboldCpp or MLX LM

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.