{
  "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": 559,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 8,
        "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": "Foundry Local scores 60.5 (C) on agent readiness against Docker Model Runner's 57.1 (C), and leads in 3 of 7 scored categories. Docker Model Runner leads on reliability.",
    "b": {
      "slug": "foundry-local",
      "name": "Foundry Local",
      "vendor": "Microsoft",
      "vendorUrl": "https://www.foundrylocal.ai",
      "kind": "sdk",
      "category": "local-ai",
      "summary": "Microsoft's on-device model runtime, built on ONNX Runtime. Applications embed it through SDKs for C#, JavaScript, Python and Rust, and it can start an optional OpenAI-compatible server on localhost. A preview CLI is also available.",
      "url": "https://www.anchorterminal.com/tools/foundry-local",
      "markdownUrl": "https://www.anchorterminal.com/tools/foundry-local.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/foundry-local.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/foundry-local.json",
      "repo": "https://github.com/microsoft/Foundry-Local",
      "license": "MIT for the SDKs and the v2 native runtime. The CLI is closed source under Microsoft Software Licence Terms. Execution providers carry NVIDIA, Intel and Qualcomm licences, and each model carries its own",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "foundry-local-sdk"
        },
        {
          "registry": "pypi",
          "name": "foundry-local-sdk"
        },
        {
          "registry": "nuget",
          "name": "Microsoft.AI.Foundry.Local"
        },
        {
          "registry": "cargo",
          "name": "foundry-local-sdk"
        }
      ],
      "auth": "none",
      "authNotes": "No authentication. The SDK runs in the application's own process, and the optional local server takes no key or token. It binds to 127.0.0.1 on a dynamic port unless the owner configures `web.urls` or starts the CLI daemon with `--port`. No account or Azure subscription is needed.",
      "pricing": "free",
      "pricingNotes": "Free, with no account, card or Azure subscription. The SDK is MIT and the CLI is a free download under Microsoft's licence terms. Microsoft states there are no per-token costs. Foundry Local on Azure Local is a separate product for servers and is not covered here (checked 2026-10-08).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the README or the SDK source (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 2600,
        "npmWeekly": 105372,
        "pypiWeekly": 47344,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://learn.microsoft.com/en-us/azure/foundry-local/",
      "capabilities": [
        "inference.local",
        "inference.open-weights",
        "embed.text",
        "speech.stt"
      ],
      "tags": [
        "local",
        "open-source",
        "free",
        "no-card",
        "account-free",
        "no-auth",
        "openai-compatible",
        "csharp",
        "typescript",
        "python",
        "rust",
        "npu",
        "telemetry-on-by-default"
      ],
      "lastRelease": "2026-09-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60.5,
        "grade": "C",
        "agentReady": false,
        "rank": 461,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 61,
          "maintenance": 88,
          "payments": 60,
          "reliability": 68,
          "schema": 53,
          "security": 39,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The SDK and its native runtime are MIT, at 2.1.0 on four registries, and pick a CPU, GPU or NPU model variant automatically. The optional local server has no credential, its current routes aren't in the published REST reference, and telemetry is on by default with an opt-out.",
        "bestFor": "An application that ships a model to end users' Windows, macOS or Linux devices and wants NPU and GPU variants chosen automatically, especially on Windows.",
        "strengths": [
          "SDK 2.1.0 published on npm, PyPI, NuGet and crates.io on 29 September 2026, with the SDK and the v2 native runtime under MIT in a public repository",
          "A model alias selects the best variant for the machine's CPU, GPU or NPU, with CUDA, WebGPU, OpenVINO, QNN and Vitis AI execution providers",
          "The v2 server answers `/v1/chat/completions`, `/v1/responses`, `/v1/embeddings`, `/v1/audio/transcriptions` and `/v1/models` in OpenAI's shapes",
          "Six releases in the 90 days to 8 October 2026, and the v2.0.1 notes carry a breaking-changes section",
          "No account, key, card or Azure subscription is needed, and prompts and outputs are processed on the device per the docs"
        ],
        "weaknesses": [
          "The local server takes no credential, and its routes include model load and unload and `POST /shutdown`",
          "The REST reference on Microsoft Learn lists `/openai/*` and `/foundry/list` routes that the v2 runtime source doesn't register, and doesn't cover `/v1/responses`",
          "Telemetry is on by default through Microsoft's 1DS SDK. The opt-out covers non-essential telemetry only, and the Learn FAQ doesn't mention it",
          "The CLI is a closed-source public preview, and its REST reference warns of breaking changes without notice",
          "76 open issues on 8 October 2026, among them a Linux ARM64 segmentation fault (#1182) and several unanswered GPU and NPU detection reports"
        ],
        "agentNotes": [
          "Read the server URL from `manager.urls[0]` or `foundry server status`. The port is dynamic unless the owner sets `web.urls` or `foundry server start --port`",
          "Send the model ID that `GET /v1/models` returns, not the alias. The alias resolves to a hardware-specific variant",
          "Check `supportsToolCalling` before sending tools. Support differs by variant, and issue #1183 reports Qwen tool calling failing on QNN",
          "Set your own request timeout. Inference has no built-in one, and cancellation takes effect only after the current generation step",
          "Ask the owner to set `ORT_TELEMETRY_DISABLED=1` or `disableNonessentialTelemetry` before the manager is created if telemetry must be off"
        ],
        "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": 60.5
          }
        ],
        "editorialScores": {
          "ergonomics": 61,
          "maintenance": 88,
          "payments": 60,
          "reliability": 68,
          "schema": 53,
          "security": 39,
          "transparency": 63
        },
        "provenanceScore": 80
      },
      "connect": {
        "install": "pip install foundry-local-sdk   # or: npm install foundry-local-sdk\n# CLI (preview): winget install Microsoft.FoundryLocal   # macOS: brew tap microsoft/foundrylocal \u0026\u0026 brew install foundrylocal",
        "http": "foundry server start --port 39839 --idle-timeout 0\ncurl http://localhost:39839/v1/chat/completions \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"\u003cMODEL_ID\u003e\", \"messages\": [{\"role\": \"user\", \"content\": \"What is the golden ratio?\"}]}'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.local",
        "tool": "https://letme.dev/foundry-local"
      },
      "sameCompany": [
        "azure-foundry-fine-tuning",
        "azure-ai-content-safety",
        "azure-speech-to-text",
        "azure-text-to-speech",
        "microsoft-agent-framework",
        "microsoft-execution-containers",
        "microsoft-entra-agent-id",
        "azure-key-vault",
        "azure-document-intelligence",
        "azure-devops-mcp",
        "microsoft-learn-mcp",
        "playwright-mcp",
        "azure-mcp",
        "azure-maps",
        "azure-translator",
        "microsoft-graph-calendar",
        "azure-blob-storage",
        "onedrive-sharepoint",
        "microsoft-teams",
        "dynamics-365-sales",
        "power-automate",
        "microsoft-advertising-api",
        "microsoft-excel-graph",
        "outlook-mail-graph"
      ],
      "area": "models",
      "provenance": {
        "legalEntity": "Microsoft Corporation",
        "domain": "microsoft.com",
        "domainRegistered": "1991-05-02",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/microsoft/Foundry-Local/releases",
        "securityTxt": "expired",
        "checked": "2026-10-08",
        "notes": [
          "The repository is under GitHub's microsoft organisation, the licence file reads Copyright (c) Microsoft Corporation, and foundrylocal.ai names Microsoft Corporation as publisher.",
          "The terms link is the repository's LICENSE file, which holds the MIT licence for the SDK and the Microsoft Software Licence Terms for the CLI. Microsoft publishes no other agreement for Foundry Local that we found.",
          "The privacy link is the product's own privacy file in the repository, which the README links. It and the CLI licence both refer on to the Microsoft Privacy Statement, a company-wide notice, which answered 403 to our request.",
          "www.microsoft.com/.well-known/security.txt loads and points to the MSRC researcher portal, but its Expires field is 2026-09-23T16:00:00.000Z, which had passed on 8 October 2026. learn.microsoft.com and foundrylocal.ai return 404.",
          "No status page is listed because the software runs on the owner's machine. The model catalogue is a cloud service with no status page that we found.",
          "RDAP gives microsoft.com a registration date of 1991-05-02 and foundrylocal.ai one of 2025-10-07."
        ],
        "score": 80
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/foundry-local.json"
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "SDK + MCP",
        "name": "Kind"
      },
      {
        "a": "Docker, Inc.",
        "b": "Microsoft",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "None",
        "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": "MIT for the SDKs and the v2 native runtime. The CLI is closed source under Microsoft Software Licence Terms. Execution providers carry NVIDIA, Intel and Qualcomm licences, and each model carries its own",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-08-12",
        "b": "2026-09-29",
        "name": "Last release"
      },
      {
        "a": "2026-08-26",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "2026-08-26",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "656 stars",
        "b": "2.6k stars, 105k npm/wk, 47k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Foundry Local scores 60.5 (C) on agent readiness against Docker Model Runner's 57.1 (C), and leads in 3 of 7 scored categories. Docker Model Runner leads on reliability.",
        "question": "Which is better for AI agents, Docker Model Runner or Foundry Local?"
      },
      {
        "answer": "No hosted endpoint is listed for Docker Model Runner. No hosted endpoint is listed for Foundry Local.",
        "question": "Can an agent call Docker Model Runner and Foundry Local without installing anything?"
      },
      {
        "answer": "Yes. 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). Foundry Local is open source (MIT for the SDKs and the v2 native runtime. The CLI is closed source under Microsoft Software Licence Terms. Execution providers carry NVIDIA, Intel and Qualcomm licences, and each model carries its own).",
        "question": "Are Docker Model Runner and Foundry Local open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 85 against 68"
        ],
        "also": null,
        "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": [
          "Maintenance \u0026 community, 88 against 55"
        ],
        "also": [
          "No incidents deducted, where Docker Model Runner loses 3 points for them"
        ],
        "goodFor": "An application that ships a model to end users' Windows, macOS or Linux devices and wants NPU and GPU variants chosen automatically, especially on Windows.",
        "slug": "foundry-local",
        "watchFor": "The local server takes no credential, and its routes include model load and unload and `POST /shutdown`"
      }
    ],
    "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-foundry-local.json",
        "title": "AnythingLLM vs Foundry Local",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-foundry-local"
      },
      {
        "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-koboldcpp.json",
        "title": "Docker Model Runner vs KoboldCpp",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-koboldcpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-lemonade.json",
        "title": "Docker Model Runner vs Lemonade",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-lemonade"
      },
      {
        "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-lm-studio.json",
        "title": "Docker Model Runner vs LM Studio",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-lm-studio"
      },
      {
        "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-mlx-lm.json",
        "title": "Docker Model Runner vs MLX LM",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-mlx-lm"
      },
      {
        "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/docker-model-runner-vs-text-generation-webui.json",
        "title": "Docker Model Runner vs TextGen",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-text-generation-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/foundry-local-vs-ghost-core.json",
        "title": "Foundry Local vs Core",
        "url": "https://www.anchorterminal.com/compare/foundry-local-vs-ghost-core"
      },
      {
        "json": "https://www.anchorterminal.com/compare/foundry-local-vs-gpt4all.json",
        "title": "Foundry Local vs GPT4All",
        "url": "https://www.anchorterminal.com/compare/foundry-local-vs-gpt4all"
      },
      {
        "json": "https://www.anchorterminal.com/compare/foundry-local-vs-jan.json",
        "title": "Foundry Local vs Jan",
        "url": "https://www.anchorterminal.com/compare/foundry-local-vs-jan"
      },
      {
        "json": "https://www.anchorterminal.com/compare/foundry-local-vs-khoj.json",
        "title": "Foundry Local vs Khoj",
        "url": "https://www.anchorterminal.com/compare/foundry-local-vs-khoj"
      },
      {
        "json": "https://www.anchorterminal.com/compare/foundry-local-vs-koboldcpp.json",
        "title": "Foundry Local vs KoboldCpp",
        "url": "https://www.anchorterminal.com/compare/foundry-local-vs-koboldcpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/foundry-local-vs-lemonade.json",
        "title": "Foundry Local vs Lemonade",
        "url": "https://www.anchorterminal.com/compare/foundry-local-vs-lemonade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/foundry-local-vs-llama-cpp.json",
        "title": "Foundry Local vs llama.cpp",
        "url": "https://www.anchorterminal.com/compare/foundry-local-vs-llama-cpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/foundry-local-vs-lm-studio.json",
        "title": "Foundry Local vs LM Studio",
        "url": "https://www.anchorterminal.com/compare/foundry-local-vs-lm-studio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/foundry-local-vs-localai.json",
        "title": "Foundry Local vs LocalAI",
        "url": "https://www.anchorterminal.com/compare/foundry-local-vs-localai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/foundry-local-vs-mlx-lm.json",
        "title": "Foundry Local vs MLX LM",
        "url": "https://www.anchorterminal.com/compare/foundry-local-vs-mlx-lm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/foundry-local-vs-ollama.json",
        "title": "Foundry Local vs Ollama",
        "url": "https://www.anchorterminal.com/compare/foundry-local-vs-ollama"
      },
      {
        "json": "https://www.anchorterminal.com/compare/foundry-local-vs-open-webui.json",
        "title": "Foundry Local vs Open WebUI",
        "url": "https://www.anchorterminal.com/compare/foundry-local-vs-open-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/foundry-local-vs-screenpipe.json",
        "title": "Foundry Local vs screenpipe",
        "url": "https://www.anchorterminal.com/compare/foundry-local-vs-screenpipe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/foundry-local-vs-text-generation-webui.json",
        "title": "Foundry Local vs TextGen",
        "url": "https://www.anchorterminal.com/compare/foundry-local-vs-text-generation-webui"
      },
      {
        "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/foundry-local-vs-underdog.json",
        "title": "Foundry Local vs Underdog",
        "url": "https://www.anchorterminal.com/compare/foundry-local-vs-underdog"
      }
    ],
    "scores": [
      {
        "by": 17,
        "docker-model-runner": 85,
        "edge": "docker-model-runner",
        "foundry-local": 68,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 4,
        "docker-model-runner": 49,
        "edge": "foundry-local",
        "foundry-local": 53,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 3,
        "docker-model-runner": 58,
        "edge": "foundry-local",
        "foundry-local": 61,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 1,
        "docker-model-runner": 40,
        "edge": "docker-model-runner",
        "foundry-local": 39,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 0,
        "docker-model-runner": 60,
        "edge": "",
        "foundry-local": 60,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 33,
        "docker-model-runner": 55,
        "edge": "foundry-local",
        "foundry-local": 88,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 1,
        "docker-model-runner": 73,
        "edge": "docker-model-runner",
        "foundry-local": 72,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Foundry Local scores 60.5 (C) on agent readiness against Docker Model Runner's 57.1 (C), and leads in 3 of 7 scored categories. Docker Model Runner leads on reliability. 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.",
      "foundry-local": "The SDK and its native runtime are MIT, at 2.1.0 on four registries, and pick a CPU, GPU or NPU model variant automatically. The optional local server has no credential, its current routes aren't in the published REST reference, and telemetry is on by default with an opt-out."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/docker-model-runner-vs-foundry-local",
    "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-foundry-local.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/docker-model-runner-vs-foundry-local.md",
    "slim": "https://www.anchorterminal.com/compare/docker-model-runner-vs-foundry-local.min.md"
  },
  "markdown": "Foundry Local scores 60.5 (C) on agent readiness against Docker Model Runner's 57.1 (C), and leads in 3 of 7 scored categories. Docker Model Runner leads on reliability. Both do local inference.\n\n- Docker Model Runner: grade C, 57.1/100, rank #559 of 842. Markdown https://www.anchorterminal.com/tools/docker-model-runner.md · JSON https://www.anchorterminal.com/api/v1/tools/docker-model-runner.json\n- Foundry Local: grade C, 60.5/100, rank #461 of 842. Markdown https://www.anchorterminal.com/tools/foundry-local.md · JSON https://www.anchorterminal.com/api/v1/tools/foundry-local.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 68\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### Foundry Local (C)\n\nGood for: An application that ships a model to end users' Windows, macOS or Linux devices and wants NPU and GPU variants chosen automatically, especially on Windows.\n\nAhead on:\n- Maintenance \u0026 community, 88 against 55\n\nAlso in its favour:\n- No incidents deducted, where Docker Model Runner loses 3 points for them\n\nWatch for: The local server takes no credential, and its routes include model load and unload and `POST /shutdown`\n\n\n## Score by category\n\n| Category | Weight | Docker Model Runner | Foundry Local | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 85 | 68 | Docker Model Runner +17 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 49 | 53 | Foundry Local +4 |\n| Agent ergonomics | 13% (16.2 this run) | 58 | 61 | Foundry Local +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 40 | 39 | Docker Model Runner +1 |\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 | 88 | Foundry Local +33 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 73 | 72 | Docker Model Runner +1 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **57.1 · C** | **60.5 · C** | |\n\n## Facts side by side\n\n| Fact | Docker Model Runner | Foundry Local |\n| --- | --- | --- |\n| Kind | HTTP API | SDK + MCP |\n| Vendor | Docker, Inc. | Microsoft |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | None | None |\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 | MIT for the SDKs and the v2 native runtime. The CLI is closed source under Microsoft Software Licence Terms. Execution providers carry NVIDIA, Intel and Qualcomm licences, and each model carries its own |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-08-12 | 2026-09-29 |\n| Terms last updated | 2026-08-26 | no document linked |\n| Privacy policy last updated | 2026-08-26 | no document linked |\n| Customer content may train models | not found in the text |  |\n| Terms restrict automated access | yes |  |\n| Terms restrict benchmarking | yes |  |\n| Terms or service can change without notice | not found in the text |  |\n| Arbitration or class-action waiver | yes |  |\n| Popularity | 656 stars | 2.6k stars, 105k npm/wk, 47k PyPI/wk |\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**Foundry Local.** The SDK and its native runtime are MIT, at 2.1.0 on four registries, and pick a CPU, GPU or NPU model variant automatically. The optional local server has no credential, its current routes aren't in the published REST reference, and telemetry is on by default with an opt-out.\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### Foundry Local\n\n1. Read the server URL from `manager.urls[0]` or `foundry server status`. The port is dynamic unless the owner sets `web.urls` or `foundry server start --port`\n2. Send the model ID that `GET /v1/models` returns, not the alias. The alias resolves to a hardware-specific variant\n3. Check `supportsToolCalling` before sending tools. Support differs by variant, and issue #1183 reports Qwen tool calling failing on QNN\n4. Set your own request timeout. Inference has no built-in one, and cancellation takes effect only after the current generation step\n5. Ask the owner to set `ORT_TELEMETRY_DISABLED=1` or `disableNonessentialTelemetry` before the manager is created if telemetry must be off\n\n## Questions\n\n### Which is better for AI agents, Docker Model Runner or Foundry Local?\n\nFoundry Local scores 60.5 (C) on agent readiness against Docker Model Runner's 57.1 (C), and leads in 3 of 7 scored categories. Docker Model Runner leads on reliability.\n\n### Can an agent call Docker Model Runner and Foundry Local without installing anything?\n\nNo hosted endpoint is listed for Docker Model Runner. No hosted endpoint is listed for Foundry Local.\n\n### Are Docker Model Runner and Foundry Local open source?\n\nYes. 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). Foundry Local is open source (MIT for the SDKs and the v2 native runtime. The CLI is closed source under Microsoft Software Licence Terms. Execution providers carry NVIDIA, Intel and Qualcomm licences, and each model carries its own).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/docker-model-runner-vs-foundry-local.json, and with the fewest tokens: https://www.anchorterminal.com/compare/docker-model-runner-vs-foundry-local.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"docker-model-runner\", \"b\": \"foundry-local\"}`. From a terminal: `anchor compare docker-model-runner foundry-local`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/docker-model-runner.json and https://www.anchorterminal.com/api/v1/tools/foundry-local.json\n\n## Other comparisons with Docker Model Runner or Foundry Local\n\n- [AnythingLLM vs Docker Model Runner](https://www.anchorterminal.com/compare/anythingllm-vs-docker-model-runner.md)\n- [AnythingLLM vs Foundry Local](https://www.anchorterminal.com/compare/anythingllm-vs-foundry-local.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 KoboldCpp](https://www.anchorterminal.com/compare/docker-model-runner-vs-koboldcpp.md)\n- [Docker Model Runner vs Lemonade](https://www.anchorterminal.com/compare/docker-model-runner-vs-lemonade.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 LM Studio](https://www.anchorterminal.com/compare/docker-model-runner-vs-lm-studio.md)\n- [Docker Model Runner vs LocalAI](https://www.anchorterminal.com/compare/docker-model-runner-vs-localai.md)\n- [Docker Model Runner vs MLX LM](https://www.anchorterminal.com/compare/docker-model-runner-vs-mlx-lm.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- [Docker Model Runner vs TextGen](https://www.anchorterminal.com/compare/docker-model-runner-vs-text-generation-webui.md)\n- [Foundry Local vs Core](https://www.anchorterminal.com/compare/foundry-local-vs-ghost-core.md)\n- [Foundry Local vs GPT4All](https://www.anchorterminal.com/compare/foundry-local-vs-gpt4all.md)\n- [Foundry Local vs Jan](https://www.anchorterminal.com/compare/foundry-local-vs-jan.md)\n- [Foundry Local vs Khoj](https://www.anchorterminal.com/compare/foundry-local-vs-khoj.md)\n- [Foundry Local vs KoboldCpp](https://www.anchorterminal.com/compare/foundry-local-vs-koboldcpp.md)\n- [Foundry Local vs Lemonade](https://www.anchorterminal.com/compare/foundry-local-vs-lemonade.md)\n- [Foundry Local vs llama.cpp](https://www.anchorterminal.com/compare/foundry-local-vs-llama-cpp.md)\n- [Foundry Local vs LM Studio](https://www.anchorterminal.com/compare/foundry-local-vs-lm-studio.md)\n- [Foundry Local vs LocalAI](https://www.anchorterminal.com/compare/foundry-local-vs-localai.md)\n- [Foundry Local vs MLX LM](https://www.anchorterminal.com/compare/foundry-local-vs-mlx-lm.md)\n- [Foundry Local vs Ollama](https://www.anchorterminal.com/compare/foundry-local-vs-ollama.md)\n- [Foundry Local vs Open WebUI](https://www.anchorterminal.com/compare/foundry-local-vs-open-webui.md)\n- [Foundry Local vs screenpipe](https://www.anchorterminal.com/compare/foundry-local-vs-screenpipe.md)\n- [Foundry Local vs TextGen](https://www.anchorterminal.com/compare/foundry-local-vs-text-generation-webui.md)\n- [Docker Model Runner vs Underdog](https://www.anchorterminal.com/compare/docker-model-runner-vs-underdog.md)\n- [Foundry Local vs Underdog](https://www.anchorterminal.com/compare/foundry-local-vs-underdog.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "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 Foundry Local",
        "url": ""
      }
    ],
    "description": "Foundry Local scores 60.5 (C) on agent readiness against Docker Model Runner's 57.1 (C), and leads in 3 of 7 scored categories. Docker Model Runner leads on reliability. Both do local inference. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Docker Model Runner C 57.1",
      "Foundry Local C 60.5",
      "scores"
    ],
    "h1": "Docker Model Runner vs Foundry Local",
    "image": "https://www.anchorterminal.com/assets/og/compare-docker-model-runner-vs-foundry-local.png",
    "path": "/compare/docker-model-runner-vs-foundry-local",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Docker Model Runner vs Foundry Local for AI agents, C 57.1 vs C 60.5",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-foundry-local"
  },
  "tokens": {
    "markdown": 2850,
    "slim": 730
  },
  "version": 1
}
