By chroma-coreCreated 16 days ago
starstarstarstarstar

Embeddings, vector search, document storage, and full-text search with the open-source AI application database.

Visit Project
Share this MCP:
X (Formerly Twitter)RedditblueskyThreads by Instagram

Category

Official MCP Server

Tags

Vector SearchDocument StorageEmbeddingsFull Text SearchAi Application Database

What is Chroma?

Chroma is an open-source embedding database designed for building Python and JavaScript LLM (Large Language Model) applications with memory. It provides embeddings, vector search, document storage, and full-text search capabilities. Chroma integrates with the Model Context Protocol (MCP) to allow seamless interaction between LLM applications and external data sources or tools.

How to use Chroma?

To use Chroma, follow these steps:

  1. Choose a client type (ephemeral, persistent, HTTP, or cloud).
  2. Configure Chroma in your application (e.g., via command-line arguments or environment variables).
  3. Interact with collections to store and retrieve data.
  4. Use the supported tools for collection management, document operations, and queries.

Example configuration with Claude Desktop:

"chroma": {
    "command": "uvx",
    "args": [
        "chroma-mcp",
        "--client-type",
        "persistent",
        "--data-dir",
        "/full/path/to/your/data/directory"
    ]
}

Key features of Chroma

  • Flexible client types: Ephemeral (in-memory), persistent (file-based storage), HTTP (self-hosted Chroma), and cloud (Chroma Cloud).
  • Collection management: Create, modify, and delete collections with optional HNSW parameters and embedding function selection.
  • Document operations: Add, query, retrieve, update, and delete documents with support for semantic search, metadata filtering, and full-text search.
  • Embedding functions: Supports default, cohere, openai, jina, voyageai, and roboflow.

Use cases of Chroma

  1. LLM applications with memory: Store and retrieve contextual information for AI models.
  2. Shared knowledge bases: Organize and search through large datasets using vector and full-text search.
  3. Ephemeral testing: Quick setup for development and prototyping.
  4. Persistent data storage: Reliable storage for file-based applications.
  5. Cloud integration: Scalable and secure access to Chroma Cloud.
  6. Self-hosted solutions: Deploy Chroma on your own cloud infrastructure.

FAQ from Chroma

  • **How do I set up Chroma with persistent storage?

    Configure the client type as persistent and specify a data directory in your configuration or environment variables.

  • **Can I use Chroma with Chroma Cloud?

    Yes, use the cloud client type and provide your tenant ID, database name, and API key.

  • **What embedding functions does Chroma support?

    Chroma supports default, cohere, openai, jina, voyageai, and roboflow. Ensure the API key environment variables are set for external APIs.

  • **Is ChromaMCP compatible with older versions of Chroma?

    Embedding function persistence was introduced in Chroma v1.0.0. Collections created with version <=0.6.3 do not support this feature.

  • **How do I connect to a self-hosted Chroma instance?

    Use the http client type and provide the host, port, and custom authentication credentials in your configuration.