{
  "data": {
    "a": {
      "slug": "anythingllm",
      "name": "AnythingLLM",
      "vendor": "Mintplex Labs",
      "vendorUrl": "https://anythingllm.com",
      "kind": "platform",
      "category": "local-ai",
      "summary": "Open-source app for chatting with documents using local or hosted models. Available as a desktop app or a self-hosted server.",
      "url": "https://www.anchorterminal.com/tools/anythingllm",
      "markdownUrl": "https://www.anchorterminal.com/tools/anythingllm.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/anythingllm.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/anythingllm.json",
      "repo": "https://github.com/Mintplex-Labs/anything-llm",
      "license": "MIT (server, document collector, frontend and Docker image). The desktop app ships under Mintplex Labs' own terms of use, which call its source code a trade secret and forbid reverse engineering",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "oci",
          "name": "mintplexlabs/anythingllm"
        },
        {
          "registry": "oci",
          "name": "ghcr.io/mintplex-labs/anything-llm"
        }
      ],
      "auth": "api-key",
      "authNotes": "The developer API under /api/v1 takes a key in `Authorization: Bearer`. An admin creates keys in the UI. SECURITY.md says each key has full, unrestricted access to the whole /v1 surface, equivalent to admin, and the database stores keys in plain text with no scopes or expiry. A key is revoked by deleting it. The instance itself runs with no password, one password or multi-user accounts, chosen at onboarding, and the desktop backend listens on 127.0.0.1:3001 unless network discovery is switched on.",
      "pricing": "freemium",
      "pricingNotes": "The desktop app and the Docker server are free, with no account. AnythingLLM Cloud, a private managed instance on AWS, costs $50 a month (Basic, bring your own model key) or $99 a month (Pro, 72-hour support SLA), with Enterprise on request. The pricing page shows no trial or free tier for Cloud, and checkout goes through my.mintplexlabs.com (checked 2026-10-03).",
      "priceSummary": "$50 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the pricing page or the source (checked 2026-10-03).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 66600,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-03"
      },
      "docsUrl": "https://docs.anythingllm.com",
      "openapi": "https://raw.githubusercontent.com/Mintplex-Labs/anything-llm/master/server/swagger/openapi.json",
      "capabilities": [
        "inference.local",
        "memory.search",
        "agent.mcp-client",
        "memory.user",
        "inference.open-weights"
      ],
      "tags": [
        "open-source",
        "local",
        "self-hosted",
        "hosted",
        "desktop",
        "docker",
        "openapi",
        "openai-compatible",
        "rag",
        "mcp-client",
        "freemium",
        "telemetry-default-on"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.3,
        "grade": "D",
        "agentReady": false,
        "rank": 631,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 10,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 46,
          "maintenance": 78,
          "payments": 60,
          "reliability": 67,
          "schema": 57,
          "security": 38,
          "transparency": 59
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-03"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-04-15 to 2026-05-21. Ten advisories published in the last year, all fixed, among them CVE-2026-48116 (GHSA-6hrp-7mw6-8v59, CVSS 7.5), code execution through a `--pre` argument passed to ripgrep by the filesystem-search-files agent skill in 1.12.1 and earlier, fixed on 20 May 2026 (commit 94ed62d3) and published on 21 May, and GHSA-4q6m-qh3w-9gf5 (15 April 2026), a DOM XSS in chart rendering that prompt injection could trigger. Fixed and published inside six months, so a small deduction, -3. https://github.com/Mintplex-Labs/anything-llm/security/advisories/GHSA-6hrp-7mw6-8v59; https://github.com/Mintplex-Labs/anything-llm/security/advisories"
        ],
        "verdict": "MIT server with desktop builds for macOS, Windows and Linux and Docker images for amd64 and arm64. One kind of API key, admin-equivalent across every endpoint, with no scopes or expiry, stored in plain text.",
        "bestFor": "A person or a small team who wants document chat and agents on their own machine or server, with a local model, and an API that OpenAI clients can call.",
        "strengths": [
          "MIT server with desktop builds for macOS, Windows and Linux and Docker images for amd64 and arm64",
          "63 developer API operations in OpenAPI 3.0, served at /api/docs on every instance",
          "OpenAI-compatible chat, embeddings and model endpoints that treat each workspace as a model",
          "38 model providers, including Ollama, LM Studio and a built-in local engine on the desktop, and LanceDB on disk by default",
          "v1.17.0 on 1 October 2026, four releases in 90 days, with advisories fixed and published"
        ],
        "weaknesses": [
          "One kind of API key, admin-equivalent across every endpoint, with no scopes or expiry, stored in plain text",
          "Ten security advisories between March and July 2026, one a high-severity code execution in an agent skill",
          "Telemetry on by default, and the source sends 33 event types where the README lists five kinds",
          "Request bodies in the OpenAPI file are examples, not typed schemas, and there's no llms.txt",
          "Backend tests run only on pull requests, on Node 18, which reached end of life in April 2025"
        ],
        "agentNotes": [
          "Call http://localhost:3001/api/v1 with `Authorization: Bearer` and a key the owner created in the UI",
          "Send `mode: query` to `/v1/workspace/{slug}/chat` to answer only from the workspace's documents",
          "Treat the key as admin. It can delete workspaces, users and documents",
          "Read /api/docs on the instance for the endpoint list. Request bodies there are examples, not schemas",
          "Pass a `sessionId` with each chat to keep your conversation apart from other API callers"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 53.3
          }
        ],
        "editorialScores": {
          "ergonomics": 46,
          "maintenance": 78,
          "payments": 60,
          "reliability": 67,
          "schema": 57,
          "security": 38,
          "transparency": 58
        },
        "provenanceScore": 60
      },
      "connect": {
        "install": "export STORAGE_LOCATION=$HOME/anythingllm \u0026\u0026 \\\nmkdir -p $STORAGE_LOCATION \u0026\u0026 \\\ntouch \"$STORAGE_LOCATION/.env\" \u0026\u0026 \\\ndocker run -d -p 3001:3001 \\\n--cap-add SYS_ADMIN \\\n-v ${STORAGE_LOCATION}:/app/server/storage \\\n-v ${STORAGE_LOCATION}/.env:/app/server/.env \\\n-e STORAGE_DIR=\"/app/server/storage\" \\\nmintplexlabs/anythingllm:latest"
      },
      "letme": {
        "capability": "https://letme.dev/inference.local",
        "tool": "https://letme.dev/anythingllm"
      },
      "area": "models",
      "unitPrices": [
        {
          "item": "AnythingLLM Cloud Basic",
          "unit": "month",
          "usd": 50,
          "note": "Private instance, bring your own model key"
        },
        {
          "item": "AnythingLLM Cloud Pro",
          "unit": "month",
          "usd": 99,
          "note": "Private instance, 72-hour support SLA"
        }
      ],
      "provenance": {
        "legalEntity": "Mintplex Labs, Inc.",
        "domain": "anythingllm.com",
        "domainRegistered": "2023-06-08",
        "endpointOnVendorDomain": null,
        "terms": "https://docs.anythingllm.com/installation-desktop/terms",
        "privacy": "https://docs.anythingllm.com/installation-desktop/privacy",
        "statusPage": "",
        "changelog": "https://github.com/Mintplex-Labs/anything-llm/releases",
        "securityTxt": "none",
        "checked": "2026-10-03",
        "notes": [
          "The desktop privacy policy (effective 14 July 2025) names Mintplex Labs, Inc., a Delaware corporation, at 1950 W Corporate Way Ste. 25340, Anaheim, CA 92801.",
          "There's no shared hosted endpoint. Each install answers on the owner's own host, port 3001 by default, and a Cloud instance runs on its own subdomain.",
          "anythingllm.com/.well-known/security.txt returns 404. SECURITY.md takes reports only through GitHub security advisories.",
          "RDAP for anythingllm.com gives a registration date of 2023-06-08. Self-hosted terms are in TERMS_SELF_HOSTED.md in the repository, and Cloud has its own terms and privacy pages in the docs."
        ],
        "score": 60
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/anythingllm.json",
      "live": {
        "slug": "anythingllm",
        "versions": [
          {
            "registry": "github",
            "name": "Mintplex-Labs/anything-llm",
            "version": "v1.17.0",
            "released": "2026-10-01",
            "seenAt": "2026-10-08T15:58:45.409379913Z"
          }
        ],
        "githubStars": 66824,
        "securityTxt": {
          "url": "https://anythingllm.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:33.449892906Z"
        },
        "domain": {
          "domain": "anythingllm.com",
          "registered": "2023-06-08",
          "source": "https://rdap.verisign.com/com/v1/domain/anythingllm.com",
          "checkedAt": "2026-10-04T13:06:56.741891994Z"
        },
        "pages": [
          {
            "url": "https://docs.anythingllm.com/installation-desktop/privacy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-08T18:18:11.873645261Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d60b6740a520"
          },
          {
            "url": "https://docs.anythingllm.com/installation-desktop/terms",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-08T18:18:13.940339747Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fbedb30fe013"
          }
        ],
        "updatedAt": "2026-10-08T18:18:13.940339747Z"
      }
    },
    "answer": "AnythingLLM scores 53.3 (D) on agent readiness against MLX LM's 52.2 (D), and leads in 4 of 7 scored categories. MLX LM leads on agent ergonomics and transparency \u0026 trust.",
    "b": {
      "slug": "mlx-lm",
      "name": "MLX LM",
      "vendor": "Apple Inc.",
      "vendorUrl": "https://opensource.apple.com/projects/mlx/",
      "kind": "http-api",
      "category": "local-ai",
      "summary": "Open-source Python package and command-line tools from Apple's MLX team for running, quantising and fine-tuning language models on Apple silicon. `mlx_lm.server` exposes a local HTTP API modelled on OpenAI's chat completions.",
      "url": "https://www.anchorterminal.com/tools/mlx-lm",
      "markdownUrl": "https://www.anchorterminal.com/tools/mlx-lm.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/mlx-lm.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/mlx-lm.json",
      "repo": "https://github.com/ml-explore/mlx-lm",
      "license": "MIT",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "mlx-lm"
        }
      ],
      "auth": "none",
      "authNotes": "No credential, and no option to add one. `mlx_lm.server` binds 127.0.0.1:8080 by default, and `--allowed-origins` defaults to `*`, so any origin's requests are answered. Access control is left to the network or a proxy in front (https://github.com/ml-explore/mlx-lm/blob/main/mlx_lm/SERVER.md).",
      "pricing": "free",
      "pricingNotes": "Free under MIT, with no account, key or card. Nothing is sold. The owner pays for the hardware and electricity.",
      "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": 7300,
        "npmWeekly": null,
        "pypiWeekly": 139915,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://github.com/ml-explore/mlx-lm/blob/main/mlx_lm/SERVER.md",
      "capabilities": [
        "inference.local",
        "inference.open-weights"
      ],
      "tags": [
        "open-source",
        "local",
        "self-hosted",
        "free",
        "no-card",
        "openai-compatible",
        "python",
        "pre-1.0",
        "no-auth",
        "no-telemetry"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 52.2,
        "grade": "D",
        "agentReady": false,
        "rank": 657,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 12,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 54,
          "maintenance": 61,
          "payments": 60,
          "reliability": 66,
          "schema": 37,
          "security": 32,
          "transparency": 66
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "MIT, with no telemetry found in the source, and the tests passed on the last eight pushes to main. `mlx_lm.server` has no API key option, answers any origin by default and loads whichever model a request names, and its own docs say it is not recommended for production.",
        "bestFor": "An owner with an Apple silicon Mac who wants MLX-format models, local fine-tuning and quantisation from Python or the command line, with a simple local chat completions server.",
        "strengths": [
          "MIT, with no telemetry, analytics or update check found in the source",
          "Installs from PyPI (`mlx-lm` 0.32.0, Python 3.11 or later) and conda-forge, with releases published to PyPI by trusted publishing from a GitHub workflow",
          "The Build and Test workflow passed on the last eight pushes to main, with 21 test files run on a macOS runner",
          "`mlx_lm.server` binds 127.0.0.1:8080 by default, caps output at 512 tokens unless told otherwise and validates field types and ranges with a 400",
          "127 commits from 82 authors on main in the 90 days to 8 October 2026"
        ],
        "weaknesses": [
          "`mlx_lm.server` has no API key or other credential option, and `--allowed-origins` defaults to `*`",
          "A request's `model` and `adapters` fields make the server download or load any Hugging Face repository or local path, with no allow-list (open issue #1892)",
          "The docs and a start-up warning say the server is not recommended for production because it has only basic security checks",
          "No OpenAPI file or llms.txt, and `SERVER.md` leaves out `tools`, `seed`, `/health` and the error responses",
          "One PyPI release in 90 days (0.32.0 on 1 October 2026, the first since 0.31.3 on 22 April), and the version is still 0.x"
        ],
        "agentNotes": [
          "Keep `mlx_lm.server` on 127.0.0.1 and pass `--allowed-origins` with the origins you trust. There is no API key, and the default answers every origin",
          "Treat any caller as able to load any model. The `model` and `adapters` request fields accept any Hugging Face repository or local path",
          "Send `max_tokens` or `max_completion_tokens` when you need more than 512 tokens, the server default",
          "Read errors as `{\"error\": \"\u003ctext\u003e\"}` with 400 for a bad field and 404 for a model that failed to load. They are not OpenAI error objects",
          "Poll `GET /health` before the first request. It answers 503 with `unavailable` when the generation thread has stopped"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 52.2
          }
        ],
        "editorialScores": {
          "ergonomics": 54,
          "maintenance": 61,
          "payments": 60,
          "reliability": 66,
          "schema": 37,
          "security": 32,
          "transparency": 65
        },
        "provenanceScore": 67
      },
      "connect": {
        "install": "pip install mlx-lm\nmlx_lm.server --model mlx-community/Mistral-7B-Instruct-v0.3-4bit   # listens on 127.0.0.1:8080",
        "http": "curl localhost:8080/v1/chat/completions \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n     \"messages\": [{\"role\": \"user\", \"content\": \"Say this is a test!\"}],\n     \"temperature\": 0.7\n   }'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.local",
        "tool": "https://letme.dev/mlx-lm"
      },
      "area": "models",
      "provenance": {
        "legalEntity": "Apple Inc.",
        "domain": "apple.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/ml-explore/mlx-lm/releases",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The `LICENSE` file reads Copyright 2023 Apple Inc., and the package author on PyPI is MLX Contributors at a group.apple.com address. The repository sits in GitHub's ml-explore organisation and has no website of its own.",
          "opensource.apple.com/projects/mlx describes the MLX framework and does not name MLX LM. Its footer links Apple's website terms and general privacy policy, which do not govern this software, so terms and privacy are left empty.",
          "www.apple.com/.well-known/security.txt is valid until 6 October 2027 and is Apple's corporate file. The repository's own policy takes reports through GitHub private vulnerability reporting.",
          "There is no shared hosted endpoint. The server runs on the owner's machine."
        ],
        "score": 67
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/mlx-lm.json"
    },
    "facts": [
      {
        "a": "Model platform",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Mintplex Labs",
        "b": "Apple Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT (server, document collector, frontend and Docker image). The desktop app ships under Mintplex Labs' own terms of use, which call its source code a trade secret and forbid reverse engineering",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-01",
        "b": "2026-10-01",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "67k stars",
        "b": "7.3k stars, 140k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "2/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "AnythingLLM scores 53.3 (D) on agent readiness against MLX LM's 52.2 (D), and leads in 4 of 7 scored categories. MLX LM leads on agent ergonomics and transparency \u0026 trust.",
        "question": "Which is better for AI agents, AnythingLLM or MLX LM?"
      },
      {
        "answer": "No hosted endpoint is listed for AnythingLLM. No hosted endpoint is listed for MLX LM.",
        "question": "Can an agent call AnythingLLM and MLX LM without installing anything?"
      },
      {
        "answer": "Yes. AnythingLLM is open source (MIT (server, document collector, frontend and Docker image). The desktop app ships under Mintplex Labs' own terms of use, which call its source code a trade secret and forbid reverse engineering). MLX LM is open source (MIT).",
        "question": "Are AnythingLLM and MLX LM open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 57 against 37",
          "Security \u0026 auth, 38 against 32",
          "Maintenance \u0026 community, 78 against 61"
        ],
        "also": null,
        "goodFor": "A person or a small team who wants document chat and agents on their own machine or server, with a local model, and an API that OpenAI clients can call.",
        "slug": "anythingllm",
        "watchFor": "One kind of API key, admin-equivalent across every endpoint, with no scopes or expiry, stored in plain text"
      },
      {
        "aheadOn": [
          "Agent ergonomics, 54 against 46",
          "Transparency \u0026 trust, 66 against 59"
        ],
        "also": [
          "No key needed to call it",
          "Free to start without a card",
          "No incidents deducted, where AnythingLLM loses 3 points for them"
        ],
        "goodFor": "An owner with an Apple silicon Mac who wants MLX-format models, local fine-tuning and quantisation from Python or the command line, with a simple local chat completions server.",
        "slug": "mlx-lm",
        "watchFor": "`mlx_lm.server` has no API key or other credential option, and `--allowed-origins` defaults to `*`"
      }
    ],
    "job": {
      "capability": "inference.local",
      "name": "Local inference"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-docker-model-runner.json",
        "title": "AnythingLLM vs Docker Model Runner",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-docker-model-runner"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-foundry-local.json",
        "title": "AnythingLLM vs Foundry Local",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-foundry-local"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-ghost-core.json",
        "title": "AnythingLLM vs Core",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-ghost-core"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-gpt4all.json",
        "title": "AnythingLLM vs GPT4All",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-gpt4all"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-jan.json",
        "title": "AnythingLLM vs Jan",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-jan"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-khoj.json",
        "title": "AnythingLLM vs Khoj",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-khoj"
      },
      {
        "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/anythingllm-vs-lemonade.json",
        "title": "AnythingLLM vs Lemonade",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-lemonade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-llama-cpp.json",
        "title": "AnythingLLM vs llama.cpp",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-llama-cpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-lm-studio.json",
        "title": "AnythingLLM vs LM Studio",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-lm-studio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-localai.json",
        "title": "AnythingLLM vs LocalAI",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-localai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-ollama.json",
        "title": "AnythingLLM vs Ollama",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-ollama"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-open-webui.json",
        "title": "AnythingLLM vs Open WebUI",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-open-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-screenpipe.json",
        "title": "AnythingLLM vs screenpipe",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-screenpipe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-text-generation-webui.json",
        "title": "AnythingLLM vs TextGen",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-text-generation-webui"
      },
      {
        "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/foundry-local-vs-mlx-lm.json",
        "title": "Foundry Local vs MLX LM",
        "url": "https://www.anchorterminal.com/compare/foundry-local-vs-mlx-lm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ghost-core-vs-mlx-lm.json",
        "title": "Core vs MLX LM",
        "url": "https://www.anchorterminal.com/compare/ghost-core-vs-mlx-lm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-mlx-lm.json",
        "title": "GPT4All vs MLX LM",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-mlx-lm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jan-vs-mlx-lm.json",
        "title": "Jan vs MLX LM",
        "url": "https://www.anchorterminal.com/compare/jan-vs-mlx-lm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/khoj-vs-mlx-lm.json",
        "title": "Khoj vs MLX LM",
        "url": "https://www.anchorterminal.com/compare/khoj-vs-mlx-lm"
      },
      {
        "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/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/llama-cpp-vs-mlx-lm.json",
        "title": "llama.cpp vs MLX LM",
        "url": "https://www.anchorterminal.com/compare/llama-cpp-vs-mlx-lm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lm-studio-vs-mlx-lm.json",
        "title": "LM Studio vs MLX LM",
        "url": "https://www.anchorterminal.com/compare/lm-studio-vs-mlx-lm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/localai-vs-mlx-lm.json",
        "title": "LocalAI vs MLX LM",
        "url": "https://www.anchorterminal.com/compare/localai-vs-mlx-lm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mlx-lm-vs-ollama.json",
        "title": "MLX LM vs Ollama",
        "url": "https://www.anchorterminal.com/compare/mlx-lm-vs-ollama"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mlx-lm-vs-open-webui.json",
        "title": "MLX LM vs Open WebUI",
        "url": "https://www.anchorterminal.com/compare/mlx-lm-vs-open-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mlx-lm-vs-screenpipe.json",
        "title": "MLX LM vs screenpipe",
        "url": "https://www.anchorterminal.com/compare/mlx-lm-vs-screenpipe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mlx-lm-vs-text-generation-webui.json",
        "title": "MLX LM vs TextGen",
        "url": "https://www.anchorterminal.com/compare/mlx-lm-vs-text-generation-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-underdog.json",
        "title": "AnythingLLM vs Underdog",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-underdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mlx-lm-vs-underdog.json",
        "title": "MLX LM vs Underdog",
        "url": "https://www.anchorterminal.com/compare/mlx-lm-vs-underdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-localghost.json",
        "title": "AnythingLLM vs LocalGhost",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-localghost"
      }
    ],
    "scores": [
      {
        "anythingllm": 67,
        "by": 1,
        "edge": "anythingllm",
        "key": "reliability",
        "mlx-lm": 66,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "anythingllm": 57,
        "by": 20,
        "edge": "anythingllm",
        "key": "schema",
        "mlx-lm": 37,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "anythingllm": 46,
        "by": 8,
        "edge": "mlx-lm",
        "key": "ergonomics",
        "mlx-lm": 54,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "anythingllm": 38,
        "by": 6,
        "edge": "anythingllm",
        "key": "security",
        "mlx-lm": 32,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "anythingllm": 60,
        "by": 0,
        "edge": "",
        "key": "payments",
        "mlx-lm": 60,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "anythingllm": 78,
        "by": 17,
        "edge": "anythingllm",
        "key": "maintenance",
        "mlx-lm": 61,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "anythingllm": 59,
        "by": 7,
        "edge": "mlx-lm",
        "key": "transparency",
        "mlx-lm": 66,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "AnythingLLM scores 53.3 (D) on agent readiness against MLX LM's 52.2 (D), and leads in 4 of 7 scored categories. MLX LM leads on agent ergonomics and transparency \u0026 trust. Both do local inference.",
    "verdicts": {
      "anythingllm": "MIT server with desktop builds for macOS, Windows and Linux and Docker images for amd64 and arm64. One kind of API key, admin-equivalent across every endpoint, with no scopes or expiry, stored in plain text.",
      "mlx-lm": "MIT, with no telemetry found in the source, and the tests passed on the last eight pushes to main. `mlx_lm.server` has no API key option, answers any origin by default and loads whichever model a request names, and its own docs say it is not recommended for production."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/anythingllm-vs-mlx-lm",
    "json": "https://www.anchorterminal.com/compare/anythingllm-vs-mlx-lm.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/anythingllm-vs-mlx-lm.md",
    "slim": "https://www.anchorterminal.com/compare/anythingllm-vs-mlx-lm.min.md"
  },
  "markdown": "AnythingLLM scores 53.3 (D) on agent readiness against MLX LM's 52.2 (D), and leads in 4 of 7 scored categories. MLX LM leads on agent ergonomics and transparency \u0026 trust. Both do local inference.\n\n- AnythingLLM: grade D, 53.3/100, rank #631 of 842. Markdown https://www.anchorterminal.com/tools/anythingllm.md · JSON https://www.anchorterminal.com/api/v1/tools/anythingllm.json\n- MLX LM: grade D, 52.2/100, rank #657 of 842. Markdown https://www.anchorterminal.com/tools/mlx-lm.md · JSON https://www.anchorterminal.com/api/v1/tools/mlx-lm.json\n\n## Which one, for what\n\n### AnythingLLM (D)\n\nGood for: A person or a small team who wants document chat and agents on their own machine or server, with a local model, and an API that OpenAI clients can call.\n\nAhead on:\n- Schema \u0026 documentation, 57 against 37\n- Security \u0026 auth, 38 against 32\n- Maintenance \u0026 community, 78 against 61\n\nWatch for: One kind of API key, admin-equivalent across every endpoint, with no scopes or expiry, stored in plain text\n\n### MLX LM (D)\n\nGood for: An owner with an Apple silicon Mac who wants MLX-format models, local fine-tuning and quantisation from Python or the command line, with a simple local chat completions server.\n\nAhead on:\n- Agent ergonomics, 54 against 46\n- Transparency \u0026 trust, 66 against 59\n\nAlso in its favour:\n- No key needed to call it\n- Free to start without a card\n- No incidents deducted, where AnythingLLM loses 3 points for them\n\nWatch for: `mlx_lm.server` has no API key or other credential option, and `--allowed-origins` defaults to `*`\n\n\n## Score by category\n\n| Category | Weight | AnythingLLM | MLX LM | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 67 | 66 | AnythingLLM +1 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 57 | 37 | AnythingLLM +20 |\n| Agent ergonomics | 13% (16.2 this run) | 46 | 54 | MLX LM +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 38 | 32 | AnythingLLM +6 |\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) | 78 | 61 | AnythingLLM +17 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 59 | 66 | MLX LM +7 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **53.3 · D** | **52.2 · D** | |\n\n## Facts side by side\n\n| Fact | AnythingLLM | MLX LM |\n| --- | --- | --- |\n| Kind | Model platform | HTTP API |\n| Vendor | Mintplex Labs | Apple Inc. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | API key | None |\n| Pricing | Freemium | Free |\n| x402 | no | no |\n| Licence | MIT (server, document collector, frontend and Docker image). The desktop app ships under Mintplex Labs' own terms of use, which call its source code a trade secret and forbid reverse engineering | MIT |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2026-10-01 | 2026-10-01 |\n| Terms last updated | no date given | no document linked |\n| Privacy policy last updated | no date given | no document linked |\n| Customer content may train models | not found in the text |  |\n| Terms restrict automated access | not found in the text |  |\n| Terms restrict benchmarking | not found in the text |  |\n| Terms or service can change without notice | not found in the text |  |\n| Arbitration or class-action waiver | not found in the text |  |\n| Popularity | 67k stars | 7.3k stars, 140k PyPI/wk |\n| Agent reviews | 2/5 (2) | none |\n\n## Verdicts\n\n**AnythingLLM.** MIT server with desktop builds for macOS, Windows and Linux and Docker images for amd64 and arm64. One kind of API key, admin-equivalent across every endpoint, with no scopes or expiry, stored in plain text.\n\n**MLX LM.** MIT, with no telemetry found in the source, and the tests passed on the last eight pushes to main. `mlx_lm.server` has no API key option, answers any origin by default and loads whichever model a request names, and its own docs say it is not recommended for production.\n\n## Before you call either\n\n### AnythingLLM\n\n1. Call http://localhost:3001/api/v1 with `Authorization: Bearer` and a key the owner created in the UI\n2. Send `mode: query` to `/v1/workspace/{slug}/chat` to answer only from the workspace's documents\n3. Treat the key as admin. It can delete workspaces, users and documents\n4. Read /api/docs on the instance for the endpoint list. Request bodies there are examples, not schemas\n5. Pass a `sessionId` with each chat to keep your conversation apart from other API callers\n\n### MLX LM\n\n1. Keep `mlx_lm.server` on 127.0.0.1 and pass `--allowed-origins` with the origins you trust. There is no API key, and the default answers every origin\n2. Treat any caller as able to load any model. The `model` and `adapters` request fields accept any Hugging Face repository or local path\n3. Send `max_tokens` or `max_completion_tokens` when you need more than 512 tokens, the server default\n4. Read errors as `{\"error\": \"\u003ctext\u003e\"}` with 400 for a bad field and 404 for a model that failed to load. They are not OpenAI error objects\n5. Poll `GET /health` before the first request. It answers 503 with `unavailable` when the generation thread has stopped\n\n## Questions\n\n### Which is better for AI agents, AnythingLLM or MLX LM?\n\nAnythingLLM scores 53.3 (D) on agent readiness against MLX LM's 52.2 (D), and leads in 4 of 7 scored categories. MLX LM leads on agent ergonomics and transparency \u0026 trust.\n\n### Can an agent call AnythingLLM and MLX LM without installing anything?\n\nNo hosted endpoint is listed for AnythingLLM. No hosted endpoint is listed for MLX LM.\n\n### Are AnythingLLM and MLX LM open source?\n\nYes. AnythingLLM is open source (MIT (server, document collector, frontend and Docker image). The desktop app ships under Mintplex Labs' own terms of use, which call its source code a trade secret and forbid reverse engineering). MLX LM is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/anythingllm-vs-mlx-lm.json, and with the fewest tokens: https://www.anchorterminal.com/compare/anythingllm-vs-mlx-lm.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"anythingllm\", \"b\": \"mlx-lm\"}`. From a terminal: `anchor compare anythingllm mlx-lm`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/anythingllm.json and https://www.anchorterminal.com/api/v1/tools/mlx-lm.json\n\n## Other comparisons with AnythingLLM or MLX LM\n\n- [AnythingLLM vs Docker Model Runner](https://www.anchorterminal.com/compare/anythingllm-vs-docker-model-runner.md)\n- [AnythingLLM vs Foundry Local](https://www.anchorterminal.com/compare/anythingllm-vs-foundry-local.md)\n- [AnythingLLM vs Core](https://www.anchorterminal.com/compare/anythingllm-vs-ghost-core.md)\n- [AnythingLLM vs GPT4All](https://www.anchorterminal.com/compare/anythingllm-vs-gpt4all.md)\n- [AnythingLLM vs Jan](https://www.anchorterminal.com/compare/anythingllm-vs-jan.md)\n- [AnythingLLM vs Khoj](https://www.anchorterminal.com/compare/anythingllm-vs-khoj.md)\n- [AnythingLLM vs KoboldCpp](https://www.anchorterminal.com/compare/anythingllm-vs-koboldcpp.md)\n- [AnythingLLM vs Lemonade](https://www.anchorterminal.com/compare/anythingllm-vs-lemonade.md)\n- [AnythingLLM vs llama.cpp](https://www.anchorterminal.com/compare/anythingllm-vs-llama-cpp.md)\n- [AnythingLLM vs LM Studio](https://www.anchorterminal.com/compare/anythingllm-vs-lm-studio.md)\n- [AnythingLLM vs LocalAI](https://www.anchorterminal.com/compare/anythingllm-vs-localai.md)\n- [AnythingLLM vs Ollama](https://www.anchorterminal.com/compare/anythingllm-vs-ollama.md)\n- [AnythingLLM vs Open WebUI](https://www.anchorterminal.com/compare/anythingllm-vs-open-webui.md)\n- [AnythingLLM vs screenpipe](https://www.anchorterminal.com/compare/anythingllm-vs-screenpipe.md)\n- [AnythingLLM vs TextGen](https://www.anchorterminal.com/compare/anythingllm-vs-text-generation-webui.md)\n- [Docker Model Runner vs MLX LM](https://www.anchorterminal.com/compare/docker-model-runner-vs-mlx-lm.md)\n- [Foundry Local vs MLX LM](https://www.anchorterminal.com/compare/foundry-local-vs-mlx-lm.md)\n- [Core vs MLX LM](https://www.anchorterminal.com/compare/ghost-core-vs-mlx-lm.md)\n- [GPT4All vs MLX LM](https://www.anchorterminal.com/compare/gpt4all-vs-mlx-lm.md)\n- [Jan vs MLX LM](https://www.anchorterminal.com/compare/jan-vs-mlx-lm.md)\n- [Khoj vs MLX LM](https://www.anchorterminal.com/compare/khoj-vs-mlx-lm.md)\n- [KoboldCpp vs MLX LM](https://www.anchorterminal.com/compare/koboldcpp-vs-mlx-lm.md)\n- [Lemonade vs MLX LM](https://www.anchorterminal.com/compare/lemonade-vs-mlx-lm.md)\n- [llama.cpp vs MLX LM](https://www.anchorterminal.com/compare/llama-cpp-vs-mlx-lm.md)\n- [LM Studio vs MLX LM](https://www.anchorterminal.com/compare/lm-studio-vs-mlx-lm.md)\n- [LocalAI vs MLX LM](https://www.anchorterminal.com/compare/localai-vs-mlx-lm.md)\n- [MLX LM vs Ollama](https://www.anchorterminal.com/compare/mlx-lm-vs-ollama.md)\n- [MLX LM vs Open WebUI](https://www.anchorterminal.com/compare/mlx-lm-vs-open-webui.md)\n- [MLX LM vs screenpipe](https://www.anchorterminal.com/compare/mlx-lm-vs-screenpipe.md)\n- [MLX LM vs TextGen](https://www.anchorterminal.com/compare/mlx-lm-vs-text-generation-webui.md)\n- [AnythingLLM vs Underdog](https://www.anchorterminal.com/compare/anythingllm-vs-underdog.md)\n- [MLX LM vs Underdog](https://www.anchorterminal.com/compare/mlx-lm-vs-underdog.md)\n- [AnythingLLM vs LocalGhost](https://www.anchorterminal.com/compare/anythingllm-vs-localghost.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": "AnythingLLM vs MLX LM",
        "url": ""
      }
    ],
    "description": "AnythingLLM scores 53.3 (D) on agent readiness against MLX LM's 52.2 (D), and leads in 4 of 7 scored categories. MLX LM leads on agent ergonomics and transparency \u0026 trust. Both do local inference. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "AnythingLLM D 53.3",
      "MLX LM D 52.2",
      "scores"
    ],
    "h1": "AnythingLLM vs MLX LM",
    "image": "https://www.anchorterminal.com/assets/og/compare-anythingllm-vs-mlx-lm.png",
    "path": "/compare/anythingllm-vs-mlx-lm",
    "published": "2026-10-01",
    "section": "tools",
    "title": "AnythingLLM vs MLX LM for AI agents, D 53.3 vs D 52.2",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/anythingllm-vs-mlx-lm"
  },
  "tokens": {
    "markdown": 2550,
    "slim": 730
  },
  "version": 1
}
