{"name":"Chroma","slug":"chroma","category":"vectordb","type":"hybrid","website":"https://www.trychroma.com","pricing":"freemium","pricing_tiers":["Free (self-hosted, Apache 2.0)","Starter ($0/mo + usage)","Team ($250/mo + usage)","Custom Enterprise"],"open_source":true,"self_hosted":true,"sdk_languages":["python","javascript","typescript","ruby"],"frameworks":["langchain","llamaindex","vercel-ai","haystack","dspy"],"agent_features":{"hybrid_search":true,"metadata_filtering":true,"multi_tenancy":true,"managed_embeddings":true,"mcp_server":true,"serverless":true},"compliance":["soc2","gdpr"],"best_for":"AI-native developer experience — the fastest path from `pip install` to a working RAG prototype, with a managed cloud when you're ready","limitations":"Younger than Pinecone or Weaviate at scale; fewer index tuning knobs (HNSW only); compliance certifications are still maturing","verified_by":"editorial","last_verified":"2026-06-10","source_urls":{"docs":"https://docs.trychroma.com","pricing":"https://www.trychroma.com/pricing","changelog":"https://github.com/chroma-core/chroma/releases"},"feature_labels":{"hybrid_search":"Combined dense vector + sparse/keyword (BM25) search in one query","metadata_filtering":"Pre/post filtering by structured metadata — JSON payloads, tags, dates","multi_tenancy":"Native namespace or tenant isolation for per-user or per-agent vector spaces","managed_embeddings":"Built-in embedding generation at ingest and query time — no separate embedding service required","mcp_server":"Official Model Context Protocol server exposing vector operations as agent tools","serverless":"Pay-per-use scaling with separated storage and compute"},"comparisons":[{"slug":"chroma-vs-elasticsearch","title":"Chroma vs Elasticsearch","vs":"elasticsearch"},{"slug":"chroma-vs-milvus","title":"Chroma vs Milvus","vs":"milvus"},{"slug":"chroma-vs-mongodb-atlas","title":"Chroma vs MongoDB Vector Search","vs":"mongodb-atlas"},{"slug":"chroma-vs-pgvector","title":"Chroma vs pgvector","vs":"pgvector"},{"slug":"chroma-vs-pinecone","title":"Chroma vs Pinecone","vs":"pinecone"},{"slug":"chroma-vs-qdrant","title":"Chroma vs Qdrant","vs":"qdrant"},{"slug":"chroma-vs-weaviate","title":"Chroma vs Weaviate","vs":"weaviate"}],"body":"# Chroma\n\nChroma is the developer-first open-source vector database. Its API is intentionally minimal — `collection.add(documents=...)` handles embedding, indexing, and storage in one call — which makes it the fastest path from idea to a working RAG prototype.\n\nFor agents, Chroma's appeal is the same code path running on a laptop, a single server, or the managed Chroma Cloud. The same Python or JavaScript client talks to all three. Built-in embedding functions cover OpenAI, Cohere, Voyage, Hugging Face, and local SentenceTransformers, so you don't wire up a separate embeddings service for prototypes.\n\nChroma Cloud introduces serverless billing with separated storage and compute, plus a first-party MCP server that exposes collection and document operations as agent tools. Tenant and database scoping provides multi-tenant isolation without running multiple clusters.\n\nThe tradeoffs are scale and tunability. Chroma uses HNSW only — no IVF, PQ, or DiskANN — and is younger at billion-vector scale than Milvus or Pinecone. For prototypes, internal tools, and small-to-medium production RAG, those limits rarely bite; for very large or latency-critical workloads, look at Qdrant or Milvus.\n\n**Agent-specific features:**\n- One-line ingest with built-in embedding functions across major providers\n- Tenant and database scoping for multi-tenant agent apps\n- Official MCP server exposing collections and documents as agent tools\n- Chroma Cloud serverless with usage-based billing\n- Identical local and cloud APIs — no rewrite when graduating from prototype"}