{
  "data": {
    "a": {
      "slug": "berth",
      "name": "Berth",
      "vendor": "Trevin Tindall (T-Crypt on GitHub)",
      "vendorUrl": "https://github.com/T-Crypt",
      "kind": "http-api",
      "category": "local-ai",
      "summary": "Berth is an open-source Go daemon and CLI that leases one GPU to local inference engines, image pipelines and games in turn, with a priority queue, measured VRAM handoffs and a preview OpenAI-compatible gateway on loopback.",
      "url": "https://www.anchorterminal.com/tools/berth",
      "markdownUrl": "https://www.anchorterminal.com/tools/berth.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/berth.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/berth.json",
      "repo": "https://github.com/T-Crypt/berth",
      "license": "Apache-2.0. The Berth name, the Pilot mascot and the artwork in assets/ are excluded from the licence, per the NOTICE file",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "go",
          "name": "github.com/T-Crypt/berth"
        }
      ],
      "auth": "api-key",
      "authNotes": "The gateway (`berth gateway`, 127.0.0.1:9799) takes one bearer key on every API route. The key is created on first use in `~/.config/berth/api.key` with mode 600, a group- or world-readable file is refused, `berth key` prints it, and the comparison is constant-time. The gateway binds loopback only, refuses non-loopback Host names and any request with a browser Origin. The key has no scopes and no documented rotation command. The daemon itself answers on a Unix socket with mode 600 in a 700 directory, so only the owning user can lease the card. The harbor web UI (127.0.0.1:9798) is read-only with no login, and its actions need a device paired with `berth pair`. The wake page and the optional `--comfyui-listen` port take no key by design.",
      "pricing": "free",
      "pricingNotes": "Free under Apache-2.0 with nothing to buy and no account. No hosted service.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the README, the docs or the changelog (checked 2026-10-28). Nothing is sold.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 245,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-28"
      },
      "docsUrl": "https://t-crypt.github.io/berth/",
      "capabilities": [
        "inference.local",
        "compute.gpu"
      ],
      "tags": [
        "open-source",
        "local",
        "self-hosted",
        "free",
        "no-card",
        "apache-2.0",
        "openai-compatible",
        "go",
        "cli",
        "linux",
        "windows",
        "gpu",
        "agent-skill",
        "alpha",
        "pre-1.0",
        "new"
      ],
      "lastRelease": "2026-10-23",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.6,
        "grade": "B",
        "agentReady": false,
        "rank": 283,
        "ranked": true,
        "rankOf": 1218,
        "categoryRank": 2,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 76,
          "payments": 60,
          "reliability": 76,
          "schema": 69,
          "security": 51,
          "transparency": 68
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-28"
        },
        "negative": 0,
        "verdict": "Berth coordinates one NVIDIA card between engines, ComfyUI and games, grants a lease only after the driver shows memory free, and gives agents a skill, JSON output and a keyed loopback gateway. It is 17 days old, alpha and maintained by one developer, with Windows and AMD experimental and no machine-readable API spec.",
        "bestFor": "Someone running several GPU programs (llama.cpp, llama-swap, Ollama, vLLM, ComfyUI, games) on one NVIDIA card who wants them to take turns, and agents that need to ask for the card.",
        "strengths": [
          "A lease is granted only after the driver shows the previous holder's memory free, and processes it did not start are reported, never killed",
          "Every reporting command takes `--format json|yaml`, with results on stdout and exit codes 0, 1, 2 and 75 by one documented rule",
          "Gateway failures return 503 with Retry-After and a machine code such as `outranked`, `engine_oom` or `no_headroom`",
          "CI builds, vets, lints and tests on Linux and Windows, and releases publish SHA256SUMS that `berth update` checks",
          "Apache-2.0, no account and no telemetry upload, with the one GitHub update check documented and switchable off"
        ],
        "weaknesses": [
          "First released on 11 October 2026 and called alpha. Windows, AMD and multiple GPUs are experimental, and the gateway is a preview",
          "One bearer key with no scopes or documented rotation controls every gateway route, including switch and stop",
          "No OpenAPI file or llms.txt. The gateway's own routes are documented in Markdown with curl examples",
          "No SECURITY.md, security.txt or disclosure route, and the harbor has no login when bound past loopback",
          "Linux and NVIDIA only for full support, through nvidia-smi. Intel and Apple GPUs are not supported"
        ],
        "agentNotes": [
          "Run `berth status --format json` before starting, stopping or switching any GPU engine. If berthd is unreachable, no engine is protected",
          "Never kill a process to free VRAM. Ask for the card with `berth run`, `berth hold` or a gateway request, and report stowaways to the user",
          "Send gateway requests to http://127.0.0.1:9799/v1 with `Authorization: Bearer $(berth key)`, and use `\"stream\": true` for cold starts of up to minutes",
          "On a 503, read the `code` and wait for `Retry-After`. A pinned holder (a game or `berth hold`) answers 409 to stop and is the user's call",
          "Ask the user before `berth reclaim LEASE --yes`, any berth.toml edit or `berth update`. Each changes the node"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 67.6
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 76,
          "payments": 60,
          "reliability": 76,
          "schema": 69,
          "security": 51,
          "transparency": 74
        },
        "provenanceScore": 61,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-28",
            "maintenance": "2026-10-28",
            "payments": "2026-10-28",
            "reliability": "2026-10-28",
            "schema": "2026-10-28",
            "security": "2026-10-28",
            "transparency": "2026-10-28"
          },
          "last": "2026-10-28",
          "oldest": "2026-10-28",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "go install github.com/T-Crypt/berth/cmd/berth@latest      # or a release binary checked against SHA256SUMS\nberth service install --harbor\nberth status\nberth run --as llama --priority foreground -- llama-server -m model.gguf --port 8080",
        "http": "curl -s http://127.0.0.1:9799/v1/berth/board -H \"Authorization: Bearer $(berth key)\"",
        "claudeCode": "berth skill install   # writes the Berth and ComfyUI skills, including to ~/.claude/skills"
      },
      "letme": {
        "capability": "https://letme.dev/inference.local",
        "tool": "https://letme.dev/berth"
      },
      "area": "models",
      "provenance": {
        "legalEntity": "Trevin Tindall (T-Crypt on GitHub)",
        "domain": "",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/T-Crypt/berth/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-10-28",
        "notes": [
          "The project has no website of its own. The docs are an MkDocs site at https://t-crypt.github.io/berth/. The NOTICE and README name Trevin Tindall (T-Crypt) as the creator and maintainer, and the licence is Apache-2.0.",
          "No terms, privacy policy, SECURITY.md or security.txt. The changelog has a Security heading for v0.3.4.",
          "The software runs on the owner's machine, so there is no vendor endpoint or status page to check.",
          "T-Crypt/berth is the original. jenerestain/berth, sefator/berth and Bacongineer/berth-upstream keep its module path, copyright and links, and are forks of earlier snapshots."
        ],
        "score": 61
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/berth.json"
    },
    "answer": "Berth scores 67.6 (B) on agent readiness against Lemonade's 63.9 (B), and leads in 4 of 7 scored categories.",
    "b": {
      "slug": "lemonade",
      "name": "Lemonade",
      "vendor": "AMD and the Lemonade community",
      "vendorUrl": "https://lemonade-server.ai",
      "kind": "http-api",
      "category": "local-ai",
      "summary": "Open-source local AI server from AMD and community contributors. It runs text, speech and image models on the owner's CPU, GPU or NPU behind OpenAI-, Anthropic- and Ollama-compatible APIs and an MCP endpoint on port 13305.",
      "url": "https://www.anchorterminal.com/tools/lemonade",
      "markdownUrl": "https://www.anchorterminal.com/tools/lemonade.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/lemonade.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/lemonade.json",
      "repo": "https://github.com/lemonade-sdk/lemonade",
      "license": "Apache 2.0. Each backend (llama.cpp, whisper.cpp, stable-diffusion.cpp, FastFlowLM and others) is downloaded separately under its own licence",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "oci",
          "name": "ghcr.io/lemonade-sdk/lemonade-server"
        }
      ],
      "auth": "api-key",
      "authNotes": "Off by default. With no key set, every endpoint answers without authentication, on a default bind of localhost. `LEMONADE_API_KEY` sets one bearer key for the regular API (`/api/*`, `/v0/*`, `/v1/*`, `/mcp` and `/metrics`). `LEMONADE_ADMIN_API_KEY` sets a second key for the internal control endpoints (`/internal/*`), and without it the regular key reaches those too. Both are environment variables, so there are no per-user keys. The docs tell WebSocket clients to pass `?api_key=KEY` in the URL.",
      "pricing": "free",
      "pricingNotes": "Free and Apache 2.0 with nothing to buy and no account. You run it on your own hardware. Cloud Offload, which is optional and experimental, bills through the owner's own keys at whichever cloud provider they add.",
      "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": 6,
      "popularity": {
        "githubStars": 5800,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://lemonade-server.ai/docs/",
      "capabilities": [
        "inference.local",
        "inference.open-weights",
        "embed.text",
        "rerank",
        "speech.stt",
        "speech.tts",
        "image.generate"
      ],
      "tags": [
        "open-source",
        "local",
        "self-hosted",
        "free",
        "no-card",
        "openai-compatible",
        "mcp",
        "streaming",
        "open-weights",
        "amd",
        "npu",
        "docker"
      ],
      "lastRelease": "2026-10-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.9,
        "grade": "B",
        "agentReady": false,
        "rank": 425,
        "ranked": true,
        "rankOf": 1218,
        "categoryRank": 3,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 70,
          "maintenance": 76,
          "payments": 60,
          "reliability": 75,
          "schema": 70,
          "security": 36,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Apache 2.0, with weekly releases, installers for Windows, macOS and five Linux routes, and a six-tool MCP endpoint whose descriptions steer a caller away from accidental multi-gigabyte downloads. Authentication is off by default, the repository has no security policy, and the docs tell WebSocket clients to pass the key in the URL.",
        "bestFor": "An owner with AMD hardware (Ryzen AI NPUs, Radeon or Strix Halo) who wants one local server for chat, speech and images that existing OpenAI, Anthropic or Ollama clients can call, and for MCP clients that want local models as tools.",
        "strengths": [
          "Apache 2.0, with OpenAI, Anthropic Messages, Ollama and llama.cpp-compatible routes on one port (13305)",
          "`POST /mcp` exposes six tools over Streamable HTTP, and omitting `model` reuses a loaded or downloaded model before any download",
          "Every running server returns its own Markdown API reference at `GET /v1/docs` and through the `lemonade_docs` tool, so it matches the installed version",
          "Stable release v2026.41.1 on 7 October 2026 on a weekly cadence, each with a Breaking Changes section in its notes",
          "Telemetry is off by default and exports OTLP traces only to an endpoint the operator sets, with switches to redact prompts and outputs"
        ],
        "weaknesses": [
          "No authentication by default. With no key set, every route answers, including `/internal/*` shutdown and configuration",
          "GitHub reports no `SECURITY.md`, and we found no security.txt, advisory or disclosure address",
          "The docs tell WebSocket clients to send the key as `?api_key=KEY` in the URL",
          "No OpenAPI file in the repository, and no `readOnlyHint` or `destructiveHint` on the MCP tools",
          "The main build and test workflow's badge read failing on main on 8 October 2026, with 411 issues open"
        ],
        "agentNotes": [
          "Call `lemonade_list_models` (or `GET /v1/models`) before naming a model. A wrong name with `allow_download: true` can start a multi-gigabyte download",
          "Send `Authorization: Bearer \u003ckey\u003e` when the operator has set `LEMONADE_API_KEY`. `/internal/*` needs the admin key when one is set",
          "Use `POST /v1/chat/completions` for streamed tokens, embeddings and speech. The MCP endpoint ignores `stream` and has no embeddings or text-to-speech tool",
          "Pass `output_dir` to `lemonade_generate_image` and `lemonade_omni` to get file paths in place of inline base64. Writes stay inside the MCP media sandbox",
          "Read `GET /v1/docs` on the running server for the reference that matches its version. Weekly releases change behaviour"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.9
          }
        ],
        "editorialScores": {
          "ergonomics": 70,
          "maintenance": 76,
          "payments": 60,
          "reliability": 75,
          "schema": 70,
          "security": 36,
          "transparency": 70
        },
        "provenanceScore": 60,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-08",
            "maintenance": "2026-10-08",
            "payments": "2026-10-08",
            "reliability": "2026-10-08",
            "schema": "2026-10-08",
            "security": "2026-10-08",
            "transparency": "2026-10-08"
          },
          "last": "2026-10-08",
          "lastMoved": "2026-10-27",
          "oldest": "2026-10-08",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "winget install --id AMD.LemonadeServer -e",
        "http": "curl http://localhost:13305/api/v1/chat/completions -H \"Content-Type: application/json\" -d '{\"model\": \"your-model-name\", \"messages\": [{\"role\": \"user\", \"content\": \"Hello\"}]}'",
        "claudeCode": "lemonade launch claude"
      },
      "letme": {
        "capability": "https://letme.dev/inference.local",
        "tool": "https://letme.dev/lemonade"
      },
      "area": "models",
      "provenance": {
        "legalEntity": "Advanced Micro Devices, Inc.",
        "domain": "lemonade-server.ai",
        "domainRegistered": "2025-05-12",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/lemonade-sdk/lemonade/releases",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The website footer reads \"© 2026 AMD. Licensed under Apache 2.0\", and `contrib/debian/copyright` in the repository names Advanced Micro Devices, Inc. The code lives in the lemonade-sdk organisation on GitHub, and the README calls it a community project with optimisations by AMD engineers.",
          "We found no terms of service and no privacy policy for the software or the website. The home page and its footer link to neither, so both fields are empty.",
          "lemonade-server.ai/.well-known/security.txt, /security.txt and /llms.txt return 404.",
          "RDAP gives a registration date of 2025-05-12 for lemonade-server.ai, with Porkbun LLC as registrar and the registrant behind a privacy service.",
          "There's no hosted endpoint. Each instance answers on the owner's own machine, by default localhost port 13305."
        ],
        "score": 60
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/lemonade.json",
      "live": {
        "slug": "lemonade",
        "versions": [
          {
            "registry": "github",
            "name": "lemonade-sdk/lemonade",
            "version": "v2026.43.3",
            "released": "2026-10-21",
            "seenAt": "2026-10-27T11:10:34.280436542Z"
          }
        ],
        "githubStars": 6004,
        "securityTxt": {
          "url": "https://lemonade-server.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-27T15:31:37.130122931Z"
        },
        "domain": {
          "domain": "lemonade-server.ai",
          "registered": "2025-05-12",
          "source": "https://rdap.identitydigital.services/rdap/domain/lemonade-server.ai",
          "checkedAt": "2026-10-25T13:53:24.779824602Z"
        },
        "github": {
          "repo": "lemonade-sdk/lemonade",
          "checkedAt": "2026-10-26T07:39:23.418517625Z",
          "stars": 5999,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-26T04:52:33Z",
          "openIssues": 432,
          "openPRs": 176,
          "issuesOpened90d": 359,
          "issuesClosed90d": 250,
          "prsMerged90d": 493,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 50,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-24T18:42:09Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 21,
            "medianDays": 0.9
          }
        },
        "updatedAt": "2026-10-27T15:31:37.130122931Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Trevin Tindall (T-Crypt on GitHub)",
        "b": "AMD and the Lemonade community",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0. The Berth name, the Pilot mascot and the artwork in assets/ are excluded from the licence, per the NOTICE file",
        "b": "Apache 2.0. Each backend (llama.cpp, whisper.cpp, stable-diffusion.cpp, FastFlowLM and others) is downloaded separately under its own licence",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "6",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-23",
        "b": "2026-10-07",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "245 stars",
        "b": "5.8k stars",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Berth scores 67.6 (B) on agent readiness against Lemonade's 63.9 (B), and leads in 4 of 7 scored categories.",
        "question": "Which is better for AI agents, Berth or Lemonade?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Berth and Lemonade need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Berth. No hosted endpoint is listed for Lemonade.",
        "question": "Can an agent call Berth and Lemonade without installing anything?"
      },
      {
        "answer": "Yes. Berth is open source (Apache-2.0. The Berth name, the Pilot mascot and the artwork in assets/ are excluded from the licence, per the NOTICE file). Lemonade is open source (Apache 2.0. Each backend (llama.cpp, whisper.cpp, stable-diffusion.cpp, FastFlowLM and others) is downloaded separately under its own licence).",
        "question": "Are Berth and Lemonade open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Agent ergonomics, 75 against 70",
          "Security \u0026 auth, 51 against 36"
        ],
        "also": null,
        "goodFor": "Someone running several GPU programs (llama.cpp, llama-swap, Ollama, vLLM, ComfyUI, games) on one NVIDIA card who wants them to take turns, and agents that need to ask for the card.",
        "slug": "berth",
        "watchFor": "First released on 11 October 2026 and called alpha. Windows, AMD and multiple GPUs are experimental, and the gateway is a preview"
      },
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "An owner with AMD hardware (Ryzen AI NPUs, Radeon or Strix Halo) who wants one local server for chat, speech and images that existing OpenAI, Anthropic or Ollama clients can call, and for MCP clients that want local models as tools.",
        "slug": "lemonade",
        "watchFor": "No authentication by default. With no key set, every route answers, including `/internal/*` shutdown and configuration"
      }
    ],
    "job": {
      "capability": "inference.local",
      "name": "Local inference"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-berth.json",
        "title": "AnythingLLM vs Berth",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-berth"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-lemonade.json",
        "title": "AnythingLLM vs Lemonade",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-lemonade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/berth-vs-bitrun.json",
        "title": "Berth vs BitRun",
        "url": "https://www.anchorterminal.com/compare/berth-vs-bitrun"
      },
      {
        "json": "https://www.anchorterminal.com/compare/berth-vs-docker-model-runner.json",
        "title": "Berth vs Docker Model Runner",
        "url": "https://www.anchorterminal.com/compare/berth-vs-docker-model-runner"
      },
      {
        "json": "https://www.anchorterminal.com/compare/berth-vs-foundry-local.json",
        "title": "Berth vs Foundry Local",
        "url": "https://www.anchorterminal.com/compare/berth-vs-foundry-local"
      },
      {
        "json": "https://www.anchorterminal.com/compare/berth-vs-ghost-core.json",
        "title": "Berth vs Core",
        "url": "https://www.anchorterminal.com/compare/berth-vs-ghost-core"
      },
      {
        "json": "https://www.anchorterminal.com/compare/berth-vs-gpt4all.json",
        "title": "Berth vs GPT4All",
        "url": "https://www.anchorterminal.com/compare/berth-vs-gpt4all"
      },
      {
        "json": "https://www.anchorterminal.com/compare/berth-vs-jan.json",
        "title": "Berth vs Jan",
        "url": "https://www.anchorterminal.com/compare/berth-vs-jan"
      },
      {
        "json": "https://www.anchorterminal.com/compare/berth-vs-khoj.json",
        "title": "Berth vs Khoj",
        "url": "https://www.anchorterminal.com/compare/berth-vs-khoj"
      },
      {
        "json": "https://www.anchorterminal.com/compare/berth-vs-koboldcpp.json",
        "title": "Berth vs KoboldCpp",
        "url": "https://www.anchorterminal.com/compare/berth-vs-koboldcpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/berth-vs-llama-cpp.json",
        "title": "Berth vs llama.cpp",
        "url": "https://www.anchorterminal.com/compare/berth-vs-llama-cpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/berth-vs-lm-studio.json",
        "title": "Berth vs LM Studio",
        "url": "https://www.anchorterminal.com/compare/berth-vs-lm-studio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/berth-vs-localai.json",
        "title": "Berth vs LocalAI",
        "url": "https://www.anchorterminal.com/compare/berth-vs-localai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/berth-vs-mlx-lm.json",
        "title": "Berth vs MLX LM",
        "url": "https://www.anchorterminal.com/compare/berth-vs-mlx-lm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/berth-vs-ollama.json",
        "title": "Berth vs Ollama",
        "url": "https://www.anchorterminal.com/compare/berth-vs-ollama"
      },
      {
        "json": "https://www.anchorterminal.com/compare/berth-vs-open-webui.json",
        "title": "Berth vs Open WebUI",
        "url": "https://www.anchorterminal.com/compare/berth-vs-open-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/berth-vs-screenpipe.json",
        "title": "Berth vs screenpipe",
        "url": "https://www.anchorterminal.com/compare/berth-vs-screenpipe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/berth-vs-text-generation-webui.json",
        "title": "Berth vs TextGen",
        "url": "https://www.anchorterminal.com/compare/berth-vs-text-generation-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/berth-vs-vllm.json",
        "title": "Berth vs vLLM",
        "url": "https://www.anchorterminal.com/compare/berth-vs-vllm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitrun-vs-lemonade.json",
        "title": "BitRun vs Lemonade",
        "url": "https://www.anchorterminal.com/compare/bitrun-vs-lemonade"
      },
      {
        "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/foundry-local-vs-lemonade.json",
        "title": "Foundry Local vs Lemonade",
        "url": "https://www.anchorterminal.com/compare/foundry-local-vs-lemonade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ghost-core-vs-lemonade.json",
        "title": "Core vs Lemonade",
        "url": "https://www.anchorterminal.com/compare/ghost-core-vs-lemonade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-lemonade.json",
        "title": "GPT4All vs Lemonade",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-lemonade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jan-vs-lemonade.json",
        "title": "Jan vs Lemonade",
        "url": "https://www.anchorterminal.com/compare/jan-vs-lemonade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/khoj-vs-lemonade.json",
        "title": "Khoj vs Lemonade",
        "url": "https://www.anchorterminal.com/compare/khoj-vs-lemonade"
      },
      {
        "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/lemonade-vs-llama-cpp.json",
        "title": "Lemonade vs llama.cpp",
        "url": "https://www.anchorterminal.com/compare/lemonade-vs-llama-cpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lemonade-vs-lm-studio.json",
        "title": "Lemonade vs LM Studio",
        "url": "https://www.anchorterminal.com/compare/lemonade-vs-lm-studio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lemonade-vs-localai.json",
        "title": "Lemonade vs LocalAI",
        "url": "https://www.anchorterminal.com/compare/lemonade-vs-localai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lemonade-vs-mlx-lm.json",
        "title": "Lemonade vs MLX LM",
        "url": "https://www.anchorterminal.com/compare/lemonade-vs-mlx-lm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lemonade-vs-ollama.json",
        "title": "Lemonade vs Ollama",
        "url": "https://www.anchorterminal.com/compare/lemonade-vs-ollama"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lemonade-vs-open-webui.json",
        "title": "Lemonade vs Open WebUI",
        "url": "https://www.anchorterminal.com/compare/lemonade-vs-open-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lemonade-vs-screenpipe.json",
        "title": "Lemonade vs screenpipe",
        "url": "https://www.anchorterminal.com/compare/lemonade-vs-screenpipe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lemonade-vs-text-generation-webui.json",
        "title": "Lemonade vs TextGen",
        "url": "https://www.anchorterminal.com/compare/lemonade-vs-text-generation-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lemonade-vs-vllm.json",
        "title": "Lemonade vs vLLM",
        "url": "https://www.anchorterminal.com/compare/lemonade-vs-vllm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lemonade-vs-underdog.json",
        "title": "Lemonade vs Underdog",
        "url": "https://www.anchorterminal.com/compare/lemonade-vs-underdog"
      }
    ],
    "scores": [
      {
        "berth": 76,
        "by": 1,
        "edge": "berth",
        "key": "reliability",
        "lemonade": 75,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "berth": 69,
        "by": 1,
        "edge": "lemonade",
        "key": "schema",
        "lemonade": 70,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "berth": 75,
        "by": 5,
        "edge": "berth",
        "key": "ergonomics",
        "lemonade": 70,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "berth": 51,
        "by": 15,
        "edge": "berth",
        "key": "security",
        "lemonade": 36,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "berth": 60,
        "by": 0,
        "edge": "",
        "key": "payments",
        "lemonade": 60,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "berth": 76,
        "by": 0,
        "edge": "",
        "key": "maintenance",
        "lemonade": 76,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "berth": 68,
        "by": 3,
        "edge": "berth",
        "key": "transparency",
        "lemonade": 65,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Berth scores 67.6 (B) on agent readiness against Lemonade's 63.9 (B), and leads in 4 of 7 scored categories. Both do local inference.",
    "tutorials": [],
    "verdicts": {
      "berth": "Berth coordinates one NVIDIA card between engines, ComfyUI and games, grants a lease only after the driver shows memory free, and gives agents a skill, JSON output and a keyed loopback gateway. It is 17 days old, alpha and maintained by one developer, with Windows and AMD experimental and no machine-readable API spec.",
      "lemonade": "Apache 2.0, with weekly releases, installers for Windows, macOS and five Linux routes, and a six-tool MCP endpoint whose descriptions steer a caller away from accidental multi-gigabyte downloads. Authentication is off by default, the repository has no security policy, and the docs tell WebSocket clients to pass the key in the URL."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/berth-vs-lemonade",
    "json": "https://www.anchorterminal.com/compare/berth-vs-lemonade.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/berth-vs-lemonade.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/berth-vs-lemonade.min.md"
  },
  "markdown": "Berth scores 67.6 (B) on agent readiness against Lemonade's 63.9 (B), and leads in 4 of 7 scored categories. Both do local inference.\n\n- Berth: grade B, 67.6/100, rank #283 of 1218. Markdown https://www.anchorterminal.com/tools/berth.md · JSON https://www.anchorterminal.com/api/v1/tools/berth.json\n- Lemonade: grade B, 63.9/100, rank #425 of 1218. Markdown https://www.anchorterminal.com/tools/lemonade.md · JSON https://www.anchorterminal.com/api/v1/tools/lemonade.json\n- Best local AI models and assistants: https://www.anchorterminal.com/best/local-ai/index.md\n- All 229 local ai comparisons: https://www.anchorterminal.com/compare/local-ai/index.md\n\n## Which one, for what\n\n### Berth (B)\n\nGood for: Someone running several GPU programs (llama.cpp, llama-swap, Ollama, vLLM, ComfyUI, games) on one NVIDIA card who wants them to take turns, and agents that need to ask for the card.\n\nAhead on:\n- Agent ergonomics, 75 against 70\n- Security \u0026 auth, 51 against 36\n\nWatch for: First released on 11 October 2026 and called alpha. Windows, AMD and multiple GPUs are experimental, and the gateway is a preview\n\n### Lemonade (B)\n\nGood for: An owner with AMD hardware (Ryzen AI NPUs, Radeon or Strix Halo) who wants one local server for chat, speech and images that existing OpenAI, Anthropic or Ollama clients can call, and for MCP clients that want local models as tools.\n\nWatch for: No authentication by default. With no key set, every route answers, including `/internal/*` shutdown and configuration\n\n\n## Score by category\n\n| Category | Weight | Berth | Lemonade | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 76 | 75 | Berth +1 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 69 | 70 | Lemonade +1 |\n| Agent ergonomics | 13% (16.2 this run) | 75 | 70 | Berth +5 |\n| Security \u0026 auth | 14% (17.5 this run) | 51 | 36 | Berth +15 |\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) | 76 | 76 | even |\n| Transparency \u0026 trust | 7% (8.8 this run) | 68 | 65 | Berth +3 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **67.6 · B** | **63.9 · B** | |\n\n## Facts side by side\n\n| Fact | Berth | Lemonade |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Trevin Tindall (T-Crypt on GitHub) | AMD and the Lemonade community |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | Apache-2.0. The Berth name, the Pilot mascot and the artwork in assets/ are excluded from the licence, per the NOTICE file | Apache 2.0. Each backend (llama.cpp, whisper.cpp, stable-diffusion.cpp, FastFlowLM and others) is downloaded separately under its own licence |\n| Tools exposed | none | 6 |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2026-10-23 | 2026-10-07 |\n| Terms last updated | no document linked | no document linked |\n| Privacy policy last updated | no document linked | no document linked |\n| Customer content may train models |  |  |\n| Terms restrict automated access |  |  |\n| Terms restrict benchmarking |  |  |\n| Terms or service can change without notice |  |  |\n| Arbitration or class-action waiver |  |  |\n| Popularity | 245 stars | 5.8k stars |\n| Agent reviews | none | 3/5 (4) |\n\n## Verdicts\n\n**Berth.** Berth coordinates one NVIDIA card between engines, ComfyUI and games, grants a lease only after the driver shows memory free, and gives agents a skill, JSON output and a keyed loopback gateway. It is 17 days old, alpha and maintained by one developer, with Windows and AMD experimental and no machine-readable API spec.\n\n**Lemonade.** Apache 2.0, with weekly releases, installers for Windows, macOS and five Linux routes, and a six-tool MCP endpoint whose descriptions steer a caller away from accidental multi-gigabyte downloads. Authentication is off by default, the repository has no security policy, and the docs tell WebSocket clients to pass the key in the URL.\n\n## Before you call either\n\n### Berth\n\n1. Run `berth status --format json` before starting, stopping or switching any GPU engine. If berthd is unreachable, no engine is protected\n2. Never kill a process to free VRAM. Ask for the card with `berth run`, `berth hold` or a gateway request, and report stowaways to the user\n3. Send gateway requests to http://127.0.0.1:9799/v1 with `Authorization: Bearer $(berth key)`, and use `\"stream\": true` for cold starts of up to minutes\n4. On a 503, read the `code` and wait for `Retry-After`. A pinned holder (a game or `berth hold`) answers 409 to stop and is the user's call\n5. Ask the user before `berth reclaim LEASE --yes`, any berth.toml edit or `berth update`. Each changes the node\n\n### Lemonade\n\n1. Call `lemonade_list_models` (or `GET /v1/models`) before naming a model. A wrong name with `allow_download: true` can start a multi-gigabyte download\n2. Send `Authorization: Bearer \u003ckey\u003e` when the operator has set `LEMONADE_API_KEY`. `/internal/*` needs the admin key when one is set\n3. Use `POST /v1/chat/completions` for streamed tokens, embeddings and speech. The MCP endpoint ignores `stream` and has no embeddings or text-to-speech tool\n4. Pass `output_dir` to `lemonade_generate_image` and `lemonade_omni` to get file paths in place of inline base64. Writes stay inside the MCP media sandbox\n5. Read `GET /v1/docs` on the running server for the reference that matches its version. Weekly releases change behaviour\n\n## Questions\n\n### Which is better for AI agents, Berth or Lemonade?\n\nBerth scores 67.6 (B) on agent readiness against Lemonade's 63.9 (B), and leads in 4 of 7 scored categories.\n\n### Do Berth and Lemonade need an API key?\n\nBoth need an API key.\n\n### Can an agent call Berth and Lemonade without installing anything?\n\nNo hosted endpoint is listed for Berth. No hosted endpoint is listed for Lemonade.\n\n### Are Berth and Lemonade open source?\n\nYes. Berth is open source (Apache-2.0. The Berth name, the Pilot mascot and the artwork in assets/ are excluded from the licence, per the NOTICE file). Lemonade is open source (Apache 2.0. Each backend (llama.cpp, whisper.cpp, stable-diffusion.cpp, FastFlowLM and others) is downloaded separately under its own licence).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/berth-vs-lemonade.json, and with the fewest tokens: https://www.anchorterminal.com/compare/berth-vs-lemonade.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"berth\", \"b\": \"lemonade\"}`. From a terminal: `anchor compare berth lemonade`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/berth.json and https://www.anchorterminal.com/api/v1/tools/lemonade.json\n\n## Other comparisons with Berth or Lemonade\n\n- [AnythingLLM vs Berth](https://www.anchorterminal.com/compare/anythingllm-vs-berth.md)\n- [AnythingLLM vs Lemonade](https://www.anchorterminal.com/compare/anythingllm-vs-lemonade.md)\n- [Berth vs BitRun](https://www.anchorterminal.com/compare/berth-vs-bitrun.md)\n- [Berth vs Docker Model Runner](https://www.anchorterminal.com/compare/berth-vs-docker-model-runner.md)\n- [Berth vs Foundry Local](https://www.anchorterminal.com/compare/berth-vs-foundry-local.md)\n- [Berth vs Core](https://www.anchorterminal.com/compare/berth-vs-ghost-core.md)\n- [Berth vs GPT4All](https://www.anchorterminal.com/compare/berth-vs-gpt4all.md)\n- [Berth vs Jan](https://www.anchorterminal.com/compare/berth-vs-jan.md)\n- [Berth vs Khoj](https://www.anchorterminal.com/compare/berth-vs-khoj.md)\n- [Berth vs KoboldCpp](https://www.anchorterminal.com/compare/berth-vs-koboldcpp.md)\n- [Berth vs llama.cpp](https://www.anchorterminal.com/compare/berth-vs-llama-cpp.md)\n- [Berth vs LM Studio](https://www.anchorterminal.com/compare/berth-vs-lm-studio.md)\n- [Berth vs LocalAI](https://www.anchorterminal.com/compare/berth-vs-localai.md)\n- [Berth vs MLX LM](https://www.anchorterminal.com/compare/berth-vs-mlx-lm.md)\n- [Berth vs Ollama](https://www.anchorterminal.com/compare/berth-vs-ollama.md)\n- [Berth vs Open WebUI](https://www.anchorterminal.com/compare/berth-vs-open-webui.md)\n- [Berth vs screenpipe](https://www.anchorterminal.com/compare/berth-vs-screenpipe.md)\n- [Berth vs TextGen](https://www.anchorterminal.com/compare/berth-vs-text-generation-webui.md)\n- [Berth vs vLLM](https://www.anchorterminal.com/compare/berth-vs-vllm.md)\n- [BitRun vs Lemonade](https://www.anchorterminal.com/compare/bitrun-vs-lemonade.md)\n- [Docker Model Runner vs Lemonade](https://www.anchorterminal.com/compare/docker-model-runner-vs-lemonade.md)\n- [Foundry Local vs Lemonade](https://www.anchorterminal.com/compare/foundry-local-vs-lemonade.md)\n- [Core vs Lemonade](https://www.anchorterminal.com/compare/ghost-core-vs-lemonade.md)\n- [GPT4All vs Lemonade](https://www.anchorterminal.com/compare/gpt4all-vs-lemonade.md)\n- [Jan vs Lemonade](https://www.anchorterminal.com/compare/jan-vs-lemonade.md)\n- [Khoj vs Lemonade](https://www.anchorterminal.com/compare/khoj-vs-lemonade.md)\n- [KoboldCpp vs Lemonade](https://www.anchorterminal.com/compare/koboldcpp-vs-lemonade.md)\n- [Lemonade vs llama.cpp](https://www.anchorterminal.com/compare/lemonade-vs-llama-cpp.md)\n- [Lemonade vs LM Studio](https://www.anchorterminal.com/compare/lemonade-vs-lm-studio.md)\n- [Lemonade vs LocalAI](https://www.anchorterminal.com/compare/lemonade-vs-localai.md)\n- [Lemonade vs MLX LM](https://www.anchorterminal.com/compare/lemonade-vs-mlx-lm.md)\n- [Lemonade vs Ollama](https://www.anchorterminal.com/compare/lemonade-vs-ollama.md)\n- [Lemonade vs Open WebUI](https://www.anchorterminal.com/compare/lemonade-vs-open-webui.md)\n- [Lemonade vs screenpipe](https://www.anchorterminal.com/compare/lemonade-vs-screenpipe.md)\n- [Lemonade vs TextGen](https://www.anchorterminal.com/compare/lemonade-vs-text-generation-webui.md)\n- [Lemonade vs vLLM](https://www.anchorterminal.com/compare/lemonade-vs-vllm.md)\n- [Lemonade vs Underdog](https://www.anchorterminal.com/compare/lemonade-vs-underdog.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-28",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Berth vs Lemonade",
        "url": ""
      }
    ],
    "description": "Berth scores 67.6 (B) to Lemonade's 63.9 (B) for local inference. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Berth B 67.6",
      "Lemonade B 63.9",
      "scores"
    ],
    "h1": "Berth vs Lemonade",
    "image": "https://www.anchorterminal.com/assets/og/compare-berth-vs-lemonade.png",
    "path": "/compare/berth-vs-lemonade",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Berth vs Lemonade for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-28",
    "url": "https://www.anchorterminal.com/compare/berth-vs-lemonade"
  },
  "tokens": {
    "markdown": 2700,
    "slim": 580
  },
  "version": 1
}
