Chroma MCP Server
by chroma-core
Chroma MCP Server provides data retrieval capabilities powered by Chroma, enabling AI models to create collections over generated data and user inputs. It allows retrieval of that data using vector search, full text search, metadata filtering, and more.
Last updated: N/A
What is Chroma MCP Server?
Chroma MCP Server is an implementation of the Model Context Protocol (MCP) that allows LLM applications to seamlessly integrate with Chroma, an open-source embedding database. It provides a standardized framework for providing LLMs with the context they require from Chroma.
How to use Chroma MCP Server?
The server can be configured with different client types (ephemeral, persistent, HTTP, or Cloud) via command-line arguments or environment variables. It's used with Claude Desktop by adding a configuration block to claude_desktop_config.json
, specifying the client type and any necessary connection parameters. The server exposes tools that can be used to manage collections and documents within Chroma.
Key features of Chroma MCP Server
Flexible Client Types (Ephemeral, Persistent, HTTP, Cloud)
Collection Management (Create, Modify, Delete, List, Get Info)
Document Operations (Add, Query, Retrieve, Update, Delete)
Semantic Search with Advanced Filtering
Full Text Search Capabilities
Use cases of Chroma MCP Server
Shared knowledge bases for LLMs
Adding memory to context windows for LLMs
Retrieval-augmented generation (RAG)
Building LLM applications with external data sources
FAQ from Chroma MCP Server
What is the Model Context Protocol (MCP)?
What is the Model Context Protocol (MCP)?
MCP is an open protocol designed for effortless integration between LLM applications and external data sources or tools.
What client types are supported?
What client types are supported?
The server supports ephemeral (in-memory), persistent (file-based), HTTP (for self-hosted Chroma instances), and Cloud (for Chroma Cloud integration) clients.
How do I configure the server?
How do I configure the server?
The server can be configured via command-line arguments or environment variables. See the README for details.
How do I use this with Claude Desktop?
How do I use this with Claude Desktop?
Add a configuration block to your claude_desktop_config.json
file, specifying the client type and any necessary connection parameters.
How do I specify API keys for embedding functions?
How do I specify API keys for embedding functions?
Set environment variables following the naming convention CHROMA_<>_API_KEY="<key>"
. For example, CHROMA_COHERE_API_KEY="<key>"
for the Cohere API key.