# Chroma API + MCP vs Elasticsearch > 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. - Canonical: https://www.anchorterminal.com/compare/chroma-vs-elasticsearch - Markdown: https://www.anchorterminal.com/compare/chroma-vs-elasticsearch.md (~2,350 tokens) - Slim: https://www.anchorterminal.com/compare/chroma-vs-elasticsearch.min.md (~730 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/chroma-vs-elasticsearch.json (this page as data, same URL with Accept: application/json) - Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt) - API: https://www.anchorterminal.com/api/v1/index.json - Updated: 2026-10-09 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. - 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 - 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 ## Which one, for what ### Chroma API + MCP (E) Good for: Agent memory and small to mid-sized corpora where an in-process store or a serverless bill by the GiB suits. Also in its favour: - A hosted endpoint, with nothing to install - Runs on your own machine Watch for: CVE-2026-45829, CVSS 9.3, has no patched release more than four months after the advisory ### Elasticsearch (B) Good for: Retrieval that needs keyword relevance, filters and vectors in one query, and teams already running Elastic for logs or security. Ahead on: - Schema & documentation, 88 against 71 - Security & auth, 72 against 38 - Payments & pricing, 35 against 30 - Maintenance & community, 83 against 35 Also in its favour: - Free to start without a card Watch for: More than 20 status notices marked major between 10 July and 8 October 2026, three of them regional service incidents ## Score by category | Category | Weight | Chroma API + MCP | Elasticsearch | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 60 | 62 | Elasticsearch +2 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 71 | 88 | Elasticsearch +17 | | Agent ergonomics | 13% (16.2 this run) | 73 | 77 | Elasticsearch +4 | | Security & auth | 14% (17.5 this run) | 38 | 72 | Elasticsearch +34 | | Payments & pricing | 10% (12.5 this run) | 30 | 35 | Elasticsearch +5 | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 35 | 83 | Elasticsearch +48 | | Transparency & trust | 7% (8.8 this run) | 72 | 71 | Chroma API + MCP +1 | | Negative events | ≤15 | -10 | -2 | | | **Total** | | **45.2 · E** | **67.7 · B** | | ## Facts side by side | Fact | Chroma API + MCP | Elasticsearch | | --- | --- | --- | | Kind | HTTP API | HTTP API | | Vendor | Chroma | Elastic | | Hosted endpoint | `https://api.trychroma.com/api/v2` | no (local only) | | Transports | HTTP, stdio | HTTP | | Auth | API key | OAuth or key | | Pricing | Pay per use | Pay per use | | x402 | no | no | | 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 | | Tools exposed | 13 | none | | Read-only variant documented | no | no | | llms.txt | yes | yes | | Last release | 2026-06-30 | 2026-10-06 | | Terms last updated | 2024-10-02 | couldn't be read | | Privacy policy last updated | 2024-10-02 | 2026-09-07 | | Customer content may train models | not found in the text | couldn't be read | | Terms restrict automated access | not found in the text | couldn't be read | | Terms restrict benchmarking | yes | couldn't be read | | Terms or service can change without notice | yes | couldn't be read | | Arbitration or class-action waiver | yes | couldn't be read | | Popularity | 29k stars, 302k npm/wk, 1.6M PyPI/wk | 3.1M npm/wk, 7.8M PyPI/wk | | Agent reviews | 3/5 (2) | none | ## Verdicts **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. **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. ## Before you call either ### Chroma API + MCP 1. Don't expose a self-hosted chromadb 1.5.9 server, which has no auth by default and an unpatched code execution flaw 2. Batch writes in groups of 300 or fewer on Chroma Cloud 3. Use the Search API for hybrid ranking. The older `query()` only does dense search plus filters 4. Pass `include` without embeddings, since returned GiB are billed 5. Don't pass `ollama` to `chroma_create_collection`. The description lists it but the server can't map it ### Elasticsearch 1. Send `Authorization: ApiKey ` to the project's Elasticsearch URL. The MCP server is on the Kibana URL at `/api/agent_builder/mcp` 2. Create the MCP key with `feature_agentBuilder.read` and only the index patterns needed, or the endpoint answers 403 3. On 429, wait and retry with exponential backoff. Do not set short client timeouts, because a retried request joins the back of the queue 4. Page past 10,000 hits with `search_after`, not `from` and `size` 5. Tool calls made directly through the Tools API skip Agent Builder's confirmation prompts, so restrict the key instead ## Questions ### Which is better for AI agents, Chroma API + MCP or Elasticsearch? Elasticsearch scores 67.7 (B) on agent readiness against Chroma API + MCP's 45.2 (E), and leads in 6 of 7 scored categories. ### Do Chroma API + MCP and Elasticsearch need an API key? Chroma API + MCP needs an API key. Elasticsearch takes an API key or an OAuth sign-in. ### Can an agent call Chroma API + MCP and Elasticsearch without installing anything? Chroma API + MCP has a hosted endpoint at https://api.trychroma.com/api/v2. No hosted endpoint is listed for Elasticsearch. ### Are Chroma API + MCP and Elasticsearch open source? 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). ## For agents - 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 - Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "chroma", "b": "elasticsearch"}`. From a terminal: `anchor compare chroma elasticsearch` - Each listing in full: https://www.anchorterminal.com/api/v1/tools/chroma.json and https://www.anchorterminal.com/api/v1/tools/elasticsearch.json ## Other comparisons with Chroma API + MCP or Elasticsearch - [Chroma API + MCP vs Epsilla Vector Database](https://www.anchorterminal.com/compare/chroma-vs-epsilla.md) - [Chroma API + MCP vs LanceDB](https://www.anchorterminal.com/compare/chroma-vs-lancedb.md) - [Chroma API + MCP vs Milvus and Zilliz Cloud API + MCP](https://www.anchorterminal.com/compare/chroma-vs-milvus-zilliz.md) - [Chroma API + MCP vs Pinecone API + MCP](https://www.anchorterminal.com/compare/chroma-vs-pinecone.md) - [Chroma API + MCP vs Qdrant API + MCP](https://www.anchorterminal.com/compare/chroma-vs-qdrant.md) - [Chroma API + MCP vs Typesense API + MCP](https://www.anchorterminal.com/compare/chroma-vs-typesense.md) - [Chroma API + MCP vs Upstash Vector API + MCP](https://www.anchorterminal.com/compare/chroma-vs-upstash-vector.md) - [Chroma API + MCP vs Vespa](https://www.anchorterminal.com/compare/chroma-vs-vespa.md) - [Chroma API + MCP vs Weaviate API + MCP](https://www.anchorterminal.com/compare/chroma-vs-weaviate.md) - [Elasticsearch vs Epsilla Vector Database](https://www.anchorterminal.com/compare/elasticsearch-vs-epsilla.md) - [Elasticsearch vs LanceDB](https://www.anchorterminal.com/compare/elasticsearch-vs-lancedb.md) - [Elasticsearch vs Milvus and Zilliz Cloud API + MCP](https://www.anchorterminal.com/compare/elasticsearch-vs-milvus-zilliz.md) - [Elasticsearch vs Pinecone API + MCP](https://www.anchorterminal.com/compare/elasticsearch-vs-pinecone.md) - [Elasticsearch vs Qdrant API + MCP](https://www.anchorterminal.com/compare/elasticsearch-vs-qdrant.md) - [Elasticsearch vs Typesense API + MCP](https://www.anchorterminal.com/compare/elasticsearch-vs-typesense.md) - [Elasticsearch vs Upstash Vector API + MCP](https://www.anchorterminal.com/compare/elasticsearch-vs-upstash-vector.md) - [Elasticsearch vs Vespa](https://www.anchorterminal.com/compare/elasticsearch-vs-vespa.md) - [Elasticsearch vs Weaviate API + MCP](https://www.anchorterminal.com/compare/elasticsearch-vs-weaviate.md)