Skip to main content
Glama

Chroma MCP Server

Official

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CHROMA_SSLNoFor HTTP client: whether to use SSL (true/false)
CHROMA_HOSTNoFor HTTP client: your host
CHROMA_PORTNoFor HTTP client: your port
CHROMA_TENANTNoFor cloud client: your tenant ID
CHROMA_API_KEYNoFor cloud client: your API key
CHROMA_DATABASENoFor cloud client: your database name
CHROMA_DATA_DIRNoFor persistent client: full path to your data directory
CHROMA_CLIENT_TYPENoThe type of Chroma client to use (http, cloud, persistent, or ephemeral)ephemeral
CHROMA_DOTENV_PATHNoPath to your .env file.chroma_env
CHROMA_JINA_API_KEYNoAPI key for Jina embedding function
CHROMA_COHERE_API_KEYNoAPI key for Cohere embedding function
CHROMA_OPENAI_API_KEYNoAPI key for OpenAI embedding function
CHROMA_ROBOFLOW_API_KEYNoAPI key for Roboflow embedding function
CHROMA_VOYAGEAI_API_KEYNoAPI key for VoyageAI embedding function
CHROMA_CUSTOM_AUTH_CREDENTIALSNoFor HTTP client: your custom auth credentials

Schema

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Tools

Functions exposed to the LLM to take actions

NameDescription
chroma_list_collections

List all collection names in the Chroma database with pagination support.

Args: limit: Optional maximum number of collections to return offset: Optional number of collections to skip before returning results Returns: List of collection names or ["__NO_COLLECTIONS_FOUND__"] if database is empty
chroma_create_collection

Create a new Chroma collection with configurable HNSW parameters.

Args: collection_name: Name of the collection to create space: Distance function used in HNSW index. Options: 'l2', 'ip', 'cosine' ef_construction: Size of the dynamic candidate list for constructing the HNSW graph ef_search: Size of the dynamic candidate list for searching the HNSW graph max_neighbors: Maximum number of neighbors to consider during HNSW graph construction num_threads: Number of threads to use during HNSW construction batch_size: Number of elements to batch together during index construction sync_threshold: Number of elements to process before syncing index to disk resize_factor: Factor to resize the index by when it's full embedding_function_name: Name of the embedding function to use. Options: 'default', 'cohere', 'openai', 'jina', 'voyageai', 'ollama', 'roboflow' metadata: Optional metadata dict to add to the collection
chroma_peek_collection

Peek at documents in a Chroma collection.

Args: collection_name: Name of the collection to peek into limit: Number of documents to peek at
chroma_get_collection_info

Get information about a Chroma collection.

Args: collection_name: Name of the collection to get info about
chroma_get_collection_count

Get the number of documents in a Chroma collection.

Args: collection_name: Name of the collection to count
chroma_modify_collection

Modify a Chroma collection's name or metadata.

Args: collection_name: Name of the collection to modify new_name: Optional new name for the collection new_metadata: Optional new metadata for the collection ef_search: Size of the dynamic candidate list for searching the HNSW graph num_threads: Number of threads to use during HNSW construction batch_size: Number of elements to batch together during index construction sync_threshold: Number of elements to process before syncing index to disk resize_factor: Factor to resize the index by when it's full
chroma_delete_collection

Delete a Chroma collection.

Args: collection_name: Name of the collection to delete
chroma_add_documents

Add documents to a Chroma collection.

Args: collection_name: Name of the collection to add documents to documents: List of text documents to add ids: List of IDs for the documents (required) metadatas: Optional list of metadata dictionaries for each document
chroma_query_documents

Query documents from a Chroma collection with advanced filtering.

Args: collection_name: Name of the collection to query query_texts: List of query texts to search for n_results: Number of results to return per query where: Optional metadata filters using Chroma's query operators Examples: - Simple equality: {"metadata_field": "value"} - Comparison: {"metadata_field": {"$gt": 5}} - Logical AND: {"$and": [{"field1": {"$eq": "value1"}}, {"field2": {"$gt": 5}}]} - Logical OR: {"$or": [{"field1": {"$eq": "value1"}}, {"field1": {"$eq": "value2"}}]} where_document: Optional document content filters include: List of what to include in response. By default, this will include documents, metadatas, and distances.
chroma_get_documents

Get documents from a Chroma collection with optional filtering.

Args: collection_name: Name of the collection to get documents from ids: Optional list of document IDs to retrieve where: Optional metadata filters using Chroma's query operators Examples: - Simple equality: {"metadata_field": "value"} - Comparison: {"metadata_field": {"$gt": 5}} - Logical AND: {"$and": [{"field1": {"$eq": "value1"}}, {"field2": {"$gt": 5}}]} - Logical OR: {"$or": [{"field1": {"$eq": "value1"}}, {"field1": {"$eq": "value2"}}]} where_document: Optional document content filters include: List of what to include in response. By default, this will include documents, and metadatas. limit: Optional maximum number of documents to return offset: Optional number of documents to skip before returning results Returns: Dictionary containing the matching documents, their IDs, and requested includes
chroma_update_documents

Update documents in a Chroma collection.

Args: collection_name: Name of the collection to update documents in ids: List of document IDs to update (required) embeddings: Optional list of new embeddings for the documents. Must match length of ids if provided. metadatas: Optional list of new metadata dictionaries for the documents. Must match length of ids if provided. documents: Optional list of new text documents. Must match length of ids if provided. Returns: A confirmation message indicating the number of documents updated. Raises: ValueError: If 'ids' is empty or if none of 'embeddings', 'metadatas', or 'documents' are provided, or if the length of provided update lists does not match the length of 'ids'. Exception: If the collection does not exist or if the update operation fails.
chroma_delete_documents

Delete documents from a Chroma collection.

Args: collection_name: Name of the collection to delete documents from ids: List of document IDs to delete Returns: A confirmation message indicating the number of documents deleted. Raises: ValueError: If 'ids' is empty Exception: If the collection does not exist or if the delete operation fails.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/chroma-core/chroma-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server