{
  "data": {
    "a": {
      "slug": "chroma",
      "name": "Chroma API + MCP",
      "vendor": "Chroma",
      "vendorUrl": "https://www.trychroma.com",
      "kind": "http-api",
      "category": "vector-search",
      "summary": "Open-source retrieval database that runs in-process, as a local server or as Chroma Cloud, a serverless hosted service.",
      "url": "https://www.anchorterminal.com/tools/chroma",
      "markdownUrl": "https://www.anchorterminal.com/tools/chroma.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/chroma.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/chroma.json",
      "repo": "https://github.com/chroma-core/chroma",
      "license": "Apache-2.0",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.trychroma.com/api/v2",
      "packages": [
        {
          "registry": "pypi",
          "name": "chromadb"
        },
        {
          "registry": "npm",
          "name": "chromadb"
        },
        {
          "registry": "pypi",
          "name": "chroma-mcp"
        }
      ],
      "auth": "api-key",
      "authNotes": "Chroma Cloud takes an API key in the `x-chroma-token` header, scoped to a tenant and database. A local or self-hosted server runs without auth unless you configure it. The MCP server takes `--client-type cloud` with tenant, database and API key, or connects to a local or self-hosted instance.",
      "pricing": "usage",
      "pricingNotes": "Chroma Cloud Starter is $0 a month plus usage with $5 of credit, 10 databases and 10 members. Team is $250 a month plus usage with $100 of credit, 100 databases and SOC 2. Enterprise is custom, with single-tenant and BYOC clusters. Writes $2.50 per logical GiB, storage $0.33 per GiB a month, queries $0.0075 per TiB scanned plus $0.09 per GiB returned, forks $0.03 each, Sync $0.04 per GiB processed and $0.01 per page extracted or scraped. The open-source database is free to run yourself (https://www.trychroma.com/pricing).",
      "priceSummary": "$250 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 or per-call payment support in the docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 13,
      "popularity": {
        "githubStars": 29413,
        "npmWeekly": 301867,
        "pypiWeekly": 1590274,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.trychroma.com",
      "llmsTxt": "https://docs.trychroma.com/llms.txt",
      "openapi": "https://api.trychroma.com/openapi.json",
      "capabilities": [
        "db.vector",
        "db.hybrid",
        "db.fulltext",
        "db.filters",
        "db.serverless"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "local",
        "hosted",
        "free-tier",
        "mcp",
        "llms-txt",
        "openapi",
        "python",
        "typescript",
        "enterprise"
      ],
      "lastRelease": "2026-06-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 45.2,
        "grade": "E",
        "agentReady": false,
        "rank": 771,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 10,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 73,
          "maintenance": 35,
          "payments": 30,
          "reliability": 60,
          "schema": 71,
          "security": 38,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -10,
        "negativeNotes": [
          "CVE-2026-45829 (GHSA-f4j7-r4q5-qw2c), published 18 May 2026, critical with CVSS 9.3. An unauthenticated request to the collections endpoint can set `trust_remote_code` and run code on a chromadb server from 1.0.0 to 1.5.9. The fix merged to main on 7 July 2026, but no release carries it, and the advisory still lists no patched version (https://github.com/advisories/GHSA-f4j7-r4q5-qw2c, https://pypi.org/project/chromadb/#history). We found nothing saying whether Chroma Cloud was exposed, so we deduct for the unpatched self-hosted path only."
        ],
        "verdict": "Runs in-process, as a local server or serverless on Chroma Cloud with the same v2 API. CVE-2026-45829, CVSS 9.3, has no patched release more than four months after the advisory.",
        "bestFor": "Agent memory and small to mid-sized corpora where an in-process store or a serverless bill by the GiB suits.",
        "strengths": [
          "Runs in-process, as a local server or serverless on Chroma Cloud with the same v2 API",
          "Per-unit cloud prices published, $2.50 per GiB written and $0.33 per GiB a month stored",
          "One status incident in 90 days, a 2 hour 38 minute indexing slowdown on 18 August 2026",
          "Apache-2.0, with an OpenAPI file and llms.txt over 162 Markdown pages",
          "Current source sends no product telemetry, since the PostHog client is a no-op"
        ],
        "weaknesses": [
          "CVE-2026-45829, CVSS 9.3, has no patched release more than four months after the advisory",
          "No tagged or published release since 30 June 2026, and the server last shipped on 5 May",
          "`chroma-mcp` last released on 14 August 2025, with 13 tools and no read-only mode or tool annotations",
          "Cloud caps of 300 results a query, 300 records a write and 10 concurrent reads per collection, with no 429 or retry guidance",
          "Privacy policy dates from October 2024 and still says the service is hosted only in the United States"
        ],
        "agentNotes": [
          "Don't expose a self-hosted chromadb 1.5.9 server, which has no auth by default and an unpatched code execution flaw",
          "Batch writes in groups of 300 or fewer on Chroma Cloud",
          "Use the Search API for hybrid ranking. The older `query()` only does dense search plus filters",
          "Pass `include` without embeddings, since returned GiB are billed",
          "Don't pass `ollama` to `chroma_create_collection`. The description lists it but the server can't map it"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 45.2
          }
        ],
        "editorialScores": {
          "ergonomics": 73,
          "maintenance": 35,
          "payments": 30,
          "reliability": 60,
          "schema": 71,
          "security": 38,
          "transparency": 68
        },
        "provenanceScore": 76
      },
      "connect": {
        "install": "pip install chromadb",
        "http": "curl -s https://api.trychroma.com/api/v2/auth/identity -H \"x-chroma-token: $CHROMA_API_KEY\"",
        "claudeCode": "claude mcp add chroma -- uvx chroma-mcp --client-type cloud --tenant $CHROMA_TENANT --database $CHROMA_DATABASE --api-key $CHROMA_API_KEY",
        "config": {
          "mcpServers": {
            "chroma": {
              "args": [
                "chroma-mcp",
                "--client-type",
                "cloud",
                "--tenant",
                "${CHROMA_TENANT}",
                "--database",
                "${CHROMA_DATABASE}",
                "--api-key",
                "${CHROMA_API_KEY}"
              ],
              "command": "uvx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/db.vector",
        "tool": "https://letme.dev/chroma"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Team plan",
          "unit": "month",
          "usd": 250,
          "note": "$100 of usage credit included"
        },
        {
          "item": "Writes",
          "unit": "gb",
          "usd": 2.5,
          "note": "per logical GiB written"
        },
        {
          "item": "Storage",
          "unit": "gb",
          "usd": 0.33,
          "note": "per GiB a month"
        },
        {
          "item": "Data returned by queries",
          "unit": "gb",
          "usd": 0.09,
          "note": "plus $0.0075 per TiB scanned"
        },
        {
          "item": "Collection fork",
          "unit": "call",
          "usd": 0.03
        },
        {
          "item": "Sync processing",
          "unit": "gb",
          "usd": 0.04,
          "note": "plus $0.01 per page extracted or scraped"
        }
      ],
      "provenance": {
        "legalEntity": "Chroma Inc.",
        "domain": "trychroma.com",
        "domainRegistered": "2022-03-23",
        "endpointOnVendorDomain": true,
        "terms": "https://www.trychroma.com/terms",
        "privacy": "https://www.trychroma.com/privacy",
        "statusPage": "https://status.trychroma.com",
        "changelog": "https://www.trychroma.com/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "score": 76
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/chroma.json",
      "live": {
        "slug": "chroma",
        "probe": {
          "target": "https://api.trychroma.com/api/v2",
          "method": "get",
          "lastAt": "2026-10-09T10:42:39.579704597Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 294,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 258,
          "p95ms24h": 290,
          "samples24h": 260,
          "samples30d": 2300,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 114,
              "ok": 114
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.trychroma.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:57:41.484924941Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "chroma-core/chroma",
            "version": "1.5.9",
            "released": "2026-05-05",
            "seenAt": "2026-10-08T16:05:03.199340169Z"
          },
          {
            "registry": "npm",
            "name": "chromadb",
            "version": "3.5.0",
            "seenAt": "2026-10-08T16:04:59.830227205Z"
          },
          {
            "registry": "pypi",
            "name": "chroma-mcp",
            "version": "0.2.6",
            "released": "2025-08-14",
            "seenAt": "2026-10-08T16:05:03.11891058Z"
          },
          {
            "registry": "pypi",
            "name": "chromadb",
            "version": "1.5.9",
            "released": "2026-05-05",
            "seenAt": "2026-10-08T16:04:59.70301602Z"
          }
        ],
        "githubStars": 29467,
        "npmWeekly": 303631,
        "pypiWeekly": 1651300,
        "securityTxt": {
          "url": "https://trychroma.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:44.126514062Z"
        },
        "llmsTxt": {
          "url": "https://docs.trychroma.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:11.220002504Z"
        },
        "domain": {
          "domain": "trychroma.com",
          "registered": "2022-03-23",
          "source": "https://rdap.verisign.com/com/v1/domain/trychroma.com",
          "checkedAt": "2026-10-04T13:09:39.725378578Z"
        },
        "pages": [
          {
            "url": "https://www.trychroma.com/changelog",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-08T18:31:03.835945425Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "301154ea7374"
          },
          {
            "url": "https://www.trychroma.com/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-08T18:31:06.029654529Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "677e379ceb9f"
          },
          {
            "url": "https://www.trychroma.com/privacy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-08T18:31:08.041028407Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "489e02b4f673"
          },
          {
            "url": "https://www.trychroma.com/terms",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-08T18:31:10.188995904Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "78c6afbde487"
          }
        ],
        "updatedAt": "2026-10-09T10:42:39.579704597Z"
      }
    },
    "answer": "Elasticsearch scores 67.7 (B) on agent readiness against Chroma API + MCP's 45.2 (E), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "elasticsearch",
      "name": "Elasticsearch",
      "vendor": "Elastic",
      "vendorUrl": "https://www.elastic.co",
      "kind": "http-api",
      "category": "vector-search",
      "summary": "Elasticsearch is Elastic's search engine and vector database, with keyword, vector and hybrid search over a REST API. Agents reach it through that API or the Agent Builder MCP server on Elastic Cloud and Elastic Stack 9.2 or later.",
      "url": "https://www.anchorterminal.com/tools/elasticsearch",
      "markdownUrl": "https://www.anchorterminal.com/tools/elasticsearch.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/elasticsearch.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/elasticsearch.json",
      "repo": "https://github.com/elastic/elasticsearch",
      "license": "AGPL-3.0, SSPL-1.0 or Elastic Licence 2.0 at the user's choice for most source. The `x-pack` folder is under Elastic Licence 2.0 only. Elastic Cloud is a proprietary service under Elastic's terms",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@elastic/elasticsearch"
        },
        {
          "registry": "pypi",
          "name": "elasticsearch"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve. The REST API takes `Authorization: ApiKey \u003ckey\u003e`, with keys created in Kibana or by `POST /_security/api_key` and limited by role descriptors and an expiry. The Agent Builder MCP server takes the same kind of key, which needs the `feature_agentBuilder.read` Kibana privilege, or OAuth 2.1 on Serverless projects, where a registered client and a browser consent give each user a revocable connection.",
      "pricing": "usage",
      "pricingNotes": "Serverless bills by use, with search from $0.09 a VCU-hour, ingest from $0.14, storage from $0.047 a GB a month and egress from $0.05 a GB. Agent Builder has 1,000 free executions a month, then from $0.025 each. A 14-day Elastic Cloud trial needs no credit card. Self-managed Elasticsearch is free to run under its source licences (https://www.elastic.co/pricing/serverless-search, checked 2026-10-08).",
      "priceSummary": "$0.09 / unit",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index, the Serverless OpenAPI file or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 3136798,
        "pypiWeekly": 7755257,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://www.elastic.co/docs/solutions/search",
      "llmsTxt": "https://www.elastic.co/docs/llms.txt",
      "openapi": "https://www.elastic.co/docs/api/doc/elasticsearch-serverless.json",
      "capabilities": [
        "db.vector",
        "db.hybrid",
        "db.fulltext",
        "db.filters",
        "db.serverless"
      ],
      "tags": [
        "hosted",
        "usage",
        "free-trial",
        "no-card",
        "open-source",
        "self-hosted",
        "mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "typescript",
        "python",
        "status-page",
        "bug-bounty",
        "soc2",
        "sla"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.7,
        "grade": "B",
        "agentReady": false,
        "rank": 224,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 77,
          "maintenance": 83,
          "payments": 35,
          "reliability": 62,
          "schema": 88,
          "security": 72,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -2,
        "negativeNotes": [
          "Sixteen Elasticsearch security advisories were posted between 25 September and 6 October 2026. The one we read, ESA-2026-199 (CVE-2026-103009, CVSS 7.1), is an authorisation bypass in cross-cluster search on self-managed clusters, fixed in 8.19.23, 9.4.8 and 9.5.5, and Elastic says Serverless is not affected. Fixed and disclosed, so a small deduction (https://discuss.elastic.co/c/announcements/security-announcements/31)."
        ],
        "verdict": "Keyword, dense and sparse vector, and hybrid search with rank fusion sit behind one OpenAPI-described REST API, with API keys scoped to indices and privileges. The status page lists more than 20 incidents marked major since July 2026, and Elasticsearch 9.5.0 returned incorrect results for some queries without raising an error.",
        "bestFor": "Retrieval that needs keyword relevance, filters and vectors in one query, and teams already running Elastic for logs or security.",
        "strengths": [
          "OpenAPI 3.0.3 file for the Serverless API with 311 operations, plus llms.txt and a Markdown twin of every docs page",
          "API keys take role descriptors that limit indices and privileges, with an expiry, and the MCP server accepts OAuth 2.1 on Serverless",
          "Agent Builder MCP server is generally available on Serverless and on Elastic Stack 9.3 and later",
          "14-day Elastic Cloud trial with no credit card, and unit prices published for Serverless",
          "Public bug bounty on HackerOne, CVE Numbering Authority status and dated security advisories"
        ],
        "weaknesses": [
          "More than 20 status notices marked major between 10 July and 8 October 2026, three of them regional service incidents",
          "Elasticsearch 9.5.0 (29 July 2026) returned incorrect results for some `must_not` queries with no error, fixed in 9.5.1 and 9.5.2",
          "No request rate limit with numbers was found in the reviewed documentation",
          "The 99.95 per cent Serverless SLA applies only at Platinum or Enterprise subscription level",
          "The monthly terms forbid use of the cloud service for benchmarking, competitive or comparative purposes",
          "Search compute on Serverless does not scale to zero, so an idle project is still billed a baseline"
        ],
        "agentNotes": [
          "Send `Authorization: ApiKey \u003ckey\u003e` to the project's Elasticsearch URL. The MCP server is on the Kibana URL at `/api/agent_builder/mcp`",
          "Create the MCP key with `feature_agentBuilder.read` and only the index patterns needed, or the endpoint answers 403",
          "On 429, wait and retry with exponential backoff. Do not set short client timeouts, because a retried request joins the back of the queue",
          "Page past 10,000 hits with `search_after`, not `from` and `size`",
          "Tool calls made directly through the Tools API skip Agent Builder's confirmation prompts, so restrict the key instead"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 67.7
          }
        ],
        "editorialScores": {
          "ergonomics": 77,
          "maintenance": 83,
          "payments": 35,
          "reliability": 62,
          "schema": 88,
          "security": 72,
          "transparency": 70
        },
        "provenanceScore": 71
      },
      "connect": {
        "install": "npm install @elastic/elasticsearch",
        "http": "curl -X GET \"${ES_URL}/_cat/indices?v=true\" \\\n  -H \"Authorization: ApiKey ${API_KEY}\"",
        "config": {
          "mcpServers": {
            "elastic-agent-builder": {
              "args": [
                "mcp-remote",
                "${KIBANA_URL}/api/agent_builder/mcp",
                "--header",
                "Authorization:${AUTH_HEADER}"
              ],
              "command": "npx",
              "env": {
                "AUTH_HEADER": "ApiKey ${API_KEY}",
                "KIBANA_URL": "${KIBANA_URL}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/db.vector",
        "tool": "https://letme.dev/elasticsearch"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Serverless search compute, VCU-hour",
          "unit": "compute-unit",
          "usd": 0.09,
          "note": "Quoted as a floor on the pricing page"
        },
        {
          "item": "Serverless ingest compute, VCU-hour",
          "unit": "compute-unit",
          "usd": 0.14,
          "note": "Quoted as a floor on the pricing page"
        },
        {
          "item": "Serverless storage",
          "unit": "gb-month",
          "usd": 0.047,
          "note": "Quoted as a floor on the pricing page"
        },
        {
          "item": "Serverless egress",
          "unit": "gb",
          "usd": 0.05,
          "note": "Quoted as a floor on the pricing page"
        },
        {
          "item": "Agent Builder execution",
          "unit": "call",
          "usd": 0.025,
          "note": "After 1,000 free executions a month, quoted as a floor"
        }
      ],
      "provenance": {
        "legalEntity": "Elasticsearch B.V.",
        "domain": "elastic.co",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://www.elastic.co/agreements/cloud-monthly",
        "privacy": "https://www.elastic.co/legal/product-privacy-statement",
        "statusPage": "https://status.elastic.co",
        "changelog": "https://www.elastic.co/docs/release-notes/elasticsearch",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The Cloud Monthly Terms of Service (effective 12 September 2025) name the contracting entity by customer location, Elasticsearch, Inc. for the United States and Elasticsearch B.V. or Elastic International B.V. elsewhere. The page is a cover that links the PDF.",
          "Customers with an order form are under the Elastic Cloud Service Subscription Agreement of 5 March 2026 at https://www.elastic.co/agreements/global/cloud-services.",
          "The Product Privacy Statement (7 September 2026) is issued by Elastic N.V. and its subsidiaries and covers Elastic Cloud Hosted, Serverless and self-managed software. The General Privacy Statement covers only websites and events.",
          "www.elastic.co/.well-known/security.txt returned 404. Reports go to HackerOne or security@elastic.co.",
          "No RDAP service answered for elastic.co, so the registration date is not recorded.",
          "Project endpoints are on Elastic Cloud hostnames that we did not call. `endpointOnVendorDomain` rests on the docs, not on a request."
        ],
        "score": 71
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/elasticsearch.json",
      "live": {
        "slug": "elasticsearch",
        "vendorStatus": {
          "page": "https://status.elastic.co",
          "indicator": "major",
          "summary": "Partial System Outage",
          "checkedAt": "2026-10-09T10:41:35.800130842Z"
        },
        "updatedAt": "2026-10-09T10:41:35.800130842Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Chroma",
        "b": "Elastic",
        "name": "Vendor"
      },
      {
        "a": "https://api.trychroma.com/api/v2",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, stdio",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "b": "AGPL-3.0, SSPL-1.0 or Elastic Licence 2.0 at the user's choice for most source. The `x-pack` folder is under Elastic Licence 2.0 only. Elastic Cloud is a proprietary service under Elastic's terms",
        "name": "Licence"
      },
      {
        "a": "13",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-06-30",
        "b": "2026-10-06",
        "name": "Last release"
      },
      {
        "a": "2024-10-02",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2024-10-02",
        "b": "2026-09-07",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "29k stars, 302k npm/wk, 1.6M PyPI/wk",
        "b": "3.1M npm/wk, 7.8M PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "3/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Elasticsearch scores 67.7 (B) on agent readiness against Chroma API + MCP's 45.2 (E), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Chroma API + MCP or Elasticsearch?"
      },
      {
        "answer": "Chroma API + MCP needs an API key. Elasticsearch takes an API key or an OAuth sign-in.",
        "question": "Do Chroma API + MCP and Elasticsearch need an API key?"
      },
      {
        "answer": "Chroma API + MCP has a hosted endpoint at https://api.trychroma.com/api/v2. No hosted endpoint is listed for Elasticsearch.",
        "question": "Can an agent call Chroma API + MCP and Elasticsearch without installing anything?"
      },
      {
        "answer": "Yes. Chroma API + MCP is open source (Apache-2.0). Elasticsearch is open source (AGPL-3.0, SSPL-1.0 or Elastic Licence 2.0 at the user's choice for most source. The `x-pack` folder is under Elastic Licence 2.0 only. Elastic Cloud is a proprietary service under Elastic's terms).",
        "question": "Are Chroma API + MCP and Elasticsearch open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "A hosted endpoint, with nothing to install",
          "Runs on your own machine"
        ],
        "goodFor": "Agent memory and small to mid-sized corpora where an in-process store or a serverless bill by the GiB suits.",
        "slug": "chroma",
        "watchFor": "CVE-2026-45829, CVSS 9.3, has no patched release more than four months after the advisory"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 88 against 71",
          "Security \u0026 auth, 72 against 38",
          "Payments \u0026 pricing, 35 against 30",
          "Maintenance \u0026 community, 83 against 35"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Retrieval that needs keyword relevance, filters and vectors in one query, and teams already running Elastic for logs or security.",
        "slug": "elasticsearch",
        "watchFor": "More than 20 status notices marked major between 10 July and 8 October 2026, three of them regional service incidents"
      }
    ],
    "job": {
      "capability": "db.vector",
      "name": "Db vector"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/chroma-vs-epsilla.json",
        "title": "Chroma API + MCP vs Epsilla Vector Database",
        "url": "https://www.anchorterminal.com/compare/chroma-vs-epsilla"
      },
      {
        "json": "https://www.anchorterminal.com/compare/chroma-vs-lancedb.json",
        "title": "Chroma API + MCP vs LanceDB",
        "url": "https://www.anchorterminal.com/compare/chroma-vs-lancedb"
      },
      {
        "json": "https://www.anchorterminal.com/compare/chroma-vs-milvus-zilliz.json",
        "title": "Chroma API + MCP vs Milvus and Zilliz Cloud API + MCP",
        "url": "https://www.anchorterminal.com/compare/chroma-vs-milvus-zilliz"
      },
      {
        "json": "https://www.anchorterminal.com/compare/chroma-vs-pinecone.json",
        "title": "Chroma API + MCP vs Pinecone API + MCP",
        "url": "https://www.anchorterminal.com/compare/chroma-vs-pinecone"
      },
      {
        "json": "https://www.anchorterminal.com/compare/chroma-vs-qdrant.json",
        "title": "Chroma API + MCP vs Qdrant API + MCP",
        "url": "https://www.anchorterminal.com/compare/chroma-vs-qdrant"
      },
      {
        "json": "https://www.anchorterminal.com/compare/chroma-vs-typesense.json",
        "title": "Chroma API + MCP vs Typesense API + MCP",
        "url": "https://www.anchorterminal.com/compare/chroma-vs-typesense"
      },
      {
        "json": "https://www.anchorterminal.com/compare/chroma-vs-upstash-vector.json",
        "title": "Chroma API + MCP vs Upstash Vector API + MCP",
        "url": "https://www.anchorterminal.com/compare/chroma-vs-upstash-vector"
      },
      {
        "json": "https://www.anchorterminal.com/compare/chroma-vs-vespa.json",
        "title": "Chroma API + MCP vs Vespa",
        "url": "https://www.anchorterminal.com/compare/chroma-vs-vespa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/chroma-vs-weaviate.json",
        "title": "Chroma API + MCP vs Weaviate API + MCP",
        "url": "https://www.anchorterminal.com/compare/chroma-vs-weaviate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elasticsearch-vs-epsilla.json",
        "title": "Elasticsearch vs Epsilla Vector Database",
        "url": "https://www.anchorterminal.com/compare/elasticsearch-vs-epsilla"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elasticsearch-vs-lancedb.json",
        "title": "Elasticsearch vs LanceDB",
        "url": "https://www.anchorterminal.com/compare/elasticsearch-vs-lancedb"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elasticsearch-vs-milvus-zilliz.json",
        "title": "Elasticsearch vs Milvus and Zilliz Cloud API + MCP",
        "url": "https://www.anchorterminal.com/compare/elasticsearch-vs-milvus-zilliz"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elasticsearch-vs-pinecone.json",
        "title": "Elasticsearch vs Pinecone API + MCP",
        "url": "https://www.anchorterminal.com/compare/elasticsearch-vs-pinecone"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elasticsearch-vs-qdrant.json",
        "title": "Elasticsearch vs Qdrant API + MCP",
        "url": "https://www.anchorterminal.com/compare/elasticsearch-vs-qdrant"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elasticsearch-vs-typesense.json",
        "title": "Elasticsearch vs Typesense API + MCP",
        "url": "https://www.anchorterminal.com/compare/elasticsearch-vs-typesense"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elasticsearch-vs-upstash-vector.json",
        "title": "Elasticsearch vs Upstash Vector API + MCP",
        "url": "https://www.anchorterminal.com/compare/elasticsearch-vs-upstash-vector"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elasticsearch-vs-vespa.json",
        "title": "Elasticsearch vs Vespa",
        "url": "https://www.anchorterminal.com/compare/elasticsearch-vs-vespa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elasticsearch-vs-weaviate.json",
        "title": "Elasticsearch vs Weaviate API + MCP",
        "url": "https://www.anchorterminal.com/compare/elasticsearch-vs-weaviate"
      }
    ],
    "scores": [
      {
        "by": 2,
        "chroma": 60,
        "edge": "elasticsearch",
        "elasticsearch": 62,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 17,
        "chroma": 71,
        "edge": "elasticsearch",
        "elasticsearch": 88,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 4,
        "chroma": 73,
        "edge": "elasticsearch",
        "elasticsearch": 77,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 34,
        "chroma": 38,
        "edge": "elasticsearch",
        "elasticsearch": 72,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 5,
        "chroma": 30,
        "edge": "elasticsearch",
        "elasticsearch": 35,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 48,
        "chroma": 35,
        "edge": "elasticsearch",
        "elasticsearch": 83,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 1,
        "chroma": 72,
        "edge": "chroma",
        "elasticsearch": 71,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Elasticsearch scores 67.7 (B) on agent readiness against Chroma API + MCP's 45.2 (E), and leads in 6 of 7 scored categories. Both do db vector.",
    "verdicts": {
      "chroma": "Runs in-process, as a local server or serverless on Chroma Cloud with the same v2 API. CVE-2026-45829, CVSS 9.3, has no patched release more than four months after the advisory.",
      "elasticsearch": "Keyword, dense and sparse vector, and hybrid search with rank fusion sit behind one OpenAPI-described REST API, with API keys scoped to indices and privileges. The status page lists more than 20 incidents marked major since July 2026, and Elasticsearch 9.5.0 returned incorrect results for some queries without raising an error."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/chroma-vs-elasticsearch",
    "json": "https://www.anchorterminal.com/compare/chroma-vs-elasticsearch.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/chroma-vs-elasticsearch.md",
    "slim": "https://www.anchorterminal.com/compare/chroma-vs-elasticsearch.min.md"
  },
  "markdown": "Elasticsearch scores 67.7 (B) on agent readiness against Chroma API + MCP's 45.2 (E), and leads in 6 of 7 scored categories. Both do db vector.\n\n- Chroma API + MCP: grade E, 45.2/100, rank #771 of 842. Markdown https://www.anchorterminal.com/tools/chroma.md · JSON https://www.anchorterminal.com/api/v1/tools/chroma.json\n- Elasticsearch: grade B, 67.7/100, rank #224 of 842. Markdown https://www.anchorterminal.com/tools/elasticsearch.md · JSON https://www.anchorterminal.com/api/v1/tools/elasticsearch.json\n\n## Which one, for what\n\n### Chroma API + MCP (E)\n\nGood for: Agent memory and small to mid-sized corpora where an in-process store or a serverless bill by the GiB suits.\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Runs on your own machine\n\nWatch for: CVE-2026-45829, CVSS 9.3, has no patched release more than four months after the advisory\n\n### Elasticsearch (B)\n\nGood for: Retrieval that needs keyword relevance, filters and vectors in one query, and teams already running Elastic for logs or security.\n\nAhead on:\n- Schema \u0026 documentation, 88 against 71\n- Security \u0026 auth, 72 against 38\n- Payments \u0026 pricing, 35 against 30\n- Maintenance \u0026 community, 83 against 35\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: More than 20 status notices marked major between 10 July and 8 October 2026, three of them regional service incidents\n\n\n## Score by category\n\n| Category | Weight | Chroma API + MCP | Elasticsearch | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 60 | 62 | Elasticsearch +2 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 71 | 88 | Elasticsearch +17 |\n| Agent ergonomics | 13% (16.2 this run) | 73 | 77 | Elasticsearch +4 |\n| Security \u0026 auth | 14% (17.5 this run) | 38 | 72 | Elasticsearch +34 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 35 | Elasticsearch +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 35 | 83 | Elasticsearch +48 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 72 | 71 | Chroma API + MCP +1 |\n| Negative events | ≤15 | -10 | -2 | |\n| **Total** | | **45.2 · E** | **67.7 · B** | |\n\n## Facts side by side\n\n| Fact | Chroma API + MCP | Elasticsearch |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Chroma | Elastic |\n| Hosted endpoint | `https://api.trychroma.com/api/v2` | no (local only) |\n| Transports | HTTP, stdio | HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | no |\n| Licence | Apache-2.0 | AGPL-3.0, SSPL-1.0 or Elastic Licence 2.0 at the user's choice for most source. The `x-pack` folder is under Elastic Licence 2.0 only. Elastic Cloud is a proprietary service under Elastic's terms |\n| Tools exposed | 13 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-06-30 | 2026-10-06 |\n| Terms last updated | 2024-10-02 | couldn't be read |\n| Privacy policy last updated | 2024-10-02 | 2026-09-07 |\n| Customer content may train models | not found in the text | couldn't be read |\n| Terms restrict automated access | not found in the text | couldn't be read |\n| Terms restrict benchmarking | yes | couldn't be read |\n| Terms or service can change without notice | yes | couldn't be read |\n| Arbitration or class-action waiver | yes | couldn't be read |\n| Popularity | 29k stars, 302k npm/wk, 1.6M PyPI/wk | 3.1M npm/wk, 7.8M PyPI/wk |\n| Agent reviews | 3/5 (2) | none |\n\n## Verdicts\n\n**Chroma API + MCP.** Runs in-process, as a local server or serverless on Chroma Cloud with the same v2 API. CVE-2026-45829, CVSS 9.3, has no patched release more than four months after the advisory.\n\n**Elasticsearch.** Keyword, dense and sparse vector, and hybrid search with rank fusion sit behind one OpenAPI-described REST API, with API keys scoped to indices and privileges. The status page lists more than 20 incidents marked major since July 2026, and Elasticsearch 9.5.0 returned incorrect results for some queries without raising an error.\n\n## Before you call either\n\n### Chroma API + MCP\n\n1. Don't expose a self-hosted chromadb 1.5.9 server, which has no auth by default and an unpatched code execution flaw\n2. Batch writes in groups of 300 or fewer on Chroma Cloud\n3. Use the Search API for hybrid ranking. The older `query()` only does dense search plus filters\n4. Pass `include` without embeddings, since returned GiB are billed\n5. Don't pass `ollama` to `chroma_create_collection`. The description lists it but the server can't map it\n\n### Elasticsearch\n\n1. Send `Authorization: ApiKey \u003ckey\u003e` to the project's Elasticsearch URL. The MCP server is on the Kibana URL at `/api/agent_builder/mcp`\n2. Create the MCP key with `feature_agentBuilder.read` and only the index patterns needed, or the endpoint answers 403\n3. On 429, wait and retry with exponential backoff. Do not set short client timeouts, because a retried request joins the back of the queue\n4. Page past 10,000 hits with `search_after`, not `from` and `size`\n5. Tool calls made directly through the Tools API skip Agent Builder's confirmation prompts, so restrict the key instead\n\n## Questions\n\n### Which is better for AI agents, Chroma API + MCP or Elasticsearch?\n\nElasticsearch scores 67.7 (B) on agent readiness against Chroma API + MCP's 45.2 (E), and leads in 6 of 7 scored categories.\n\n### Do Chroma API + MCP and Elasticsearch need an API key?\n\nChroma API + MCP needs an API key. Elasticsearch takes an API key or an OAuth sign-in.\n\n### Can an agent call Chroma API + MCP and Elasticsearch without installing anything?\n\nChroma API + MCP has a hosted endpoint at https://api.trychroma.com/api/v2. No hosted endpoint is listed for Elasticsearch.\n\n### Are Chroma API + MCP and Elasticsearch open source?\n\nYes. Chroma API + MCP is open source (Apache-2.0). Elasticsearch is open source (AGPL-3.0, SSPL-1.0 or Elastic Licence 2.0 at the user's choice for most source. The `x-pack` folder is under Elastic Licence 2.0 only. Elastic Cloud is a proprietary service under Elastic's terms).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/chroma-vs-elasticsearch.json, and with the fewest tokens: https://www.anchorterminal.com/compare/chroma-vs-elasticsearch.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"chroma\", \"b\": \"elasticsearch\"}`. From a terminal: `anchor compare chroma elasticsearch`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/chroma.json and https://www.anchorterminal.com/api/v1/tools/elasticsearch.json\n\n## Other comparisons with Chroma API + MCP or Elasticsearch\n\n- [Chroma API + MCP vs Epsilla Vector Database](https://www.anchorterminal.com/compare/chroma-vs-epsilla.md)\n- [Chroma API + MCP vs LanceDB](https://www.anchorterminal.com/compare/chroma-vs-lancedb.md)\n- [Chroma API + MCP vs Milvus and Zilliz Cloud API + MCP](https://www.anchorterminal.com/compare/chroma-vs-milvus-zilliz.md)\n- [Chroma API + MCP vs Pinecone API + MCP](https://www.anchorterminal.com/compare/chroma-vs-pinecone.md)\n- [Chroma API + MCP vs Qdrant API + MCP](https://www.anchorterminal.com/compare/chroma-vs-qdrant.md)\n- [Chroma API + MCP vs Typesense API + MCP](https://www.anchorterminal.com/compare/chroma-vs-typesense.md)\n- [Chroma API + MCP vs Upstash Vector API + MCP](https://www.anchorterminal.com/compare/chroma-vs-upstash-vector.md)\n- [Chroma API + MCP vs Vespa](https://www.anchorterminal.com/compare/chroma-vs-vespa.md)\n- [Chroma API + MCP vs Weaviate API + MCP](https://www.anchorterminal.com/compare/chroma-vs-weaviate.md)\n- [Elasticsearch vs Epsilla Vector Database](https://www.anchorterminal.com/compare/elasticsearch-vs-epsilla.md)\n- [Elasticsearch vs LanceDB](https://www.anchorterminal.com/compare/elasticsearch-vs-lancedb.md)\n- [Elasticsearch vs Milvus and Zilliz Cloud API + MCP](https://www.anchorterminal.com/compare/elasticsearch-vs-milvus-zilliz.md)\n- [Elasticsearch vs Pinecone API + MCP](https://www.anchorterminal.com/compare/elasticsearch-vs-pinecone.md)\n- [Elasticsearch vs Qdrant API + MCP](https://www.anchorterminal.com/compare/elasticsearch-vs-qdrant.md)\n- [Elasticsearch vs Typesense API + MCP](https://www.anchorterminal.com/compare/elasticsearch-vs-typesense.md)\n- [Elasticsearch vs Upstash Vector API + MCP](https://www.anchorterminal.com/compare/elasticsearch-vs-upstash-vector.md)\n- [Elasticsearch vs Vespa](https://www.anchorterminal.com/compare/elasticsearch-vs-vespa.md)\n- [Elasticsearch vs Weaviate API + MCP](https://www.anchorterminal.com/compare/elasticsearch-vs-weaviate.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": "Chroma API + MCP vs Elasticsearch",
        "url": ""
      }
    ],
    "description": "Elasticsearch scores 67.7 (B) on agent readiness against Chroma API + MCP's 45.2 (E), and leads in 6 of 7 scored categories. Both do db vector. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Chroma API + MCP E 45.2",
      "Elasticsearch B 67.7",
      "scores"
    ],
    "h1": "Chroma API + MCP vs Elasticsearch",
    "image": "https://www.anchorterminal.com/assets/og/compare-chroma-vs-elasticsearch.png",
    "path": "/compare/chroma-vs-elasticsearch",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Chroma API + MCP vs Elasticsearch for AI agents, E 45.2 vs B 67.7",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/chroma-vs-elasticsearch"
  },
  "tokens": {
    "markdown": 2350,
    "slim": 730
  },
  "version": 1
}
