{
  "data": {
    "a": {
      "slug": "docker-model-runner",
      "name": "Docker Model Runner",
      "vendor": "Docker, Inc.",
      "vendorUrl": "https://www.docker.com",
      "kind": "http-api",
      "category": "local-ai",
      "summary": "Docker's open-source tool for pulling and running open models from Docker Hub, OCI registries or Hugging Face. It runs through Docker Desktop, Docker Engine or a standalone `dmr` binary, with local OpenAI-, Anthropic- and Ollama-compatible APIs.",
      "url": "https://www.anchorterminal.com/tools/docker-model-runner",
      "markdownUrl": "https://www.anchorterminal.com/tools/docker-model-runner.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/docker-model-runner.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/docker-model-runner.json",
      "repo": "https://github.com/docker/model-runner",
      "license": "Apache-2.0 (server, CLI plugin and `dmr` binary). Docker Desktop, which bundles it, is closed software under Docker's subscription agreement, and each model carries its own licence",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "oci",
          "name": "docker.io/docker/model-runner"
        }
      ],
      "auth": "none",
      "authNotes": "The API takes no credential, and the docs say it ignores any key sent. Per the docs, any client that can reach it, including other containers on the same Docker network, can pull, load and run models. In Docker Desktop, host-side TCP is off until enabled in settings or with `docker desktop enable model-runner --tcp \u003cport\u003e`, and containers reach the API at model-runner.docker.internal. In Docker Engine, TCP is on by default on port 12434. Cross-origin requests get 403 unless the origin is localhost, 127.0.0.1, 0.0.0.0 or listed in `DMR_ORIGINS` (https://docs.docker.com/ai/model-runner/; https://github.com/docker/model-runner/blob/main/pkg/envconfig/envconfig.go).",
      "pricing": "free",
      "pricingNotes": "Free under Apache-2.0, with no account needed for the Docker Engine plugin or the standalone `dmr` binary. On macOS and Windows it also ships inside Docker Desktop, which is free for personal use, non-commercial open-source projects and businesses with fewer than 250 employees and under US $10,000,000 in annual revenue. Larger organisations need a paid Docker plan for Desktop (https://www.docker.com/legal/docker-subscription-service-agreement/; https://www.docker.com/pricing/, checked 2026-10-08).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the source (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 656,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.docker.com/ai/model-runner/",
      "llmsTxt": "https://docs.docker.com/llms.txt",
      "capabilities": [
        "inference.local",
        "inference.open-weights",
        "inference.llm",
        "embed.text",
        "rerank",
        "image.generate"
      ],
      "tags": [
        "open-source",
        "local",
        "self-hosted",
        "free",
        "no-card",
        "openai-compatible",
        "llms-txt",
        "docker",
        "go",
        "no-auth"
      ],
      "lastRelease": "2026-08-12",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 57.1,
        "grade": "C",
        "agentReady": false,
        "rank": 483,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 58,
          "maintenance": 55,
          "payments": 60,
          "reliability": 85,
          "schema": 49,
          "security": 40,
          "transparency": 73
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-02-27. GHSA-m456-c56c-hh5c (CVE-2026-28400, 7.5). The unauthenticated `/engines/_configure` route accepted arbitrary runtime flags, so a caller, including a container on Docker Desktop, could overwrite files the runner could reach, the Desktop VM disk among them. Fixed in Model Runner 1.0.16 and Docker Desktop 4.61.0 and published by Docker, more than six months ago, -2. https://github.com/docker/model-runner/security/advisories/GHSA-m456-c56c-hh5c",
          "2026-03-30. GHSA-x2f5-332j-9xwq (CVE-2026-33990, 7.1). A malicious OCI registry could point the token exchange at an internal URL and make the runner send GET requests to host-local services. Fixed in 1.1.25 and Docker Desktop 4.67.0 and published by Docker, more than six months ago, -1. https://github.com/docker/model-runner/security/advisories/GHSA-x2f5-332j-9xwq"
        ],
        "verdict": "CI passes on the main branch, and Docker has published two security advisories with CVEs and fixed versions for the project. The API takes no credential, so any client or container that reaches it can pull, delete and run models, and the documentation has no OpenAPI file or error reference.",
        "bestFor": "A team that already runs Docker and wants local models served to containers and Compose services through OpenAI-, Anthropic- or Ollama-compatible routes, with models stored as OCI artefacts.",
        "strengths": [
          "OpenAI-, Anthropic- and Ollama-compatible routes on one local port, so existing clients for those three APIs work with a changed base URL",
          "CI runs lint, race-detector tests and end-to-end tests on every push to main, and the ten most recent runs on main passed on 8 October 2026",
          "Two GitHub security advisories with CVE numbers, fixed versions and workarounds, and a SECURITY.md that promises an acknowledgement within 72 hours",
          "Apache-2.0 source, and the docs list what usage data is collected with a link to the code that sends it",
          "Host-side TCP is off by default in Docker Desktop, and inference engines run sandboxed on macOS and Windows or in a container on Linux"
        ],
        "weaknesses": [
          "No credential on the API. The docs say any client that can reach it, including other containers, can pull, load and run models",
          "No OpenAPI file, no error reference and no rate-limit or retry guidance in the reviewed documentation",
          "Two releases in the 90 days to 8 October 2026 (v1.2.7 and v1.2.8), the latest on 12 August",
          "CVE-2026-28400 let an unauthenticated caller overwrite files, including the Docker Desktop VM disk, until 1.0.16 in February 2026",
          "On Docker Engine the docs say model-name requests go to Docker Hub regardless of settings, and the `DO_NOT_TRACK` switch in the source is undocumented"
        ],
        "agentNotes": [
          "Use base URL `http://localhost:12434/engines/v1` for OpenAI clients and `http://localhost:12434` for Anthropic and Ollama clients. Any API key value is accepted",
          "In Docker Desktop, run `docker desktop enable model-runner --tcp 12434` first. Host-side TCP is off by default",
          "From a container, call `http://model-runner.docker.internal` on Docker Desktop or `http://172.17.0.1:12434` on Docker Engine",
          "Raise the context before agent work with `docker model configure --context-size \u003cn\u003e \u003cmodel\u003e`. The llama.cpp default is 4,096 tokens",
          "Name models with their namespace, such as `ai/smollm2`, and expect plain-text error bodies with a 400, 404, 500 or 503 status"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 57.1
          }
        ],
        "editorialScores": {
          "ergonomics": 58,
          "maintenance": 55,
          "payments": 60,
          "reliability": 85,
          "schema": 49,
          "security": 40,
          "transparency": 62
        },
        "provenanceScore": 84
      },
      "connect": {
        "install": "sudo apt-get update \u0026\u0026 sudo apt-get install docker-model-plugin   # Docker Engine on Ubuntu or Debian; Docker Desktop: docker desktop enable model-runner --tcp 12434\ndocker model pull ai/smollm2",
        "http": "curl http://localhost:12434/engines/v1/chat/completions \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"ai/smollm2\",\n    \"messages\": [{\"role\": \"user\", \"content\": \"Say hello in one sentence.\"}]\n  }'",
        "claudeCode": "docker model launch claude"
      },
      "letme": {
        "capability": "https://letme.dev/inference.local",
        "tool": "https://letme.dev/docker-model-runner"
      },
      "sameCompany": [
        "docker-agent"
      ],
      "area": "models",
      "provenance": {
        "legalEntity": "Docker, Inc.",
        "domain": "docker.com",
        "domainRegistered": "1995-01-25",
        "endpointOnVendorDomain": null,
        "terms": "https://www.docker.com/legal/docker-subscription-service-agreement/",
        "privacy": "https://www.docker.com/legal/privacy/",
        "statusPage": "",
        "changelog": "https://github.com/docker/model-runner/releases",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The repository is under GitHub's docker organisation and SECURITY.md sends reports to security@docker.com. The subscription agreement and privacy policy both name Docker, Inc.",
          "Docker publishes no terms written for Model Runner. The Docker Subscription Service Agreement (last updated 26 August 2026) governs Docker Desktop, which bundles it, and the privacy policy carries the same date. The Engine plugin and the `dmr` binary are under Apache-2.0 only.",
          "www.docker.com/.well-known/security.txt gives security@docker.com, a policy URL and an expiry of 1 January 2030.",
          "No status page is listed because the software runs on the owner's machine.",
          "RDAP for docker.com gives a registration date of 1995-01-25."
        ],
        "score": 84
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/docker-model-runner.json",
      "live": {
        "slug": "docker-model-runner",
        "pages": [
          {
            "url": "https://www.docker.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:27:30.95553924Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "308829465f88"
          },
          {
            "url": "https://www.docker.com/legal/docker-subscription-service-agreement/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:27:24.912652297Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f8cfdf3308dd"
          }
        ],
        "updatedAt": "2026-10-08T18:27:30.95553924Z"
      }
    },
    "answer": "LM Studio and Docker Model Runner score within a point of each other on agent readiness, 57.8 (C) and 57.1 (C). Docker Model Runner leads on reliability and transparency \u0026 trust.",
    "b": {
      "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.8,
        "grade": "C",
        "agentReady": false,
        "rank": 463,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 69,
          "maintenance": 72,
          "payments": 60,
          "reliability": 34,
          "schema": 64,
          "security": 59,
          "transparency": 60
        },
        "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.",
        "bestFor": "A machine that serves open models to several agents and tools at once, in whichever API shape each client already speaks, and for headless serving on Linux with llmster.",
        "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.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 57.8
          }
        ],
        "editorialScores": {
          "ergonomics": 69,
          "maintenance": 72,
          "payments": 60,
          "reliability": 34,
          "schema": 64,
          "security": 59,
          "transparency": 55
        },
        "provenanceScore": 64
      },
      "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": 64
      },
      "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-08T16:19:13.202632377Z"
          },
          {
            "registry": "pypi",
            "name": "lmstudio",
            "version": "1.5.0",
            "released": "2025-08-22",
            "seenAt": "2026-10-08T16:19:15.693939311Z"
          }
        ],
        "githubStars": 1785,
        "npmWeekly": 68608,
        "pypiWeekly": 15573,
        "securityTxt": {
          "url": "https://lmstudio.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:49.288545624Z"
        },
        "llmsTxt": {
          "url": "https://lmstudio.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:34.665371609Z"
        },
        "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-08T18:21:42.054043981Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "861d11ad807a"
          },
          {
            "url": "https://lmstudio.ai/app-privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:21:37.539449608Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2be7166b913e"
          },
          {
            "url": "https://lmstudio.ai/app-terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:21:40.28202344Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "90222f50fb4b"
          }
        ],
        "updatedAt": "2026-10-08T18:21:42.054043981Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Docker, Inc.",
        "b": "Element Labs, Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0 (server, CLI plugin and `dmr` binary). Docker Desktop, which bundles it, is closed software under Docker's subscription agreement, and each model carries its own licence",
        "b": "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",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-08-12",
        "b": "2026-09-19",
        "name": "Last release"
      },
      {
        "a": "2026-08-26",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-08-26",
        "b": "2026-06-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "656 stars",
        "b": "69k npm/wk, 15k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "2.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "LM Studio and Docker Model Runner score within a point of each other on agent readiness, 57.8 (C) and 57.1 (C). Docker Model Runner leads on reliability and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Docker Model Runner or LM Studio?"
      },
      {
        "answer": "Docker Model Runner needs no key. LM Studio needs an API key.",
        "question": "Do Docker Model Runner and LM Studio need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Docker Model Runner. No hosted endpoint is listed for LM Studio.",
        "question": "Can an agent call Docker Model Runner and LM Studio without installing anything?"
      },
      {
        "answer": "Docker Model Runner is open source (Apache-2.0 (server, CLI plugin and `dmr` binary). Docker Desktop, which bundles it, is closed software under Docker's subscription agreement, and each model carries its own licence). No open-source release is listed for LM Studio.",
        "question": "Are Docker Model Runner and LM Studio open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 85 against 34",
          "Transparency \u0026 trust, 73 against 60"
        ],
        "also": [
          "No key needed to call it",
          "Open source"
        ],
        "goodFor": "A team that already runs Docker and wants local models served to containers and Compose services through OpenAI-, Anthropic- or Ollama-compatible routes, with models stored as OCI artefacts.",
        "slug": "docker-model-runner",
        "watchFor": "No credential on the API. The docs say any client that can reach it, including other containers, can pull, load and run models"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 64 against 49",
          "Agent ergonomics, 69 against 58",
          "Security \u0026 auth, 59 against 40",
          "Maintenance \u0026 community, 72 against 55"
        ],
        "also": [
          "No incidents deducted, where Docker Model Runner loses 3 points for them"
        ],
        "goodFor": "A machine that serves open models to several agents and tools at once, in whichever API shape each client already speaks, and for headless serving on Linux with llmster.",
        "slug": "lm-studio",
        "watchFor": "Authentication is off by default, so any local process can call the server"
      }
    ],
    "job": {
      "capability": "inference.local",
      "name": "Local inference"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-docker-model-runner.json",
        "title": "AnythingLLM vs Docker Model Runner",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-docker-model-runner"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-lm-studio.json",
        "title": "AnythingLLM vs LM Studio",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-lm-studio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-ghost-core.json",
        "title": "Docker Model Runner vs Core",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-ghost-core"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-gpt4all.json",
        "title": "Docker Model Runner vs GPT4All",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-gpt4all"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-jan.json",
        "title": "Docker Model Runner vs Jan",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-jan"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-khoj.json",
        "title": "Docker Model Runner vs Khoj",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-khoj"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-llama-cpp.json",
        "title": "Docker Model Runner vs llama.cpp",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-llama-cpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-localai.json",
        "title": "Docker Model Runner vs LocalAI",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-localai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-ollama.json",
        "title": "Docker Model Runner vs Ollama",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-ollama"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-open-webui.json",
        "title": "Docker Model Runner vs Open WebUI",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-open-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-screenpipe.json",
        "title": "Docker Model Runner vs screenpipe",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-screenpipe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ghost-core-vs-lm-studio.json",
        "title": "Core vs LM Studio",
        "url": "https://www.anchorterminal.com/compare/ghost-core-vs-lm-studio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-lm-studio.json",
        "title": "GPT4All vs LM Studio",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-lm-studio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jan-vs-lm-studio.json",
        "title": "Jan vs LM Studio",
        "url": "https://www.anchorterminal.com/compare/jan-vs-lm-studio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/khoj-vs-lm-studio.json",
        "title": "Khoj vs LM Studio",
        "url": "https://www.anchorterminal.com/compare/khoj-vs-lm-studio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/llama-cpp-vs-lm-studio.json",
        "title": "llama.cpp vs LM Studio",
        "url": "https://www.anchorterminal.com/compare/llama-cpp-vs-lm-studio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lm-studio-vs-localai.json",
        "title": "LM Studio vs LocalAI",
        "url": "https://www.anchorterminal.com/compare/lm-studio-vs-localai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lm-studio-vs-ollama.json",
        "title": "LM Studio vs Ollama",
        "url": "https://www.anchorterminal.com/compare/lm-studio-vs-ollama"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lm-studio-vs-open-webui.json",
        "title": "LM Studio vs Open WebUI",
        "url": "https://www.anchorterminal.com/compare/lm-studio-vs-open-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lm-studio-vs-screenpipe.json",
        "title": "LM Studio vs screenpipe",
        "url": "https://www.anchorterminal.com/compare/lm-studio-vs-screenpipe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-underdog.json",
        "title": "Docker Model Runner vs Underdog",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-underdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lm-studio-vs-underdog.json",
        "title": "LM Studio vs Underdog",
        "url": "https://www.anchorterminal.com/compare/lm-studio-vs-underdog"
      }
    ],
    "scores": [
      {
        "by": 51,
        "docker-model-runner": 85,
        "edge": "docker-model-runner",
        "key": "reliability",
        "lm-studio": 34,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 15,
        "docker-model-runner": 49,
        "edge": "lm-studio",
        "key": "schema",
        "lm-studio": 64,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 11,
        "docker-model-runner": 58,
        "edge": "lm-studio",
        "key": "ergonomics",
        "lm-studio": 69,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 19,
        "docker-model-runner": 40,
        "edge": "lm-studio",
        "key": "security",
        "lm-studio": 59,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 0,
        "docker-model-runner": 60,
        "edge": "",
        "key": "payments",
        "lm-studio": 60,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 17,
        "docker-model-runner": 55,
        "edge": "lm-studio",
        "key": "maintenance",
        "lm-studio": 72,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 13,
        "docker-model-runner": 73,
        "edge": "docker-model-runner",
        "key": "transparency",
        "lm-studio": 60,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "LM Studio and Docker Model Runner score within a point of each other on agent readiness, 57.8 (C) and 57.1 (C). Docker Model Runner leads on reliability and transparency \u0026 trust. Both do local inference.",
    "verdicts": {
      "docker-model-runner": "CI passes on the main branch, and Docker has published two security advisories with CVEs and fixed versions for the project. The API takes no credential, so any client or container that reaches it can pull, delete and run models, and the documentation has no OpenAPI file or error reference.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/docker-model-runner-vs-lm-studio",
    "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-lm-studio.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/docker-model-runner-vs-lm-studio.md",
    "slim": "https://www.anchorterminal.com/compare/docker-model-runner-vs-lm-studio.min.md"
  },
  "markdown": "LM Studio and Docker Model Runner score within a point of each other on agent readiness, 57.8 (C) and 57.1 (C). Docker Model Runner leads on reliability and transparency \u0026 trust. Both do local inference.\n\n- Docker Model Runner: grade C, 57.1/100, rank #483 of 722. Markdown https://www.anchorterminal.com/tools/docker-model-runner.md · JSON https://www.anchorterminal.com/api/v1/tools/docker-model-runner.json\n- LM Studio: grade C, 57.8/100, rank #463 of 722. Markdown https://www.anchorterminal.com/tools/lm-studio.md · JSON https://www.anchorterminal.com/api/v1/tools/lm-studio.json\n\n## Which one, for what\n\n### Docker Model Runner (C)\n\nGood for: A team that already runs Docker and wants local models served to containers and Compose services through OpenAI-, Anthropic- or Ollama-compatible routes, with models stored as OCI artefacts.\n\nAhead on:\n- Reliability, 85 against 34\n- Transparency \u0026 trust, 73 against 60\n\nAlso in its favour:\n- No key needed to call it\n- Open source\n\nWatch for: No credential on the API. The docs say any client that can reach it, including other containers, can pull, load and run models\n\n### LM Studio (C)\n\nGood for: A machine that serves open models to several agents and tools at once, in whichever API shape each client already speaks, and for headless serving on Linux with llmster.\n\nAhead on:\n- Schema \u0026 documentation, 64 against 49\n- Agent ergonomics, 69 against 58\n- Security \u0026 auth, 59 against 40\n- Maintenance \u0026 community, 72 against 55\n\nAlso in its favour:\n- No incidents deducted, where Docker Model Runner loses 3 points for them\n\nWatch for: Authentication is off by default, so any local process can call the server\n\n\n## Score by category\n\n| Category | Weight | Docker Model Runner | LM Studio | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 85 | 34 | Docker Model Runner +51 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 49 | 64 | LM Studio +15 |\n| Agent ergonomics | 13% (16.2 this run) | 58 | 69 | LM Studio +11 |\n| Security \u0026 auth | 14% (17.5 this run) | 40 | 59 | LM Studio +19 |\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) | 55 | 72 | LM Studio +17 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 73 | 60 | Docker Model Runner +13 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **57.1 · C** | **57.8 · C** | |\n\n## Facts side by side\n\n| Fact | Docker Model Runner | LM Studio |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Docker, Inc. | Element Labs, Inc. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | None | API key |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | Apache-2.0 (server, CLI plugin and `dmr` binary). Docker Desktop, which bundles it, is closed software under Docker's subscription agreement, and each model carries its own 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 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-08-12 | 2026-09-19 |\n| Terms last updated | 2026-08-26 | no date given |\n| Privacy policy last updated | 2026-08-26 | 2026-06-01 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 656 stars | 69k npm/wk, 15k PyPI/wk |\n| Agent reviews | none | 2.5/5 (2) |\n\n## Verdicts\n\n**Docker Model Runner.** CI passes on the main branch, and Docker has published two security advisories with CVEs and fixed versions for the project. The API takes no credential, so any client or container that reaches it can pull, delete and run models, and the documentation has no OpenAPI file or error reference.\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## Before you call either\n\n### Docker Model Runner\n\n1. Use base URL `http://localhost:12434/engines/v1` for OpenAI clients and `http://localhost:12434` for Anthropic and Ollama clients. Any API key value is accepted\n2. In Docker Desktop, run `docker desktop enable model-runner --tcp 12434` first. Host-side TCP is off by default\n3. From a container, call `http://model-runner.docker.internal` on Docker Desktop or `http://172.17.0.1:12434` on Docker Engine\n4. Raise the context before agent work with `docker model configure --context-size \u003cn\u003e \u003cmodel\u003e`. The llama.cpp default is 4,096 tokens\n5. Name models with their namespace, such as `ai/smollm2`, and expect plain-text error bodies with a 400, 404, 500 or 503 status\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## Questions\n\n### Which is better for AI agents, Docker Model Runner or LM Studio?\n\nLM Studio and Docker Model Runner score within a point of each other on agent readiness, 57.8 (C) and 57.1 (C). Docker Model Runner leads on reliability and transparency \u0026 trust.\n\n### Do Docker Model Runner and LM Studio need an API key?\n\nDocker Model Runner needs no key. LM Studio needs an API key.\n\n### Can an agent call Docker Model Runner and LM Studio without installing anything?\n\nNo hosted endpoint is listed for Docker Model Runner. No hosted endpoint is listed for LM Studio.\n\n### Are Docker Model Runner and LM Studio open source?\n\nDocker Model Runner is open source (Apache-2.0 (server, CLI plugin and `dmr` binary). Docker Desktop, which bundles it, is closed software under Docker's subscription agreement, and each model carries its own licence). No open-source release is listed for LM Studio.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/docker-model-runner-vs-lm-studio.json, and with the fewest tokens: https://www.anchorterminal.com/compare/docker-model-runner-vs-lm-studio.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"docker-model-runner\", \"b\": \"lm-studio\"}`. From a terminal: `anchor compare docker-model-runner lm-studio`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/docker-model-runner.json and https://www.anchorterminal.com/api/v1/tools/lm-studio.json\n\n## Other comparisons with Docker Model Runner or LM Studio\n\n- [AnythingLLM vs Docker Model Runner](https://www.anchorterminal.com/compare/anythingllm-vs-docker-model-runner.md)\n- [AnythingLLM vs LM Studio](https://www.anchorterminal.com/compare/anythingllm-vs-lm-studio.md)\n- [Docker Model Runner vs Core](https://www.anchorterminal.com/compare/docker-model-runner-vs-ghost-core.md)\n- [Docker Model Runner vs GPT4All](https://www.anchorterminal.com/compare/docker-model-runner-vs-gpt4all.md)\n- [Docker Model Runner vs Jan](https://www.anchorterminal.com/compare/docker-model-runner-vs-jan.md)\n- [Docker Model Runner vs Khoj](https://www.anchorterminal.com/compare/docker-model-runner-vs-khoj.md)\n- [Docker Model Runner vs llama.cpp](https://www.anchorterminal.com/compare/docker-model-runner-vs-llama-cpp.md)\n- [Docker Model Runner vs LocalAI](https://www.anchorterminal.com/compare/docker-model-runner-vs-localai.md)\n- [Docker Model Runner vs Ollama](https://www.anchorterminal.com/compare/docker-model-runner-vs-ollama.md)\n- [Docker Model Runner vs Open WebUI](https://www.anchorterminal.com/compare/docker-model-runner-vs-open-webui.md)\n- [Docker Model Runner vs screenpipe](https://www.anchorterminal.com/compare/docker-model-runner-vs-screenpipe.md)\n- [Core vs LM Studio](https://www.anchorterminal.com/compare/ghost-core-vs-lm-studio.md)\n- [GPT4All vs LM Studio](https://www.anchorterminal.com/compare/gpt4all-vs-lm-studio.md)\n- [Jan vs LM Studio](https://www.anchorterminal.com/compare/jan-vs-lm-studio.md)\n- [Khoj vs LM Studio](https://www.anchorterminal.com/compare/khoj-vs-lm-studio.md)\n- [llama.cpp vs LM Studio](https://www.anchorterminal.com/compare/llama-cpp-vs-lm-studio.md)\n- [LM Studio vs LocalAI](https://www.anchorterminal.com/compare/lm-studio-vs-localai.md)\n- [LM Studio vs Ollama](https://www.anchorterminal.com/compare/lm-studio-vs-ollama.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- [Docker Model Runner vs Underdog](https://www.anchorterminal.com/compare/docker-model-runner-vs-underdog.md)\n- [LM Studio vs Underdog](https://www.anchorterminal.com/compare/lm-studio-vs-underdog.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "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": "Docker Model Runner vs LM Studio",
        "url": ""
      }
    ],
    "description": "LM Studio and Docker Model Runner score within a point of each other on agent readiness, 57.8 (C) and 57.1 (C). Docker Model Runner leads on reliability and transparency \u0026 trust. Both do local inference. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Docker Model Runner C 57.1",
      "LM Studio C 57.8",
      "scores"
    ],
    "h1": "Docker Model Runner vs LM Studio",
    "image": "https://www.anchorterminal.com/assets/og/compare-docker-model-runner-vs-lm-studio.png",
    "path": "/compare/docker-model-runner-vs-lm-studio",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Docker Model Runner vs LM Studio for AI agents, C 57.1 vs C 57.8",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-lm-studio"
  },
  "tokens": {
    "markdown": 2600,
    "slim": 780
  },
  "version": 1
}
