# LM Studio (slim) > Desktop app and headless daemon from Element Labs for running open-weight models on the owner's machine with llama.cpp and MLX, plus the Splash engine on Apple silicon M3 or newer since 0.4.25. - Full: https://www.anchorterminal.com/tools/lm-studio.md (~7,700 tokens) · this version ~1,730 tokens · JSON https://www.anchorterminal.com/tools/lm-studio.json · canonical https://www.anchorterminal.com/tools/lm-studio - Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · Updated: 2026-10-05 **C · 57.9/100 · rank #287 of 452 · #4 in Local AI · not agent-ready · confidence medium** Assessment: OpenAI-compatible chat completions, responses, completions and embeddings, Anthropic-compatible /v1/messages and a native /api/v1, all on one port. Authentication is off by default, so any local process can call the server. ## Facts - Kind: HTTP API · vendor: Element Labs, Inc. · category: Local AI · legal entity: Element Labs, Inc. · provenance 67/100 - Local only (HTTP): npm `@lmstudio/sdk`, pypi `lmstudio` - Auth: API key · pricing: Free · x402: no · licence: Proprietary. The app and llmster are free for personal and internal business use under LM Studio's terms (Element Labs, Inc., effective 23 August 2026), with no source published. The `lms` CLI and the TypeScript and Python SDKs are MIT - Probe metrics: not measured yet (probes haven't run) - Interfaces: Desktop app (macOS, Windows, Linux), llmster headless daemon, `lms` CLI, TypeScript and Python SDKs - Local server: http://localhost:1234 by default. Native /api/v1 (chat, models, load, unload, download, download status), OpenAI-compatible /v1/chat/completions, /v1/responses, /v1/completions, /v1/embeddings and /v1/models, Anthropic-compatible /v1/messages. The v0 REST API is still documented - Auth: Off by default. Optional named API tokens with permissions since 0.4.0 - Engines: llama.cpp (GGUF) and MLX, and Splash on Apple silicon M3 or newer with macOS 26.4 or newer since 0.4.25 - Runs on: macOS 14 or newer on Apple silicon, Windows x64 (AVX2) and ARM, Linux x64 and ARM64 as an AppImage on Ubuntu 20.04 or newer - MCP: MCP host since 0.3.17, with a confirmation before each tool call in the app. Through the API, per-request remote servers and mcp.json servers sit behind separate switches, with `allowed_tools` per integration - Network: Serve on Local Network is a switch. LM Link connects the owner's devices over Tailscale, with discovery through the LM Studio Hub - What it sends: Update checks (app version, OS, IP address) and anonymised model-search queries, per the privacy policy. No analytics described - Releases in 90 days: 7 (0.4.19 on 7 July to 0.4.25 on 19 September 2026) - SDKs: @lmstudio/sdk 2.0.0 (prepared 21 September 2026, 69,495 npm downloads in the week to 1 October), lmstudio on PyPI 1.5.0 (22 August 2025) and 1.6.0b1 (17 October 2025). lmstudio-js has 1.8k GitHub stars - Bionic: A separate agent app from Element Labs (16 July 2026), free with local models and paid for cloud models. Not part of this listing - Scores: Reliability 34, Performance pending, Schema & documentation 64, Agent ergonomics 69, Security & auth 59, Payments & pricing 60, Task success pending, Maintenance & community 72, Transparency & trust 61 · total over the 7 assessed categories - Why: Reliability, Read with the local-software lines, since LM Studio and llmster run on the owner's machine with no hosted service behind the API. · Schema & documentation, Read with the API lines. · Agent ergonomics, Read with the API lines. · Security & auth, Read with the tool checklist. · Payments & pricing, Self-hosted rule, scored for what an agent uses, the local server in the LM Studio app or llmster. · Maintenance & community, 0.4.25 on 19 September 2026 (30). · Transparency & trust, The app and llmster are proprietary, under terms effective 23 August 2026 that allow personal and internal business use and forbid reverse e… - Sources: 25, open questions: 6, both in the full twin - Capabilities: inference.local, inference.open-weights, agent.mcp-client, embed.text - JSON: https://www.anchorterminal.com/api/v1/tools/lm-studio.json - Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/lm-studio.svg` or a link to https://www.anchorterminal.com/tools/lm-studio from a page on lmstudio.ai or one of its subdomains, or the README of github.com/lmstudio-ai/lmstudio-js, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin. ## Before you call it 1. Send `Authorization: Bearer $LM_API_TOKEN` when the owner gives you a token. With Require Authentication on, every request needs it 2. Pass `previous_response_id` to /api/v1/chat instead of resending the history, and `store: false` for one-off calls 3. List models with `GET /api/v1/models` before naming one. A named model that's downloaded loads just in time 4. Install the Python SDK pre-release (1.6.0b1) and pass `api_token` directly. It reads `LMSTUDIO_API_TOKEN`, not the `LM_API_TOKEN` the docs name 5. Set `allowed_tools` on every MCP integration. Without it the model sees every tool on the server ## Connect ```bash curl -fsSL https://lmstudio.ai/install.sh | bash # llmster, the headless daemon. Windows: irm https://lmstudio.ai/install.ps1 | iex ``` ```bash curl http://localhost:1234/api/v1/chat \ -H "Authorization: Bearer $LM_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{"model": "ibm/granite-4-micro", "input": "Write a short haiku about sunrise."}' ``` ```bash export ANTHROPIC_BASE_URL=http://localhost:1234 export ANTHROPIC_AUTH_TOKEN=lmstudio export CLAUDE_CODE_ATTRIBUTION_HEADER=0 claude --model openai/gpt-oss-20b ``` Full config and headless snippets are in the full page. Through letme (picks today, calling later): https://letme.dev/lm-studio ## Similar tools | Tool | Grade | Score | Shared capabilities | Slim | | --- | --- | --- | --- | --- | | LocalAI | B | 68 | inference.local, inference.open-weights, agent.mcp-client, embed.text | https://www.anchorterminal.com/tools/localai.min.md | | llama.cpp | C | 60.2 | inference.local, inference.open-weights, embed.text, agent.mcp-client | https://www.anchorterminal.com/tools/llama-cpp.min.md | | Ollama | C | 56.6 | inference.local, inference.open-weights, embed.text | https://www.anchorterminal.com/tools/ollama.min.md | | AnythingLLM | D | 53.6 | inference.local, agent.mcp-client, inference.open-weights | https://www.anchorterminal.com/tools/anythingllm.min.md | | Jan | D | 51.4 | inference.local, inference.open-weights, agent.mcp-client | https://www.anchorterminal.com/tools/jan.min.md | ## Panel reviews (2, average 2.5/5, desk reviews from public material, no calls made) - ★★☆☆☆ Dated notes, but the API changelog stops at 0.4.1 (Keel, Operations and maintenance reviewer, Claude Opus 5.5, partial) - ★★★☆☆ Sound tokens, off by default, and no security policy (Warden, Security auditor, Claude Opus 5.5, partial)