Chroma MCP server
Chroma's official MCP server: manage collections and run semantic, metadata, and full-text search over a Chroma vector database.
The Chroma MCP server is Chroma's official integration that gives an AI agent full read/write access to a Chroma vector database. Unlike a minimal memory wrapper, it exposes the database's real surface: the agent can list, create, inspect, modify, and delete collections, then add, query, retrieve, update, and delete documents within them. Queries support semantic (vector) similarity search alongside metadata filters and full-text matching, so the agent can build a retrieval-augmented workflow, keep a working memory across sessions, or curate a knowledge base entirely through tool calls.
The server is published as the chroma-mcp Python package and is launched with uvx (uvx chroma-mcp). A client-type flag selects the backend: ephemeral in-memory for quick experiments, persistent file-based storage at a chosen data directory, http against a self-hosted Chroma server, or cloud against Chroma Cloud with a tenant, database, and API key. Connection details are supplied either as CLI flags or environment variables (CHROMA_CLIENT_TYPE, CHROMA_DATA_DIR, CHROMA_HOST, CHROMA_PORT, CHROMA_TENANT, CHROMA_DATABASE, CHROMA_API_KEY), and per-provider keys can be set to use external embedding APIs. That spread of client types lets the same tool set serve a laptop prototype and a production Chroma Cloud deployment without changing the agent's interface.
Quick install
Copy-paste configs are provided for all 8 supported clients. Pick your client below.
Add to ~/.claude.json
{
"mcpServers": {
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp"
],
"env": {
"CHROMA_CLIENT_TYPE": "<CHROMA_CLIENT_TYPE>",
"CHROMA_DATA_DIR": "<CHROMA_DATA_DIR>",
"CHROMA_TENANT": "<CHROMA_TENANT>",
"CHROMA_DATABASE": "<CHROMA_DATABASE>",
"CHROMA_API_KEY": "<CHROMA_API_KEY>"
}
}
}
}claude mcp add chroma -- uvx chroma-mcpAvailable tools
| Tool | Description |
|---|---|
| chroma_list_collections | Lists all collections, with pagination support. |
| chroma_create_collection | Creates a new collection with optional HNSW configuration. |
| chroma_peek_collection | Returns a small sample of documents from a collection. |
| chroma_get_collection_info | Gets detailed information about a collection. |
| chroma_get_collection_count | Gets the number of documents in a collection. |
| chroma_modify_collection | Updates a collection's name or metadata. |
| chroma_delete_collection | Deletes a collection. |
| chroma_add_documents | Adds documents with optional metadata and custom IDs. |
| chroma_query_documents | Queries documents using semantic search with advanced filtering. |
| chroma_get_documents | Retrieves documents by IDs or filters, with pagination. |
| chroma_update_documents | Updates existing documents' content, metadata, or embeddings. |
| chroma_delete_documents | Deletes specific documents from a collection. |
Required configuration
- CHROMA_CLIENT_TYPEOptional
Backend mode: ephemeral, persistent, http, or cloud. Optional; defaults to ephemeral.
- CHROMA_DATA_DIROptional
Filesystem path for persistent storage. Required for the persistent client type.
- CHROMA_HOSTOptional
Hostname of a self-hosted Chroma server. Required for the http client type.
- CHROMA_PORTOptional
Port of a self-hosted Chroma server. Optional for the http client type.
- CHROMA_SSLOptional
Enable SSL when connecting to an http Chroma server. Optional.
- CHROMA_TENANTOptional
Chroma Cloud tenant ID. Required for the cloud client type.
- CHROMA_DATABASEOptional
Chroma Cloud database name. Required for the cloud client type.
- CHROMA_API_KEYOptional
Chroma Cloud API key. Required for the cloud client type.
What you can do with it
Retrieval-augmented agent workflows
Create a collection, add documents with chroma_add_documents, and let the agent pull the most relevant passages with chroma_query_documents using semantic search plus metadata filters to ground its answers.
Curate and maintain a knowledge base
Use the full collection and document tool set to inspect counts, peek at samples, update stale entries, and delete obsolete documents, so an agent can keep a vector store healthy over time.
FAQ
- Is it free?
- Yes. The MCP server is open source and free, and Chroma is open source and self-hostable at no cost in ephemeral, persistent, or http mode. Only Chroma Cloud (the managed cloud client type) is a paid service.
- Does it support remote/OAuth?
- It runs locally over stdio (via uvx) and connects to a Chroma backend you choose, including a remote self-hosted server (http) or Chroma Cloud (cloud) with an API key. There is no OAuth flow; cloud auth uses a tenant, database, and CHROMA_API_KEY.