{
  "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": 428,
        "ranked": true,
        "rankOf": 629,
        "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": "Docker Model Runner scores 57.1 (C) on agent readiness against Underdog's 29.5 (F), and leads in 5 of 7 scored categories.",
    "b": {
      "slug": "underdog",
      "name": "Underdog",
      "vendor": "Conway Research",
      "vendorUrl": "https://underdog.ai",
      "kind": "platform",
      "category": "local-ai",
      "summary": "A personal AI from Conway Research that runs on the owner's Mac with Apple silicon.",
      "url": "https://www.anchorterminal.com/tools/underdog",
      "markdownUrl": "https://www.anchorterminal.com/tools/underdog.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/underdog.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/underdog.json",
      "license": "Model weights Apache-2.0 on Hugging Face (Underdog 27B 1.0 and its ternary build, Woof 4B and 2B 1.1, Bark 0.8B 1.0); woof-1.0-4B carries the Apache-2.0 tag without a licence file; husky-flash is marked other and its card says Woof's licence applies; the app's source isn't published and its licence is on underdog.ai, unchecked",
      "transports": [],
      "packages": [],
      "auth": "none",
      "authNotes": "No API, MCP server, CLI or credential for agents from Conway found as of 3 October 2026. The husky-flash card names `husky serve --model ConwayResearch/husky-flash` from an \"Underdog Greyhound repository\" that isn't public, with no port or protocol documented. Conway's 27B cards run the weights through Inco AI's Splash, which listens on `127.0.0.1:8000` with an OpenAI-compatible API and no authentication unless `--api-key` is set. The weights download from Hugging Face without a gate, though the 27B card says to run `hf auth login` first. underdog.ai, whose robots.txt refuses our reader, is unchecked.",
      "pricing": "free",
      "pricingNotes": "Free. Underdog's pricing page says \"100% free\", \"Free forever? Yes. It's your computer doing the work\" and \"There is nothing to bill you for\", with no paid tier (text supplied on 3 October 2026, because underdog.ai refuses our reader). The model weights are free Apache-2.0 downloads on Hugging Face with no login or card. The page links a sign-in, and whether the app needs an account is unchecked.",
      "priceSummary": "Free",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No payment protocol on conway.tech, husky.underdog.ai, Conway's Hugging Face organisation or its GitHub repositories (3 October 2026); underdog.ai unchecked.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-03"
      },
      "capabilities": [
        "inference.open-weights",
        "speech.stt"
      ],
      "tags": [
        "local",
        "apple-silicon",
        "open-weights",
        "mlx"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "disclosure": "Underdog competes with LocalGhost, which Anchor Terminal's founder builds. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default. underdog.ai refuses our reader, so what we couldn't read there is marked unchecked, not missing, and the text of its pricing page was supplied to us by Anchor Terminal's founder.",
      "competesWith": "localghost",
      "anchor": {
        "graded": true,
        "score": 29.5,
        "grade": "F",
        "agentReady": false,
        "rank": 620,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 13,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 15,
          "maintenance": 56,
          "payments": 60,
          "reliability": 33,
          "schema": 24,
          "security": 14,
          "transparency": 19
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-10-03"
        },
        "negative": 0,
        "verdict": "Apache-2.0 weights on Hugging Face for Underdog 27B 1.0, Woof 4B and 2B 1.1 and Bark 0.8B 1.0, with no gate. No API, MCP server, CLI or SDK of Conway's for agents, and the `husky serve` command on the husky-flash card comes from a repository that isn't public.",
        "bestFor": "An owner who wants a Mac assistant over their own mail and calendar that, per Conway, keeps everything on the machine.",
        "disclosure": "Underdog competes with LocalGhost, which Anchor Terminal's founder builds. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default. underdog.ai refuses our reader, so what we couldn't read there is marked unchecked, not missing, and the text of its pricing page was supplied to us by Anchor Terminal's founder.",
        "strengths": [
          "Apache-2.0 weights on Hugging Face for Underdog 27B 1.0, Woof 4B and 2B 1.1 and Bark 0.8B 1.0, with no gate",
          "Eight Underdog model repositories published between 4 and 30 September 2026, the latest Underdog 27B 1.0 and a 2-bit ternary build on 30 September",
          "Woof 4B and 2B 1.1 ship release-provenance.json with a byte count and SHA-256 for every file",
          "Husky's speed post names its hardware, macOS and MLX versions and method, and publishes its weaker results too (1.02 to 1.27 times MLX on writing)",
          "The 27B weights run outside the app through Splash's OpenAI-compatible API, per Conway's ternary card"
        ],
        "weaknesses": [
          "No API, MCP server, CLI or SDK of Conway's for agents, and the `husky serve` command on the husky-flash card comes from a repository that isn't public",
          "The app's source isn't published, and none of Conway's three public GitHub repositories mentions Underdog",
          "The Woof 4B 1.1, Woof 2B 1.1 and Bark 0.8B 1.0 cards are one or two sentences, with no base model, context length or limits",
          "No security.txt at conway.tech (404), no SECURITY.md, and no disclosure policy, advisories or bug bounty found",
          "Conway's home page says Underdog 27B beats Claude Opus 4.6, and the 27B cards publish speed figures only"
        ],
        "agentNotes": [
          "Don't look for an agent interface to Underdog. We found no API, MCP server, CLI or SDK, and underdog.ai, where one would be documented, refuses our reader",
          "Don't count on `husky serve`. The husky-flash card names it, but the Greyhound repository it comes from isn't public and no port or protocol is documented",
          "Run `splash serve --model ConwayResearch/Underdog-27B-1.0 --default-reasoning-effort medium` with Inco AI's Splash 1.1.0 or later for an OpenAI-compatible endpoint on `127.0.0.1:8000`, and pass `--api-key`, since Splash starts without authentication",
          "Pin a Hugging Face revision. Woof 4B went from 1.0 to 1.1 in eight days with no note of what changed",
          "Check Woof 4B and 2B 1.1 files against the SHA-256 values in release-provenance.json before loading them"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "F",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 29.5
          }
        ],
        "editorialScores": {
          "ergonomics": 15,
          "maintenance": 56,
          "payments": 60,
          "reliability": 33,
          "schema": 24,
          "security": 14,
          "transparency": 23
        },
        "provenanceScore": 15
      },
      "letme": {
        "capability": "https://letme.dev/inference.open-weights",
        "tool": "https://letme.dev/underdog"
      },
      "area": "models",
      "provenance": {
        "legalEntity": "",
        "domain": "underdog.ai",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "https://underdog.ai/terms",
        "privacy": "https://underdog.ai/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "unknown",
        "checked": "2026-10-03",
        "notes": [
          "underdog.ai's robots.txt refuses our reader (again at about 08:15 UTC on 3 October 2026), so its terms, privacy policy, changelog, domain registration and security.txt are unchecked, not missing.",
          "Terms (https://underdog.ai/terms) and a privacy policy (https://underdog.ai/privacy) are linked from Underdog's pricing page, whose text was supplied to us on 3 October 2026. Their content is unchecked, because our reader is refused.",
          "husky.underdog.ai, a separate host linked from conway.tech and the founder's page, loaded for our reader.",
          "conway.tech's home page links no terms or privacy policy, and conway.tech has no security.txt (404) and no llms.txt (404).",
          "No registered company name found. a16z says Conway Research, conway.tech says Conway, and the licence in Conway's automaton repository reads 'Copyright (c) 2026 Conway'.",
          "No status page applies, since Underdog runs on the owner's machine with no hosted endpoint, and no changelog was found outside underdog.ai."
        ],
        "score": 15
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/underdog.json",
      "live": {
        "slug": "underdog",
        "securityTxt": {
          "url": "https://underdog.ai/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-09-17T00:00:00.000Z",
          "checkedAt": "2026-10-08T15:39:00.486760673Z"
        },
        "domain": {
          "domain": "underdog.ai",
          "registered": "2020-03-30",
          "source": "https://rdap.identitydigital.services/rdap/domain/underdog.ai",
          "checkedAt": "2026-10-04T13:05:26.708018286Z"
        },
        "pages": [
          {
            "url": "https://underdog.ai/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:25:26.100715614Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e17b8e9e48b7"
          },
          {
            "url": "https://underdog.ai/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:25:28.33774643Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6c84bce579c3"
          }
        ],
        "updatedAt": "2026-10-08T18:25:28.33774643Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "Model platform",
        "name": "Kind"
      },
      {
        "a": "Docker, Inc.",
        "b": "Conway Research",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "",
        "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": "Model weights Apache-2.0 on Hugging Face (Underdog 27B 1.0 and its ternary build, Woof 4B and 2B 1.1, Bark 0.8B 1.0); woof-1.0-4B carries the Apache-2.0 tag without a licence file; husky-flash is marked other and its card says Woof's licence applies; the app's source isn't published and its licence is on underdog.ai, unchecked",
        "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-30",
        "name": "Last release"
      },
      {
        "a": "2026-08-26",
        "b": "2026-09-01",
        "name": "Terms last updated"
      },
      {
        "a": "2026-08-26",
        "b": "2026-09-30",
        "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": "none",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "2/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Docker Model Runner scores 57.1 (C) on agent readiness against Underdog's 29.5 (F), and leads in 5 of 7 scored categories.",
        "question": "Which is better for AI agents, Docker Model Runner or Underdog?"
      },
      {
        "answer": "No hosted endpoint is listed for Docker Model Runner. No hosted endpoint is listed for Underdog.",
        "question": "Can an agent call Docker Model Runner and Underdog 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 Underdog.",
        "question": "Are Docker Model Runner and Underdog open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 85 against 33",
          "Schema \u0026 documentation, 49 against 24",
          "Agent ergonomics, 58 against 15",
          "Security \u0026 auth, 40 against 14",
          "Transparency \u0026 trust, 73 against 19"
        ],
        "also": [
          "Free to start without a card",
          "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": null,
        "also": [
          "No incidents deducted, where Docker Model Runner loses 3 points for them"
        ],
        "goodFor": "An owner who wants a Mac assistant over their own mail and calendar that, per Conway, keeps everything on the machine.",
        "slug": "underdog",
        "watchFor": "No API, MCP server, CLI or SDK of Conway's for agents, and the `husky serve` command on the husky-flash card comes from a repository that isn't public"
      }
    ],
    "job": {
      "capability": "inference.open-weights",
      "name": "Inference open weights"
    },
    "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/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-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-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/screenpipe-vs-underdog.json",
        "title": "screenpipe vs Underdog",
        "url": "https://www.anchorterminal.com/compare/screenpipe-vs-underdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-underdog.json",
        "title": "AnythingLLM vs Underdog",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-underdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ghost-core-vs-underdog.json",
        "title": "Core vs Underdog",
        "url": "https://www.anchorterminal.com/compare/ghost-core-vs-underdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-underdog.json",
        "title": "GPT4All vs Underdog",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-underdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jan-vs-underdog.json",
        "title": "Jan vs Underdog",
        "url": "https://www.anchorterminal.com/compare/jan-vs-underdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/llama-cpp-vs-underdog.json",
        "title": "llama.cpp vs Underdog",
        "url": "https://www.anchorterminal.com/compare/llama-cpp-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"
      },
      {
        "json": "https://www.anchorterminal.com/compare/localai-vs-underdog.json",
        "title": "LocalAI vs Underdog",
        "url": "https://www.anchorterminal.com/compare/localai-vs-underdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ollama-vs-underdog.json",
        "title": "Ollama vs Underdog",
        "url": "https://www.anchorterminal.com/compare/ollama-vs-underdog"
      }
    ],
    "scores": [
      {
        "by": 52,
        "docker-model-runner": 85,
        "edge": "docker-model-runner",
        "key": "reliability",
        "name": "Reliability",
        "underdog": 33,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 25,
        "docker-model-runner": 49,
        "edge": "docker-model-runner",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "underdog": 24,
        "weight": 13
      },
      {
        "by": 43,
        "docker-model-runner": 58,
        "edge": "docker-model-runner",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "underdog": 15,
        "weight": 13
      },
      {
        "by": 26,
        "docker-model-runner": 40,
        "edge": "docker-model-runner",
        "key": "security",
        "name": "Security \u0026 auth",
        "underdog": 14,
        "weight": 14
      },
      {
        "by": 0,
        "docker-model-runner": 60,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "underdog": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 1,
        "docker-model-runner": 55,
        "edge": "underdog",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "underdog": 56,
        "weight": 7
      },
      {
        "by": 54,
        "docker-model-runner": 73,
        "edge": "docker-model-runner",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "underdog": 19,
        "weight": 7
      }
    ],
    "summary": "Docker Model Runner scores 57.1 (C) on agent readiness against Underdog's 29.5 (F), and leads in 5 of 7 scored categories. Both do inference open weights.",
    "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.",
      "underdog": "Apache-2.0 weights on Hugging Face for Underdog 27B 1.0, Woof 4B and 2B 1.1 and Bark 0.8B 1.0, with no gate. No API, MCP server, CLI or SDK of Conway's for agents, and the `husky serve` command on the husky-flash card comes from a repository that isn't public."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/docker-model-runner-vs-underdog",
    "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-underdog.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/docker-model-runner-vs-underdog.md",
    "slim": "https://www.anchorterminal.com/compare/docker-model-runner-vs-underdog.min.md"
  },
  "markdown": "Docker Model Runner scores 57.1 (C) on agent readiness against Underdog's 29.5 (F), and leads in 5 of 7 scored categories. Both do inference open weights.\n\n- Docker Model Runner: grade C, 57.1/100, rank #428 of 629. Markdown https://www.anchorterminal.com/tools/docker-model-runner.md · JSON https://www.anchorterminal.com/api/v1/tools/docker-model-runner.json\n- Underdog: grade F, 29.5/100, rank #620 of 629. Markdown https://www.anchorterminal.com/tools/underdog.md · JSON https://www.anchorterminal.com/api/v1/tools/underdog.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 33\n- Schema \u0026 documentation, 49 against 24\n- Agent ergonomics, 58 against 15\n- Security \u0026 auth, 40 against 14\n- Transparency \u0026 trust, 73 against 19\n\nAlso in its favour:\n- Free to start without a card\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### Underdog (F)\n\nGood for: An owner who wants a Mac assistant over their own mail and calendar that, per Conway, keeps everything on the machine.\n\nAlso in its favour:\n- No incidents deducted, where Docker Model Runner loses 3 points for them\n\nWatch for: No API, MCP server, CLI or SDK of Conway's for agents, and the `husky serve` command on the husky-flash card comes from a repository that isn't public\n\n\n## Score by category\n\n| Category | Weight | Docker Model Runner | Underdog | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 85 | 33 | Docker Model Runner +52 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 49 | 24 | Docker Model Runner +25 |\n| Agent ergonomics | 13% (16.2 this run) | 58 | 15 | Docker Model Runner +43 |\n| Security \u0026 auth | 14% (17.5 this run) | 40 | 14 | Docker Model Runner +26 |\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 | 56 | Underdog +1 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 73 | 19 | Docker Model Runner +54 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **57.1 · C** | **29.5 · F** | |\n\n## Facts side by side\n\n| Fact | Docker Model Runner | Underdog |\n| --- | --- | --- |\n| Kind | HTTP API | Model platform |\n| Vendor | Docker, Inc. | Conway Research |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | 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 | Model weights Apache-2.0 on Hugging Face (Underdog 27B 1.0 and its ternary build, Woof 4B and 2B 1.1, Bark 0.8B 1.0); woof-1.0-4B carries the Apache-2.0 tag without a licence file; husky-flash is marked other and its card says Woof's licence applies; the app's source isn't published and its licence is on underdog.ai, unchecked |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-08-12 | 2026-09-30 |\n| Terms last updated | 2026-08-26 | 2026-09-01 |\n| Privacy policy last updated | 2026-08-26 | 2026-09-30 |\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 | none |\n| Agent reviews | none | 2/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**Underdog.** Apache-2.0 weights on Hugging Face for Underdog 27B 1.0, Woof 4B and 2B 1.1 and Bark 0.8B 1.0, with no gate. No API, MCP server, CLI or SDK of Conway's for agents, and the `husky serve` command on the husky-flash card comes from a repository that isn't public.\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### Underdog\n\n1. Don't look for an agent interface to Underdog. We found no API, MCP server, CLI or SDK, and underdog.ai, where one would be documented, refuses our reader\n2. Don't count on `husky serve`. The husky-flash card names it, but the Greyhound repository it comes from isn't public and no port or protocol is documented\n3. Run `splash serve --model ConwayResearch/Underdog-27B-1.0 --default-reasoning-effort medium` with Inco AI's Splash 1.1.0 or later for an OpenAI-compatible endpoint on `127.0.0.1:8000`, and pass `--api-key`, since Splash starts without authentication\n4. Pin a Hugging Face revision. Woof 4B went from 1.0 to 1.1 in eight days with no note of what changed\n5. Check Woof 4B and 2B 1.1 files against the SHA-256 values in release-provenance.json before loading them\n\n## Questions\n\n### Which is better for AI agents, Docker Model Runner or Underdog?\n\nDocker Model Runner scores 57.1 (C) on agent readiness against Underdog's 29.5 (F), and leads in 5 of 7 scored categories.\n\n### Can an agent call Docker Model Runner and Underdog without installing anything?\n\nNo hosted endpoint is listed for Docker Model Runner. No hosted endpoint is listed for Underdog.\n\n### Are Docker Model Runner and Underdog 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 Underdog.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/docker-model-runner-vs-underdog.json, and with the fewest tokens: https://www.anchorterminal.com/compare/docker-model-runner-vs-underdog.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"docker-model-runner\", \"b\": \"underdog\"}`. From a terminal: `anchor compare docker-model-runner underdog`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/docker-model-runner.json and https://www.anchorterminal.com/api/v1/tools/underdog.json\n\n## Other comparisons with Docker Model Runner or Underdog\n\n- [AnythingLLM vs Docker Model Runner](https://www.anchorterminal.com/compare/anythingllm-vs-docker-model-runner.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 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 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- [screenpipe vs Underdog](https://www.anchorterminal.com/compare/screenpipe-vs-underdog.md)\n- [AnythingLLM vs Underdog](https://www.anchorterminal.com/compare/anythingllm-vs-underdog.md)\n- [Core vs Underdog](https://www.anchorterminal.com/compare/ghost-core-vs-underdog.md)\n- [GPT4All vs Underdog](https://www.anchorterminal.com/compare/gpt4all-vs-underdog.md)\n- [Jan vs Underdog](https://www.anchorterminal.com/compare/jan-vs-underdog.md)\n- [llama.cpp vs Underdog](https://www.anchorterminal.com/compare/llama-cpp-vs-underdog.md)\n- [LM Studio vs Underdog](https://www.anchorterminal.com/compare/lm-studio-vs-underdog.md)\n- [LocalAI vs Underdog](https://www.anchorterminal.com/compare/localai-vs-underdog.md)\n- [Ollama vs Underdog](https://www.anchorterminal.com/compare/ollama-vs-underdog.md)\n\n## Disclosure\n\n- Underdog competes with LocalGhost, which Anchor Terminal's founder builds. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default. underdog.ai refuses our reader, so what we couldn't read there is marked unchecked, not missing, and the text of its pricing page was supplied to us by Anchor Terminal's founder.\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 Underdog",
        "url": ""
      }
    ],
    "description": "Docker Model Runner scores 57.1 (C) on agent readiness against Underdog's 29.5 (F), and leads in 5 of 7 scored categories. Both do inference open weights. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Docker Model Runner C 57.1",
      "Underdog F 29.5",
      "scores"
    ],
    "h1": "Docker Model Runner vs Underdog",
    "image": "https://www.anchorterminal.com/assets/og/compare-docker-model-runner-vs-underdog.png",
    "path": "/compare/docker-model-runner-vs-underdog",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Docker Model Runner vs Underdog for AI agents, C 57.1 vs F 29.5",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-underdog"
  },
  "tokens": {
    "markdown": 2700,
    "slim": 780
  },
  "version": 1
}
