{
  "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": "KoboldCpp 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 and transparency \u0026 trust.",
    "b": {
      "slug": "koboldcpp",
      "name": "KoboldCpp",
      "vendor": "LostRuins (Concedo)",
      "vendorUrl": "https://koboldcpp.net",
      "kind": "http-api",
      "category": "local-ai",
      "summary": "Open-source program for running GGUF models on the owner's own computer, built on llama.cpp. One executable serves a web interface and KoboldAI, OpenAI, Ollama and Anthropic compatible APIs on port 5001.",
      "url": "https://www.anchorterminal.com/tools/koboldcpp",
      "markdownUrl": "https://www.anchorterminal.com/tools/koboldcpp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/koboldcpp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/koboldcpp.json",
      "repo": "https://github.com/LostRuins/koboldcpp",
      "license": "AGPL-3.0 for KoboldCpp and KoboldAI Lite. The bundled GGML, llama.cpp and stable-diffusion.cpp code stays under MIT",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "oci",
          "name": "koboldai/koboldcpp"
        }
      ],
      "auth": "none",
      "authNotes": "No credential by default. `--password` (or the `KCPP_PASSWORD` environment variable) sets one shared key, sent as `Authorization: Bearer`, and the server reads it from the header only. The key guards text routes. Image generation, upscaling, `/sdapi/v1/interrogate` and `/tts_to_audio` skip the check, and the `--help` text says image endpoints are not secured. Admin routes need `--admin`, an `--admindir` and, when set, a separate `--adminpassword`. Keys have no scopes and change only with a restart. With no `--host` the server listens on all routable interfaces, and CORS reflects any Origin with credentials allowed (https://github.com/LostRuins/koboldcpp/blob/concedo/koboldcpp.py).",
      "pricing": "free",
      "pricingNotes": "Free under AGPL-3.0, with no account, key or card. Nothing is sold by the project. The owner pays for hardware and electricity, and the README links third-party GPU rental (RunPod, SimplePod) and Google Colab as other places to run it.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the README, the wiki, the API document or `koboldcpp.py` (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 11972,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://github.com/LostRuins/koboldcpp/wiki",
      "llmsTxt": "https://koboldcpp.net/llms.txt",
      "openapi": "https://lite.koboldai.net/koboldcpp_api.json",
      "capabilities": [
        "inference.local",
        "inference.open-weights",
        "agent.mcp-client",
        "embed.text",
        "image.generate",
        "speech.stt",
        "speech.tts",
        "audio.music"
      ],
      "tags": [
        "open-source",
        "local",
        "self-hosted",
        "free",
        "no-card",
        "openai-compatible",
        "openapi",
        "llms-txt",
        "docker",
        "agpl",
        "no-telemetry"
      ],
      "lastRelease": "2026-09-27",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60.5,
        "grade": "C",
        "agentReady": false,
        "rank": 462,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 63,
          "maintenance": 82,
          "payments": 60,
          "reliability": 68,
          "schema": 68,
          "security": 38,
          "transparency": 49
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "One file runs text, image, speech and music models behind a published OpenAPI 3.0.3 document, with eight releases in 90 days. The server listens on every interface with no password by default, and `--password` leaves the image routes open.",
        "bestFor": "An owner who wants text, image, speech and music models behind one executable with a writing and roleplay interface, and clients that speak the KoboldAI, OpenAI, Ollama or Anthropic formats.",
        "strengths": [
          "OpenAPI 3.0.3 document with 54 operations, served by the program at `/api?json=1` and published at lite.koboldai.net",
          "KoboldAI, OpenAI, Ollama, Anthropic, AUTOMATIC1111 and ComfyUI style routes from one server on port 5001",
          "Eight releases between 10 July and 27 September 2026, each with written notes, and replies on all 24 of the newest open issues",
          "AGPL-3.0, with no telemetry or update check found in `koboldcpp.py` and a wiki statement that inputs are sent nowhere",
          "Admin functions are off by default and take their own `--adminpassword`"
        ],
        "weaknesses": [
          "With no `--host` the server accepts connections on all routable interfaces, and no password is set by default",
          "`--password` covers text routes only. The `--help` text says image endpoints are not secured",
          "CORS reflects any Origin with credentials allowed and permits private-network requests",
          "No `SECURITY.md` or security.txt, and the one advisory (GHSA-qhvp-gj7g-rw26) still lists no patched version",
          "No continuous test run on pushes. Build workflows are started by hand and the only automatic test covers `AutoGuess.json`"
        ],
        "agentNotes": [
          "Start with `--host 127.0.0.1` and `--password`. The default listens on every interface with no key",
          "Send the password as `Authorization: Bearer \u003cpassword\u003e`. It is not read from the query string",
          "Treat 503 as both busy and rate limited. The server never sends 429 or `Retry-After`, and the wait in seconds is in `detail.msg`",
          "Pass `max_length` or `max_tokens`. The default is 2,048 tokens unless `--defaultgenamt` changes it",
          "Send a `genkey` with each generation so `/api/extra/generate/check` and `/api/extra/abort` act on your request and not another caller's"
        ],
        "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": 63,
          "maintenance": 82,
          "payments": 60,
          "reliability": 68,
          "schema": 68,
          "security": 38,
          "transparency": 70
        },
        "provenanceScore": 27
      },
      "connect": {
        "install": "curl -fLo koboldcpp-linux-x64 https://github.com/LostRuins/koboldcpp/releases/latest/download/koboldcpp-linux-x64 \u0026\u0026 chmod +x koboldcpp-linux-x64 \u0026\u0026 ./koboldcpp-linux-x64\n./koboldcpp-linux-x64 --model /path/to/model.gguf   # listens on port 5001",
        "http": "curl --request POST \\\n    --url http://localhost:5001/api/v1/generate \\\n    --header \"Content-Type: application/json\" \\\n    --data '{\"prompt\": \"Niko the kobold stalked carefully down the alley,\", \"max_context_length\": 2048, \"max_length\": 100}'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.local",
        "tool": "https://letme.dev/koboldcpp"
      },
      "area": "models",
      "provenance": {
        "legalEntity": "",
        "domain": "koboldcpp.net",
        "domainRegistered": "2026-03-18",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/LostRuins/koboldcpp/releases",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "No legal entity is named in the repository, the wiki or koboldcpp.net. The maintainer publishes as LostRuins on GitHub and Concedo on Discord, and the Windows binary's version resource gives KoboldAI as the company name.",
          "The project publishes no terms of service and no privacy policy, so both fields are empty. The licence is AGPL-3.0 and the only privacy statement is an FAQ entry in the wiki.",
          "The README calls koboldcpp.net the official community website. RDAP gives its registration date as 2026-03-18 and Cloudflare, Inc. as registrar. The README warns that koboldcpp.com is a fake site.",
          "koboldcpp.net/.well-known/security.txt and koboldai.org/.well-known/security.txt return 404. koboldcpp.net/llms.txt returns a short index that links llms-small.txt and llms-full.txt.",
          "There's no shared hosted endpoint. The server runs on the owner's machine. The online API reference is on lite.koboldai.net."
        ],
        "score": 27
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/koboldcpp.json"
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Docker, Inc.",
        "b": "LostRuins (Concedo)",
        "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": "AGPL-3.0 for KoboldCpp and KoboldAI Lite. The bundled GGML, llama.cpp and stable-diffusion.cpp code stays under MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-08-12",
        "b": "2026-09-27",
        "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": "12k stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "KoboldCpp 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 and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Docker Model Runner or KoboldCpp?"
      },
      {
        "answer": "Neither needs a key.",
        "question": "Do Docker Model Runner and KoboldCpp need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Docker Model Runner. No hosted endpoint is listed for KoboldCpp.",
        "question": "Can an agent call Docker Model Runner and KoboldCpp 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). KoboldCpp is open source (AGPL-3.0 for KoboldCpp and KoboldAI Lite. The bundled GGML, llama.cpp and stable-diffusion.cpp code stays under MIT).",
        "question": "Are Docker Model Runner and KoboldCpp open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 85 against 68",
          "Transparency \u0026 trust, 73 against 49"
        ],
        "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": [
          "Schema \u0026 documentation, 68 against 49",
          "Agent ergonomics, 63 against 58",
          "Maintenance \u0026 community, 82 against 55"
        ],
        "also": [
          "No incidents deducted, where Docker Model Runner loses 3 points for them"
        ],
        "goodFor": "An owner who wants text, image, speech and music models behind one executable with a writing and roleplay interface, and clients that speak the KoboldAI, OpenAI, Ollama or Anthropic formats.",
        "slug": "koboldcpp",
        "watchFor": "With no `--host` the server accepts connections on all routable interfaces, and no password is set by default"
      }
    ],
    "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-koboldcpp.json",
        "title": "AnythingLLM vs KoboldCpp",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-koboldcpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-foundry-local.json",
        "title": "Docker Model Runner vs Foundry Local",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-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-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-koboldcpp.json",
        "title": "Foundry Local vs KoboldCpp",
        "url": "https://www.anchorterminal.com/compare/foundry-local-vs-koboldcpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ghost-core-vs-koboldcpp.json",
        "title": "Core vs KoboldCpp",
        "url": "https://www.anchorterminal.com/compare/ghost-core-vs-koboldcpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-koboldcpp.json",
        "title": "GPT4All vs KoboldCpp",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-koboldcpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jan-vs-koboldcpp.json",
        "title": "Jan vs KoboldCpp",
        "url": "https://www.anchorterminal.com/compare/jan-vs-koboldcpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/khoj-vs-koboldcpp.json",
        "title": "Khoj vs KoboldCpp",
        "url": "https://www.anchorterminal.com/compare/khoj-vs-koboldcpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/koboldcpp-vs-lemonade.json",
        "title": "KoboldCpp vs Lemonade",
        "url": "https://www.anchorterminal.com/compare/koboldcpp-vs-lemonade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/koboldcpp-vs-llama-cpp.json",
        "title": "KoboldCpp vs llama.cpp",
        "url": "https://www.anchorterminal.com/compare/koboldcpp-vs-llama-cpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/koboldcpp-vs-lm-studio.json",
        "title": "KoboldCpp vs LM Studio",
        "url": "https://www.anchorterminal.com/compare/koboldcpp-vs-lm-studio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/koboldcpp-vs-localai.json",
        "title": "KoboldCpp vs LocalAI",
        "url": "https://www.anchorterminal.com/compare/koboldcpp-vs-localai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/koboldcpp-vs-mlx-lm.json",
        "title": "KoboldCpp vs MLX LM",
        "url": "https://www.anchorterminal.com/compare/koboldcpp-vs-mlx-lm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/koboldcpp-vs-ollama.json",
        "title": "KoboldCpp vs Ollama",
        "url": "https://www.anchorterminal.com/compare/koboldcpp-vs-ollama"
      },
      {
        "json": "https://www.anchorterminal.com/compare/koboldcpp-vs-open-webui.json",
        "title": "KoboldCpp vs Open WebUI",
        "url": "https://www.anchorterminal.com/compare/koboldcpp-vs-open-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/koboldcpp-vs-screenpipe.json",
        "title": "KoboldCpp vs screenpipe",
        "url": "https://www.anchorterminal.com/compare/koboldcpp-vs-screenpipe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/koboldcpp-vs-text-generation-webui.json",
        "title": "KoboldCpp vs TextGen",
        "url": "https://www.anchorterminal.com/compare/koboldcpp-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/koboldcpp-vs-underdog.json",
        "title": "KoboldCpp vs Underdog",
        "url": "https://www.anchorterminal.com/compare/koboldcpp-vs-underdog"
      }
    ],
    "scores": [
      {
        "by": 17,
        "docker-model-runner": 85,
        "edge": "docker-model-runner",
        "key": "reliability",
        "koboldcpp": 68,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 19,
        "docker-model-runner": 49,
        "edge": "koboldcpp",
        "key": "schema",
        "koboldcpp": 68,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 5,
        "docker-model-runner": 58,
        "edge": "koboldcpp",
        "key": "ergonomics",
        "koboldcpp": 63,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 2,
        "docker-model-runner": 40,
        "edge": "docker-model-runner",
        "key": "security",
        "koboldcpp": 38,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 0,
        "docker-model-runner": 60,
        "edge": "",
        "key": "payments",
        "koboldcpp": 60,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 27,
        "docker-model-runner": 55,
        "edge": "koboldcpp",
        "key": "maintenance",
        "koboldcpp": 82,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 24,
        "docker-model-runner": 73,
        "edge": "docker-model-runner",
        "key": "transparency",
        "koboldcpp": 49,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "KoboldCpp 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 and transparency \u0026 trust. Both do local inference.",
    "verdicts": {
      "docker-model-runner": "CI passes on the main branch, and Docker has published two security advisories with CVEs and fixed versions for the project. The API takes no credential, so any client or container that reaches it can pull, delete and run models, and the documentation has no OpenAPI file or error reference.",
      "koboldcpp": "One file runs text, image, speech and music models behind a published OpenAPI 3.0.3 document, with eight releases in 90 days. The server listens on every interface with no password by default, and `--password` leaves the image routes open."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/docker-model-runner-vs-koboldcpp",
    "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-koboldcpp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/docker-model-runner-vs-koboldcpp.md",
    "slim": "https://www.anchorterminal.com/compare/docker-model-runner-vs-koboldcpp.min.md"
  },
  "markdown": "KoboldCpp 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 and transparency \u0026 trust. 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- KoboldCpp: grade C, 60.5/100, rank #462 of 842. Markdown https://www.anchorterminal.com/tools/koboldcpp.md · JSON https://www.anchorterminal.com/api/v1/tools/koboldcpp.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- Transparency \u0026 trust, 73 against 49\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### KoboldCpp (C)\n\nGood for: An owner who wants text, image, speech and music models behind one executable with a writing and roleplay interface, and clients that speak the KoboldAI, OpenAI, Ollama or Anthropic formats.\n\nAhead on:\n- Schema \u0026 documentation, 68 against 49\n- Agent ergonomics, 63 against 58\n- Maintenance \u0026 community, 82 against 55\n\nAlso in its favour:\n- No incidents deducted, where Docker Model Runner loses 3 points for them\n\nWatch for: With no `--host` the server accepts connections on all routable interfaces, and no password is set by default\n\n\n## Score by category\n\n| Category | Weight | Docker Model Runner | KoboldCpp | 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 | 68 | KoboldCpp +19 |\n| Agent ergonomics | 13% (16.2 this run) | 58 | 63 | KoboldCpp +5 |\n| Security \u0026 auth | 14% (17.5 this run) | 40 | 38 | Docker Model Runner +2 |\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 | 82 | KoboldCpp +27 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 73 | 49 | Docker Model Runner +24 |\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 | KoboldCpp |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Docker, Inc. | LostRuins (Concedo) |\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 | AGPL-3.0 for KoboldCpp and KoboldAI Lite. The bundled GGML, llama.cpp and stable-diffusion.cpp code stays under MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-08-12 | 2026-09-27 |\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 | 12k stars |\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**KoboldCpp.** One file runs text, image, speech and music models behind a published OpenAPI 3.0.3 document, with eight releases in 90 days. The server listens on every interface with no password by default, and `--password` leaves the image routes open.\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### KoboldCpp\n\n1. Start with `--host 127.0.0.1` and `--password`. The default listens on every interface with no key\n2. Send the password as `Authorization: Bearer \u003cpassword\u003e`. It is not read from the query string\n3. Treat 503 as both busy and rate limited. The server never sends 429 or `Retry-After`, and the wait in seconds is in `detail.msg`\n4. Pass `max_length` or `max_tokens`. The default is 2,048 tokens unless `--defaultgenamt` changes it\n5. Send a `genkey` with each generation so `/api/extra/generate/check` and `/api/extra/abort` act on your request and not another caller's\n\n## Questions\n\n### Which is better for AI agents, Docker Model Runner or KoboldCpp?\n\nKoboldCpp 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 and transparency \u0026 trust.\n\n### Do Docker Model Runner and KoboldCpp need an API key?\n\nNeither needs a key.\n\n### Can an agent call Docker Model Runner and KoboldCpp without installing anything?\n\nNo hosted endpoint is listed for Docker Model Runner. No hosted endpoint is listed for KoboldCpp.\n\n### Are Docker Model Runner and KoboldCpp 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). KoboldCpp is open source (AGPL-3.0 for KoboldCpp and KoboldAI Lite. The bundled GGML, llama.cpp and stable-diffusion.cpp code stays under MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/docker-model-runner-vs-koboldcpp.json, and with the fewest tokens: https://www.anchorterminal.com/compare/docker-model-runner-vs-koboldcpp.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"docker-model-runner\", \"b\": \"koboldcpp\"}`. From a terminal: `anchor compare docker-model-runner koboldcpp`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/docker-model-runner.json and https://www.anchorterminal.com/api/v1/tools/koboldcpp.json\n\n## Other comparisons with Docker Model Runner or KoboldCpp\n\n- [AnythingLLM vs Docker Model Runner](https://www.anchorterminal.com/compare/anythingllm-vs-docker-model-runner.md)\n- [AnythingLLM vs KoboldCpp](https://www.anchorterminal.com/compare/anythingllm-vs-koboldcpp.md)\n- [Docker Model Runner vs Foundry Local](https://www.anchorterminal.com/compare/docker-model-runner-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 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 KoboldCpp](https://www.anchorterminal.com/compare/foundry-local-vs-koboldcpp.md)\n- [Core vs KoboldCpp](https://www.anchorterminal.com/compare/ghost-core-vs-koboldcpp.md)\n- [GPT4All vs KoboldCpp](https://www.anchorterminal.com/compare/gpt4all-vs-koboldcpp.md)\n- [Jan vs KoboldCpp](https://www.anchorterminal.com/compare/jan-vs-koboldcpp.md)\n- [Khoj vs KoboldCpp](https://www.anchorterminal.com/compare/khoj-vs-koboldcpp.md)\n- [KoboldCpp vs Lemonade](https://www.anchorterminal.com/compare/koboldcpp-vs-lemonade.md)\n- [KoboldCpp vs llama.cpp](https://www.anchorterminal.com/compare/koboldcpp-vs-llama-cpp.md)\n- [KoboldCpp vs LM Studio](https://www.anchorterminal.com/compare/koboldcpp-vs-lm-studio.md)\n- [KoboldCpp vs LocalAI](https://www.anchorterminal.com/compare/koboldcpp-vs-localai.md)\n- [KoboldCpp vs MLX LM](https://www.anchorterminal.com/compare/koboldcpp-vs-mlx-lm.md)\n- [KoboldCpp vs Ollama](https://www.anchorterminal.com/compare/koboldcpp-vs-ollama.md)\n- [KoboldCpp vs Open WebUI](https://www.anchorterminal.com/compare/koboldcpp-vs-open-webui.md)\n- [KoboldCpp vs screenpipe](https://www.anchorterminal.com/compare/koboldcpp-vs-screenpipe.md)\n- [KoboldCpp vs TextGen](https://www.anchorterminal.com/compare/koboldcpp-vs-text-generation-webui.md)\n- [Docker Model Runner vs Underdog](https://www.anchorterminal.com/compare/docker-model-runner-vs-underdog.md)\n- [KoboldCpp vs Underdog](https://www.anchorterminal.com/compare/koboldcpp-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 KoboldCpp",
        "url": ""
      }
    ],
    "description": "KoboldCpp 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 and transparency \u0026 trust. Both do local inference. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Docker Model Runner C 57.1",
      "KoboldCpp C 60.5",
      "scores"
    ],
    "h1": "Docker Model Runner vs KoboldCpp",
    "image": "https://www.anchorterminal.com/assets/og/compare-docker-model-runner-vs-koboldcpp.png",
    "path": "/compare/docker-model-runner-vs-koboldcpp",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Docker Model Runner vs KoboldCpp 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-koboldcpp"
  },
  "tokens": {
    "markdown": 2800,
    "slim": 730
  },
  "version": 1
}
