Chroma MCP Server

Official MCP server from Chroma: create vector collections, store documents, and query them with semantic search, locally or in Chroma Cloud.

Description

The Chroma MCP Server gives AI assistants such as Claude Code, Codex, or Cursor a memory based on the Chroma vector database. With it, the assistant can create collections, store documents with metadata, and later find them again through semantic search, full-text search, or metadata filters. The server is maintained by the Chroma team itself in the repository chroma-core/chroma-mcp and is licensed under Apache 2.0.

What is the Chroma MCP Server?

Chroma stores texts as embeddings, that is, as numerical vectors that express closeness in meaning. This lets you find passages not just through exact keywords but through what they mean. The MCP server makes these functions usable for language models: it runs as a small Python program that the MCP client starts over STDIO and forwards the model's calls to a Chroma instance. According to the README there are four client types: ephemeral in memory, persistent in a local data directory, over HTTP to a self-hosted instance, or to Chroma Cloud.

Which tools are available?

The README lists twelve tools. For managing collections there are chroma_list_collections, chroma_create_collection, chroma_peek_collection, chroma_get_collection_info, chroma_get_collection_count, chroma_modify_collection, and chroma_delete_collection. For the documents themselves there are chroma_add_documents, chroma_query_documents, chroma_get_documents, chroma_update_documents, and chroma_delete_documents. When creating a collection you can choose HNSW parameters for the search and an embedding function; according to the documentation, default, cohere, openai, jina, voyageai, and roboflow are supported.

What is it particularly useful for?

The greatest benefit lies in knowledge bases and long-term memory. If you store project notes, documentation, or earlier decisions in Chroma, you can ask the assistant about them in later sessions without copying everything into the context again. It is also handy for prototyping retrieval-augmented generation (RAG) applications, because collections and queries can be tried out in conversation before you turn them into code. Unlike a plain file index, Chroma keeps metadata and the embedding function per collection, so later queries stay consistent.

Setup

Setup runs through uvx: in the MCP client you register the command uvx with the argument chroma-mcp. Without further options an ephemeral client starts. With --client-type persistent and --data-dir you define a lasting data directory. For Chroma Cloud you pass tenant, database, and API key, and for your own instance host, port, and credentials. Alternatively, everything can be configured through environment variables or a .env file. API keys for external embedding functions follow the pattern CHROMA_COHERE_API_KEY.

Security and privacy

With chroma_delete_collection and chroma_delete_documents the assistant can remove data permanently. For first experiments use the ephemeral client or a test directory. Keys in the arguments of the client configuration are acceptable on your own machine, but a .env file with restricted permissions is better. Documents processed by an external embedding service leave your machine. And whatever the assistant retrieves from Chroma enters the model's context and therefore reaches the model provider.

Costs

The server is open source. Chroma itself can be run free of charge. For Chroma Cloud, the official pricing page lists a free Starter plan with starting credit, usage-based billing by storage, write, and query operations, as well as Team and Enterprise plans; see Chroma's pricing page for details.

Who is the Chroma MCP Server for?

It is worthwhile for developers who want to give their assistant a searchable memory or quickly try out RAG ideas. If you use a different vector database, you need its own server. Also note: the repository was last updated in September 2025; the feature set is compact, and ongoing expansion is not currently evident.

Requirements

The Python tool uv (for uvx) and an MCP client with STDIO support, such as Claude Code, Codex, Cursor, or Claude Desktop. For Chroma Cloud, an account with tenant, database, and API key.

Installation instructions

With the Chroma MCP Server, an AI assistant creates vector collections and searches them semantically. This guide leads from installation to the first query.

Step 1: Check the prerequisites

You need the Python tool uv so that the uvx command is available, and an MCP client with STDIO support, such as Claude Code, Codex, Cursor, or Claude Desktop. For Chroma Cloud you also need tenant, database name, and API key.

Step 2: Register the server

In your client, register a STDIO server with the command uvx and the argument chroma-mcp. Without further options an ephemeral client starts whose data disappears when it ends. That is ideal for trying things out.

Choose a client type

For lasting data, add the arguments --client-type persistent and --data-dir with an absolute path. For Chroma Cloud use --client-type cloud with --tenant, --database, and --api-key, and for your own instance --client-type http with host, port, and credentials. Alternatively, set environment variables such as CHROMA_CLIENT_TYPE or a .env file that you include with --dotenv-path.

Pick an embedding function

When creating a collection the assistant chooses an embedding function, such as default, openai, or cohere. For external services, store the key as CHROMA_OPENAI_API_KEY or CHROMA_COHERE_API_KEY. The choice is saved in the collection and reused in later queries.

Step 3: Test a first query

Ask the assistant to create a collection, store three text passages, and then ask a question in its own words. Use chroma_peek_collection to check what was actually stored.

Work safely

Delete tools remove data permanently. Confirm such calls one by one and begin with test data. Do not put secrets into collections that go to external embedding services.

uvx chroma-mcp

Authentication

None locally; for Chroma Cloud an API key, tenant, and database; for self-hosted instances custom credentials. Passed as an argument or environment variable.

Required access permissions

Reading, creating, changing, and deleting collections and documents in the configured Chroma instance.

Transmitted or stored data

The server runs locally. Documents and query results enter the AI client context; with external embedding functions, texts are sent to the respective service, and with Chroma Cloud to Chroma servers.

Security risks

Delete tools remove collections and documents permanently; API keys can sit in the client configuration; sensitive content can reach embedding services or the model provider.

License and costs

License
Apache-2.0
Cost
free

The server is open source (Apache-2.0). Costs arise at most for Chroma Cloud: a free Starter plan, usage-based billing, and Team and Enterprise plans according to Chroma's official pricing page.

Alternatives

Not recorded yet.

At a glance

Provider
Chroma
Status
Official server
Deployment
Local
Current version
Not recorded yet.
GitHub stars
599
Last reviewed
15.10.2026

Repository and documentation

Categories

Supported clients