{
  "data": {
    "a": {
      "slug": "lm-studio",
      "name": "LM Studio",
      "vendor": "Element Labs, Inc.",
      "vendorUrl": "https://lmstudio.ai",
      "kind": "http-api",
      "category": "local-ai",
      "summary": "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.",
      "url": "https://www.anchorterminal.com/tools/lm-studio",
      "markdownUrl": "https://www.anchorterminal.com/tools/lm-studio.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/lm-studio.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/lm-studio.json",
      "repo": "https://github.com/lmstudio-ai/lmstudio-js",
      "license": "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",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@lmstudio/sdk"
        },
        {
          "registry": "pypi",
          "name": "lmstudio"
        }
      ],
      "auth": "api-key",
      "authNotes": "No authentication by default. With Require Authentication on (Developer page, Server Settings, LM Studio 0.4.0 or later), every request needs an API token (`sk-lm-` prefix) as `Authorization: Bearer`, or `x-api-key` on the Anthropic-compatible endpoint. Tokens are named, carry permissions picked at creation, are shown once and can be edited or deleted. Calling the owner's mcp.json servers through the API needs authentication on. The server binds to localhost unless Serve on Local Network is on or `lms server start --bind 0.0.0.0` is used.",
      "pricing": "free",
      "pricingNotes": "The LM Studio app, llmster and the local server are free for personal and work use with no account or card (free at work since 8 July 2025, and the terms of 23 August 2026 cover internal business use). Element Labs sells cloud model plans for Bionic, its separate agent app, at $20 (Bionic+) and $100 (Pro) a month, which local use of LM Studio doesn't need (checked 2026-10-03).",
      "priceSummary": "Free",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the pricing page or the SDK source (checked 2026-10-03).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 69495,
        "pypiWeekly": 15195,
        "asOf": "2026-10-03"
      },
      "docsUrl": "https://lmstudio.ai/docs/developer",
      "llmsTxt": "https://lmstudio.ai/llms.txt",
      "capabilities": [
        "inference.local",
        "inference.open-weights",
        "agent.mcp-client",
        "embed.text"
      ],
      "tags": [
        "local",
        "closed-source",
        "free",
        "no-card",
        "account-free",
        "openai-compatible",
        "llms-txt",
        "typescript",
        "python",
        "streaming",
        "pre-1.0"
      ],
      "lastRelease": "2026-09-19",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 57.9,
        "grade": "C",
        "agentReady": false,
        "rank": 287,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 4,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 69,
          "maintenance": 72,
          "payments": 60,
          "reliability": 34,
          "schema": 64,
          "security": 59,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-03"
        },
        "negative": 0,
        "verdict": "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.",
        "strengths": [
          "OpenAI-compatible chat completions, responses, completions and embeddings, Anthropic-compatible /v1/messages and a native /api/v1, all on one port",
          "llmster, a headless daemon installed with one command, with a documented systemd setup for Linux servers",
          "Named API tokens with permissions, and API access to MCP servers behind two switches, one of which also needs authentication on",
          "Stateful chats with `previous_response_id`, `allowed_tools` per MCP integration and typed error objects",
          "Seven releases in the 90 days to 3 October 2026, each with dated notes"
        ],
        "weaknesses": [
          "Authentication is off by default, so any local process can call the server",
          "Closed-source app and daemon with no public CI or test suite",
          "The Python SDK's last stable release (1.5.0, 22 August 2025) can't send API tokens, and the docs name an environment variable no release reads",
          "No OpenAPI file, and the llms.txt we read covers the 0.3 app, not the v1 REST API, tokens, llmster or MCP",
          "1.7k open issues in the public bug tracker"
        ],
        "agentNotes": [
          "Send `Authorization: Bearer $LM_API_TOKEN` when the owner gives you a token. With Require Authentication on, every request needs it",
          "Pass `previous_response_id` to /api/v1/chat instead of resending the history, and `store: false` for one-off calls",
          "List models with `GET /api/v1/models` before naming one. A named model that's downloaded loads just in time",
          "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",
          "Set `allowed_tools` on every MCP integration. Without it the model sees every tool on the server"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 57.9
          }
        ],
        "editorialScores": {
          "ergonomics": 69,
          "maintenance": 72,
          "payments": 60,
          "reliability": 34,
          "schema": 64,
          "security": 59,
          "transparency": 55
        },
        "provenanceScore": 67
      },
      "connect": {
        "install": "curl -fsSL https://lmstudio.ai/install.sh | bash   # llmster, the headless daemon. Windows: irm https://lmstudio.ai/install.ps1 | iex",
        "http": "curl http://localhost:1234/api/v1/chat \\\n  -H \"Authorization: Bearer $LM_API_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"ibm/granite-4-micro\", \"input\": \"Write a short haiku about sunrise.\"}'",
        "claudeCode": "export ANTHROPIC_BASE_URL=http://localhost:1234\nexport ANTHROPIC_AUTH_TOKEN=lmstudio\nexport CLAUDE_CODE_ATTRIBUTION_HEADER=0\nclaude --model openai/gpt-oss-20b"
      },
      "letme": {
        "capability": "https://letme.dev/inference.local",
        "tool": "https://letme.dev/lm-studio"
      },
      "area": "models",
      "provenance": {
        "legalEntity": "Element Labs, Inc.",
        "domain": "lmstudio.ai",
        "domainRegistered": "2023-05-03",
        "endpointOnVendorDomain": null,
        "terms": "https://lmstudio.ai/app-terms",
        "privacy": "https://lmstudio.ai/app-privacy",
        "statusPage": "",
        "changelog": "https://lmstudio.ai/changelog/lmstudio",
        "securityTxt": "none",
        "checked": "2026-10-03",
        "notes": [
          "The terms (effective 23 August 2026) and the privacy policy (effective June 2026) name Element Labs, Inc., a Delaware corporation at 251 Little Falls Drive, Wilmington.",
          "There's no hosted endpoint. The server answers on the owner's machine, at localhost:1234 by default.",
          "lmstudio.ai/.well-known/security.txt returns a Hub web page rather than a security.txt, and we found no security page or SECURITY.md in the public repositories.",
          "RDAP for lmstudio.ai gives a registration date of 2023-05-03.",
          "lmstudio.ai/changelog opens on Bionic, the separate agent app. LM Studio's releases are at /changelog/lmstudio."
        ],
        "score": 67
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/lm-studio.json",
      "live": {
        "slug": "lm-studio",
        "versions": [
          {
            "registry": "npm",
            "name": "@lmstudio/sdk",
            "version": "2.0.0",
            "seenAt": "2026-10-04T16:31:57.979163993Z"
          },
          {
            "registry": "pypi",
            "name": "lmstudio",
            "version": "1.5.0",
            "released": "2025-08-22",
            "seenAt": "2026-10-04T16:32:00.101781677Z"
          }
        ],
        "githubStars": 1786,
        "npmWeekly": 61084,
        "pypiWeekly": 14795,
        "securityTxt": {
          "url": "https://lmstudio.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:43.57855822Z"
        },
        "llmsTxt": {
          "url": "https://lmstudio.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:57.079569518Z"
        },
        "domain": {
          "domain": "lmstudio.ai",
          "registered": "2023-05-03",
          "source": "https://rdap.identitydigital.services/rdap/domain/lmstudio.ai",
          "checkedAt": "2026-10-04T13:08:39.466212979Z"
        },
        "pages": [
          {
            "url": "https://lmstudio.ai/changelog/lmstudio",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:45:43.124111793Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "861d11ad807a"
          },
          {
            "url": "https://lmstudio.ai/app-privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:45:38.584198725Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2be7166b913e"
          },
          {
            "url": "https://lmstudio.ai/app-terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:45:40.97136456Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "90222f50fb4b"
          }
        ],
        "updatedAt": "2026-10-04T16:32:00.291286961Z"
      }
    },
    "b": {
      "slug": "ollama",
      "name": "Ollama",
      "vendor": "Ollama Inc.",
      "vendorUrl": "https://ollama.com",
      "kind": "http-api",
      "category": "local-ai",
      "summary": "Open-source model runner for macOS, Windows and Linux, with a local API and a library of downloadable models.",
      "url": "https://www.anchorterminal.com/tools/ollama",
      "markdownUrl": "https://www.anchorterminal.com/tools/ollama.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/ollama.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/ollama.json",
      "repo": "https://github.com/ollama/ollama",
      "license": "MIT (server, CLI and desktop app). Ollama Cloud is a closed service under the ollama.com terms, and each model carries its own licence",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "oci",
          "name": "docker.io/ollama/ollama"
        },
        {
          "registry": "pypi",
          "name": "ollama"
        },
        {
          "registry": "npm",
          "name": "ollama"
        }
      ],
      "auth": "none",
      "authNotes": "The local API at http://localhost:11434 takes no credential. It binds 127.0.0.1, answers a foreign Host header with 403 while bound to loopback, and allows cross-origin calls from 127.0.0.1 and 0.0.0.0 unless `OLLAMA_ORIGINS` adds more. Anything that reaches the port can generate, pull, push, create, copy and delete models. Cloud models through the local server need `ollama signin`, which signs requests with the install's own key. Direct calls to https://ollama.com/api and /v1 need a Bearer API key from ollama.com/settings/keys, which doesn't expire and has no scopes, and is revoked from the same page (https://github.com/ollama/ollama/blob/main/docs/api/authentication.mdx).",
      "pricing": "freemium",
      "pricingNotes": "The server, CLI and desktop app are free under MIT with no account. Ollama Cloud has five plans on ollama.com/pricing. Free ($0, starter usage credits, starter models, 1 concurrent request), Pro ($20 a month or $200 a year, $60 of usage credits a month, 3 concurrent requests), Max ($100 a month, $300 of credits, 10 concurrent requests), Team ($500 a month, $1,000 of shared credits, unlimited users) and Enterprise (custom). Usage is priced per model by the token, and the page doesn't say whether the Free plan needs a card (checked 2026-10-03).",
      "priceSummary": "$20 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the pricing page or the source (checked 2026-10-03).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 181200,
        "npmWeekly": 871543,
        "pypiWeekly": null,
        "asOf": "2026-10-03"
      },
      "docsUrl": "https://docs.ollama.com",
      "llmsTxt": "https://docs.ollama.com/llms.txt",
      "openapi": "https://raw.githubusercontent.com/ollama/ollama/main/docs/openapi.yaml",
      "capabilities": [
        "inference.local",
        "inference.open-weights",
        "inference.llm",
        "embed.text",
        "inference.decision",
        "web.search",
        "web.fetch"
      ],
      "tags": [
        "open-source",
        "local",
        "self-hosted",
        "hosted",
        "freemium",
        "no-card",
        "openai-compatible",
        "openapi",
        "llms-txt",
        "docker",
        "go",
        "python",
        "typescript",
        "pre-1.0",
        "no-auth"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 56.6,
        "grade": "C",
        "agentReady": false,
        "rank": 302,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 5,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 81,
          "payments": 60,
          "reliability": 53,
          "schema": 79,
          "security": 28,
          "transparency": 63
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-03"
        },
        "negative": -4,
        "negativeNotes": [
          "2026-04-29. CERT Polska published CVE-2026-42248 and CVE-2026-42249 (9.8 each). The Windows app accepted downloaded updates without a signature check and took the file name from the server's response, and it installs updates silently, so whoever could answer the update request could run code on the machine. CERT Polska tested 0.12.10 to 0.17.5, and the Windows check stayed a stub returning success until v0.23.3 on 12 May 2026, whose notes list the fix only as `app: harden update flows`. CERT Polska says the maintainers didn't respond with details or the vulnerable range, and Ollama published no advisory. Fixed, but not disclosed by the vendor, -4. https://cert.pl/en/posts/2026/04/CVE-2026-42248/; https://github.com/ollama/ollama/releases/tag/v0.23.3"
        ],
        "verdict": "An OpenAPI 3.1 file for the 15 native operations and llms.txt with 68 links to Markdown pages. No credential on the local API, and any caller that reaches it can pull, push, create and delete models.",
        "strengths": [
          "An OpenAPI 3.1 file for the 15 native operations and llms.txt with 68 links to Markdown pages",
          "Native, OpenAI-compatible and Anthropic-compatible routes on one local port, with `ollama launch` for Claude Code, Codex and OpenCode",
          "28 releases in the 90 days to 3 October 2026, and official Python and JavaScript libraries released on 28 September",
          "Local prompts stay on the machine, and `OLLAMA_NO_CLOUD=1` turns off cloud models and web search",
          "Binds 127.0.0.1 by default and refuses foreign Host headers while bound to loopback"
        ],
        "weaknesses": [
          "No credential on the local API, and any caller that reaches it can pull, push, create and delete models",
          "No GitHub security advisory, against 12 CVEs on NVD since October 2025",
          "The Windows updater installed unsigned files until v0.23.3 on 12 May 2026, fixed under a release note that didn't mention security",
          "The desktop app checks ollama.com every hour with a signed request, even with automatic updates off, and no documented way to stop it",
          "A default context of 4k tokens below 24 GiB of VRAM, where the docs say agents need 64,000"
        ],
        "agentNotes": [
          "Send `\"stream\": false` for one JSON body. The native routes stream NDJSON by default",
          "Set `OLLAMA_CONTEXT_LENGTH=64000` or `options.num_ctx` before agent work. The default is 4k below 24 GiB of VRAM",
          "Back off on a 503. It means the queue (512 by default) is full",
          "Put an authenticating proxy in front before binding past 127.0.0.1. The server checks no credential",
          "Expect model names with a `cloud` tag to run on Ollama's servers. They need `ollama signin` and fail with `OLLAMA_NO_CLOUD=1`"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 56.6
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 81,
          "payments": 60,
          "reliability": 53,
          "schema": 79,
          "security": 28,
          "transparency": 66
        },
        "provenanceScore": 59
      },
      "connect": {
        "install": "curl -fsSL https://ollama.com/install.sh | sh   # macOS and Linux; Windows: irm https://ollama.com/install.ps1 | iex\nollama pull gemma4:e2b",
        "http": "curl http://localhost:11434/api/chat \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"gemma4:e2b\",\n    \"messages\": [{\"role\": \"user\", \"content\": \"Say hello in one sentence.\"}],\n    \"stream\": false\n  }'",
        "claudeCode": "ollama launch claude   # or: ANTHROPIC_AUTH_TOKEN=ollama ANTHROPIC_API_KEY=\"\" ANTHROPIC_BASE_URL=http://localhost:11434 claude --model qwen3.5"
      },
      "letme": {
        "capability": "https://letme.dev/inference.local",
        "tool": "https://letme.dev/ollama"
      },
      "area": "models",
      "unitPrices": [
        {
          "item": "Ollama Cloud Pro",
          "unit": "month",
          "usd": 20,
          "note": "$60 of usage credits a month, 3 concurrent requests. $200 a year"
        },
        {
          "item": "Ollama Cloud Max",
          "unit": "month",
          "usd": 100,
          "note": "$300 of usage credits a month, 10 concurrent requests"
        },
        {
          "item": "Ollama Cloud Team",
          "unit": "month",
          "usd": 500,
          "note": "$1,000 of shared usage credits a month, unlimited users, 10 concurrent requests"
        }
      ],
      "provenance": {
        "legalEntity": "Ollama Inc.",
        "domain": "ollama.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "https://ollama.com/terms",
        "privacy": "https://ollama.com/privacy",
        "statusPage": "",
        "changelog": "https://github.com/ollama/ollama/releases",
        "securityTxt": "none",
        "checked": "2026-10-03",
        "notes": [
          "The terms (last updated May 2026) name Ollama Inc., under California law with arbitration in San Francisco. The privacy policy was last updated in March 2026.",
          "ollama.com/.well-known/security.txt returns 404. SECURITY.md sends reports to hello@ollama.com.",
          "status.ollama.com doesn't resolve, and we found no other status page for Ollama Cloud.",
          "The API an agent calls runs on the owner's machine, so there's no shared endpoint to check. Ollama Cloud answers at https://ollama.com/api and /v1."
        ],
        "score": 59
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/ollama.json",
      "live": {
        "slug": "ollama",
        "versions": [
          {
            "registry": "github",
            "name": "ollama/ollama",
            "version": "v0.35.1",
            "released": "2026-09-29",
            "seenAt": "2026-10-04T16:34:54.976052119Z"
          },
          {
            "registry": "npm",
            "name": "ollama",
            "version": "0.6.4",
            "seenAt": "2026-10-04T16:34:54.718897973Z"
          },
          {
            "registry": "pypi",
            "name": "ollama",
            "version": "0.6.3",
            "released": "2026-09-29",
            "seenAt": "2026-10-04T16:34:54.611886134Z"
          }
        ],
        "githubStars": 182181,
        "npmWeekly": 899010,
        "pypiWeekly": 3792881,
        "securityTxt": {
          "url": "https://ollama.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:42.667557395Z"
        },
        "llmsTxt": {
          "url": "https://docs.ollama.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:03.78930424Z"
        },
        "domain": {
          "domain": "ollama.com",
          "registered": "2017-05-08",
          "source": "https://rdap.verisign.com/com/v1/domain/ollama.com",
          "checkedAt": "2026-10-04T13:05:52.948193398Z"
        },
        "pages": [
          {
            "url": "https://ollama.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:17.783383878Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "058925ed2fe9"
          },
          {
            "url": "https://ollama.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:19.909311869Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ef2c1d1a23eb"
          }
        ],
        "updatedAt": "2026-10-04T16:34:54.976052119Z"
      }
    },
    "summary": "LM Studio has a score of 57.9 (C) against Ollama's 56.6 (C). Both do local inference. The largest gap is security \u0026 auth, 31 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/lm-studio-vs-ollama",
    "json": "https://www.anchorterminal.com/compare/lm-studio-vs-ollama.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/lm-studio-vs-ollama.md",
    "slim": "https://www.anchorterminal.com/compare/lm-studio-vs-ollama.min.md"
  },
  "markdown": "LM Studio has a score of 57.9 (C) against Ollama's 56.6 (C). Both do local inference. The largest gap is security \u0026 auth, 31 points.\n\n- LM Studio: grade C, 57.9/100, rank #287 of 452. Markdown https://www.anchorterminal.com/tools/lm-studio.md · JSON https://www.anchorterminal.com/api/v1/tools/lm-studio.json\n- Ollama: grade C, 56.6/100, rank #302 of 452. Markdown https://www.anchorterminal.com/tools/ollama.md · JSON https://www.anchorterminal.com/api/v1/tools/ollama.json\n\n## Which one, for what\n\nPick LM Studio for security \u0026 auth (+31).\n\nPick Ollama for reliability (+19), schema \u0026 documentation (+15), agent ergonomics (+6), maintenance \u0026 community (+9).\n\n## Score by category\n\n| Category | Weight | LM Studio | Ollama | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 34 | 53 | Ollama +19 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 64 | 79 | Ollama +15 |\n| Agent ergonomics | 13% (16.2 this run) | 69 | 75 | Ollama +6 |\n| Security \u0026 auth | 14% (17.5 this run) | 59 | 28 | LM Studio +31 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 60 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 72 | 81 | Ollama +9 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 61 | 63 | Ollama +2 |\n| Negative events | ≤15 | 0 | -4 | |\n| **Total** | | **57.9 · C** | **56.6 · C** | |\n\n## Facts side by side\n\n| Fact | LM Studio | Ollama |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Element Labs, Inc. | Ollama Inc. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | API key | None |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| 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 | MIT (server, CLI and desktop app). Ollama Cloud is a closed service under the ollama.com terms, and each model carries its own licence |\n| Tools exposed | none | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-09-19 | 2026-10-01 |\n| Popularity | 69k npm/wk, 15k PyPI/wk | 181k stars, 872k npm/wk |\n| Agent reviews | 2.5/5 (2) | 2.5/5 (2) |\n\n## Verdicts\n\n**LM Studio.** 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.\n\n**Ollama.** An OpenAPI 3.1 file for the 15 native operations and llms.txt with 68 links to Markdown pages. No credential on the local API, and any caller that reaches it can pull, push, create and delete models.\n\n## Before you call either\n\n### LM Studio\n\n1. Send `Authorization: Bearer $LM_API_TOKEN` when the owner gives you a token. With Require Authentication on, every request needs it\n2. Pass `previous_response_id` to /api/v1/chat instead of resending the history, and `store: false` for one-off calls\n3. List models with `GET /api/v1/models` before naming one. A named model that's downloaded loads just in time\n4. 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\n5. Set `allowed_tools` on every MCP integration. Without it the model sees every tool on the server\n\n### Ollama\n\n1. Send `\"stream\": false` for one JSON body. The native routes stream NDJSON by default\n2. Set `OLLAMA_CONTEXT_LENGTH=64000` or `options.num_ctx` before agent work. The default is 4k below 24 GiB of VRAM\n3. Back off on a 503. It means the queue (512 by default) is full\n4. Put an authenticating proxy in front before binding past 127.0.0.1. The server checks no credential\n5. Expect model names with a `cloud` tag to run on Ollama's servers. They need `ollama signin` and fail with `OLLAMA_NO_CLOUD=1`\n\n## Other comparisons with LM Studio or Ollama\n\n- [AnythingLLM vs LM Studio](https://www.anchorterminal.com/compare/anythingllm-vs-lm-studio.md)\n- [AnythingLLM vs Ollama](https://www.anchorterminal.com/compare/anythingllm-vs-ollama.md)\n- [GPT4All vs LM Studio](https://www.anchorterminal.com/compare/gpt4all-vs-lm-studio.md)\n- [GPT4All vs Ollama](https://www.anchorterminal.com/compare/gpt4all-vs-ollama.md)\n- [Jan vs LM Studio](https://www.anchorterminal.com/compare/jan-vs-lm-studio.md)\n- [Jan vs Ollama](https://www.anchorterminal.com/compare/jan-vs-ollama.md)\n- [Khoj vs LM Studio](https://www.anchorterminal.com/compare/khoj-vs-lm-studio.md)\n- [Khoj vs Ollama](https://www.anchorterminal.com/compare/khoj-vs-ollama.md)\n- [llama.cpp vs LM Studio](https://www.anchorterminal.com/compare/llama-cpp-vs-lm-studio.md)\n- [llama.cpp vs Ollama](https://www.anchorterminal.com/compare/llama-cpp-vs-ollama.md)\n- [LM Studio vs LocalAI](https://www.anchorterminal.com/compare/lm-studio-vs-localai.md)\n- [LM Studio vs Open WebUI](https://www.anchorterminal.com/compare/lm-studio-vs-open-webui.md)\n- [LM Studio vs screenpipe](https://www.anchorterminal.com/compare/lm-studio-vs-screenpipe.md)\n- [LocalAI vs Ollama](https://www.anchorterminal.com/compare/localai-vs-ollama.md)\n- [Ollama vs Open WebUI](https://www.anchorterminal.com/compare/ollama-vs-open-webui.md)\n- [Ollama vs screenpipe](https://www.anchorterminal.com/compare/ollama-vs-screenpipe.md)\n- [LM Studio vs Underdog](https://www.anchorterminal.com/compare/lm-studio-vs-underdog.md)\n- [Ollama vs Underdog](https://www.anchorterminal.com/compare/ollama-vs-underdog.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "LM Studio vs Ollama",
        "url": ""
      }
    ],
    "description": "LM Studio has a score of 57.9 (C) against Ollama's 56.6 (C). Both do local inference. The largest gap is security \u0026 auth, 31 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "LM Studio C 57.9",
      "Ollama C 56.6",
      "scores"
    ],
    "h1": "LM Studio vs Ollama",
    "image": "https://www.anchorterminal.com/assets/og/compare-lm-studio-vs-ollama.png",
    "path": "/compare/lm-studio-vs-ollama",
    "published": "2026-10-01",
    "section": "tools",
    "title": "LM Studio vs Ollama for AI agents, C 57.9 vs C 56.6 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/lm-studio-vs-ollama"
  },
  "tokens": {
    "markdown": 1650,
    "slim": 330
  },
  "version": 1
}
