Weaviate vs Chroma

Weaviate and Chroma are both open-source vector databases with official MCP servers, and they often come up together when a team is choosing a store for retrieval-augmented workflows or agent memory. They share a goal — let an agent read and write a vector database directly — but they differ in how the server is delivered and how much of the database it exposes. Weaviate builds the MCP server straight into the engine: from Weaviate 1.37.1 you enable the MCP_SERVER_ENABLED flag and it serves at /v1/mcp on the same port and the same API-key/RBAC security as the REST API, exposing hybrid search, config inspection, tenant listing, and object upserts. Chroma's server is a separate official integration that gives an agent full read/write access to a Chroma instance: list, create, inspect, modify, and delete collections, then add, query, retrieve, update, and delete documents within them, with semantic, metadata, and full-text matching. So the comparison is really about a built-in, hybrid-search-first surface versus a standalone, CRUD-complete collection manager. Here is the breakdown.

How they compare

DimensionWeaviateChroma
DeliveryBuilt into the Weaviate engine — enable a feature flag and the server is exposed at /v1/mcp on the same port and security as the database.A separate official Chroma server you run and point at a Chroma instance (local, client/server, or Chroma Cloud).
Search styleHybrid search first — weaviate-query-hybrid combines vector and keyword search in one tool, plus collection config inspection.Semantic (vector) similarity, metadata filtering, and full-text matching via chroma_query_documents over collections you manage.
Write surfaceObject upserts (weaviate-objects-upsert) and tenant listing, oriented around an existing, configured Weaviate schema.Full CRUD on both collections and documents — create/modify/delete collections and add/update/delete/get documents.
Auth and opsReuses Weaviate's existing API-key authentication and RBAC, so the MCP surface inherits the database's security model exactly.Configured per the Chroma deployment you target; the standalone server makes it easy to attach to a lightweight local Chroma during development.
Best-fit taskAgents running real hybrid search against a production Weaviate you already operate and secure.Agents that need to fully manage collections and documents — build a RAG store or working memory entirely through tool calls.

Verdict

Pick Weaviate's in-engine server when you already run Weaviate and want hybrid search plus upserts secured by the same API keys and RBAC as the database — it is the lowest-friction path to letting an agent query a production instance. Pick Chroma's server when you want a standalone, CRUD-complete surface: it lets an agent manage collections and documents from scratch with semantic, metadata, and full-text search, which is ideal for spinning up a lightweight RAG store or working memory in development. Both are open source and both let an agent read and write vectors; the choice comes down to built-in-and-hybrid-first (Weaviate) versus standalone-and-fully-manageable (Chroma), and which database your stack already uses.

FAQ

Which is easier to start with for a quick RAG prototype?
Chroma is a common pick for fast local prototypes because its server offers full collection and document CRUD and it runs lightweight on your machine. Weaviate shines once you're running the database in production and want hybrid search behind its existing auth.
Do both support keyword as well as vector search?
Yes. Weaviate's hybrid query fuses vector and keyword search in one tool; Chroma supports semantic similarity alongside metadata filters and full-text matching, so an agent can combine meaning-based and literal matching on both.