Chroma Mcp Server

Criado porchroma-corechroma-core

Uma implementação de servidor do Protocolo de Contexto de Modelo (MCP) que fornece capacidades de banco de dados para Chroma

Visão geral

O que é o Chroma MCP?

Chroma MCP (Model Context Protocol) é uma implementação de servidor projetada para fornecer capacidades robustas de banco de dados para a estrutura Chroma. Ele serve como uma ponte entre várias fontes de dados e aplicações, permitindo uma gestão e recuperação de dados eficientes. O objetivo principal do Chroma MCP é melhorar a funcionalidade das aplicações, permitindo uma integração sem costura com bancos de dados, melhorando assim o manuseio e processamento de dados.

Recursos do Chroma MCP

  • Integração de Banco de Dados: O Chroma MCP suporta vários sistemas de banco de dados, permitindo que os desenvolvedores conectem e gerenciem dados de múltiplas fontes sem esforço.
  • Escalabilidade: Projetado para lidar com grandes volumes de dados, o Chroma MCP pode escalar de acordo com as necessidades da aplicação, garantindo que o desempenho permaneça ótimo mesmo sob cargas pesadas.
  • API Amigável: A API fornecida pelo Chroma MCP é intuitiva e fácil de usar, tornando-a acessível para desenvolvedores de todos os níveis de habilidade.
  • Código Aberto: O Chroma MCP é um projeto de código aberto, permitindo que os desenvolvedores contribuam, modifiquem e melhorem o software conforme necessário.
  • Suporte da Comunidade: Sendo parte do ecossistema Chroma, os usuários podem se beneficiar de uma comunidade vibrante que oferece suporte, recursos e conhecimento compartilhado.

Como Usar o Chroma MCP

  1. Instalação: Comece baixando o Chroma MCP do seu repositório oficial. Siga as instruções de instalação fornecidas na documentação.
  2. Configuração: Configure as definições do servidor para conectar ao seu banco de dados desejado. Isso inclui especificar credenciais de banco de dados e parâmetros de conexão.
  3. Integração da API: Utilize a API fornecida para interagir com o banco de dados. Isso inclui criar, ler, atualizar e excluir dados conforme necessário pela sua aplicação.
  4. Testes: Realize testes rigorosos para garantir que a integração funcione como esperado e que os dados estejam sendo manipulados corretamente.
  5. Implantação: Uma vez que os testes estejam completos, implante sua aplicação com o Chroma MCP integrado, garantindo que atenda aos seus requisitos de desempenho e escalabilidade.

Perguntas Frequentes

Quais bancos de dados são suportados pelo Chroma MCP?

O Chroma MCP suporta uma variedade de bancos de dados, incluindo sistemas SQL e NoSQL. Consulte a documentação oficial para uma lista completa de bancos de dados suportados.

O Chroma MCP é adequado para aplicações em larga escala?

Sim, o Chroma MCP é projetado para ser escalável e pode lidar com grandes volumes de dados, tornando-o adequado tanto para aplicações pequenas quanto em larga escala.

Como posso contribuir para o Chroma MCP?

Como um projeto de código aberto, contribuições são bem-vindas! Você pode contribuir relatando problemas, enviando pull requests ou melhorando a documentação.

Onde posso encontrar mais informações sobre o Chroma MCP?

Para mais detalhes, visite o repositório oficial do GitHub do Chroma MCP, onde você pode encontrar documentação, guias de instalação e discussões da comunidade.

Detalhe

<p align="center"> <a href="https://trychroma.com"><img src="https://user-images.githubusercontent.com/891664/227103090-6624bf7d-9524-4e05-9d2c-c28d5d451481.png" alt="Chroma logo"></a> </p> <p align="center"> <b>Chroma - the open-source embedding database</b>. <br /> The fastest way to build Python or JavaScript LLM apps with memory! </p> <p align="center"> <a href="https://discord.gg/MMeYNTmh3x" target="_blank"> <img src="https://img.shields.io/discord/1073293645303795742?cacheSeconds=3600" alt="Discord"> </a> | <a href="https://github.com/chroma-core/chroma/blob/master/LICENSE" target="_blank"> <img src="https://img.shields.io/static/v1?label=license&message=Apache 2.0&color=white" alt="License"> </a> | <a href="https://docs.trychroma.com/" target="_blank"> Docs </a> | <a href="https://www.trychroma.com/" target="_blank"> Homepage </a> </p>

Chroma MCP Server

smithery badge

The Model Context Protocol (MCP) is an open protocol designed for effortless integration between LLM applications and external data sources or tools, offering a standardized framework to seamlessly provide LLMs with the context they require.

This server provides data retrieval capabilities powered by Chroma, enabling AI models to create collections over generated data and user inputs, and retrieve that data using vector search, full text search, metadata filtering, and more.

Features

  • Flexible Client Types

    • Ephemeral (in-memory) for testing and development
    • Persistent for file-based storage
    • HTTP client for self-hosted Chroma instances
    • Cloud client for Chroma Cloud integration (automatically connects to api.trychroma.com)
  • Collection Management

    • Create, modify, and delete collections
    • List all collections with pagination support
    • Get collection information and statistics
    • Configure HNSW parameters for optimized vector search
    • Select embedding functions when creating collections
  • Document Operations

    • Add documents with optional metadata and custom IDs
    • Query documents using semantic search
    • Advanced filtering using metadata and document content
    • Retrieve documents by IDs or filters
    • Full text search capabilities

Supported Tools

  • chroma_list_collections - List all collections with pagination support
  • chroma_create_collection - Create a new collection with optional HNSW configuration
  • chroma_peek_collection - View a sample of documents in a collection
  • chroma_get_collection_info - Get detailed information about a collection
  • chroma_get_collection_count - Get the number of documents in a collection
  • chroma_modify_collection - Update a collection's name or metadata
  • chroma_delete_collection - Delete a collection
  • chroma_add_documents - Add documents with optional metadata and custom IDs
  • chroma_query_documents - Query documents using semantic search with advanced filtering
  • chroma_get_documents - Retrieve documents by IDs or filters with pagination
  • chroma_update_documents - Update existing documents' content, metadata, or embeddings
  • chroma_delete_documents - Delete specific documents from a collection

Embedding Functions

Chroma MCP supports several embedding functions: default, cohere, openai, jina, voyageai, and roboflow.

The embedding functions utilize Chroma's collection configuration, which persists the selected embedding function of a collection for retrieval. Once a collection is created using the collection configuration, on retrieval for future queries and inserts, the same embedding function will be used, without needing to specify the embedding function again. Embedding function persistance was added in v1.0.0 of Chroma, so if you created a collection using version <=0.6.3, this feature is not supported.

When accessing embedding functions that utilize external APIs, please be sure to add the environment variable for the API key with the correct format, found in Embedding Function Environment Variables

Usage with Claude Desktop

  1. To add an ephemeral client, add the following to your claude_desktop_config.json file:
"chroma": {
    "command": "uvx",
    "args": [
        "chroma-mcp"
    ]
}
  1. To add a persistent client, add the following to your claude_desktop_config.json file:
"chroma": {
    "command": "uvx",
    "args": [
        "chroma-mcp",
        "--client-type",
        "persistent",
        "--data-dir",
        "/full/path/to/your/data/directory"
    ]
}

This will create a persistent client that will use the data directory specified.

  1. To connect to Chroma Cloud, add the following to your claude_desktop_config.json file:
"chroma": {
    "command": "uvx",
    "args": [
        "chroma-mcp",
        "--client-type",
        "cloud",
        "--tenant",
        "your-tenant-id",
        "--database",
        "your-database-name",
        "--api-key",
        "your-api-key"
    ]
}

This will create a cloud client that automatically connects to api.trychroma.com using SSL.

Note: Adding API keys in arguments is fine on local devices, but for safety, you can also specify a custom path for your environment configuration file using the --dotenv-path argument within the args list, for example: "args": ["chroma-mcp", "--dotenv-path", "/custom/path/.env"].

  1. To connect to a [self-hosted Chroma instance on your own cloud provider](https://docs.trychroma.com/ production/deployment), add the following to your claude_desktop_config.json file:
"chroma": {
    "command": "uvx",
    "args": [
      "chroma-mcp", 
      "--client-type", 
      "http", 
      "--host", 
      "your-host", 
      "--port", 
      "your-port", 
      "--custom-auth-credentials",
      "your-custom-auth-credentials",
      "--ssl",
      "true"
    ]
}

This will create an HTTP client that connects to your self-hosted Chroma instance.

Demos

Find reference usages, such as shared knowledge bases & adding memory to context windows in the Chroma MCP Docs

Using Environment Variables

You can also use environment variables to configure the client. The server will automatically load variables from a .env file located at the path specified by --dotenv-path (defaults to .chroma_env in the working directory) or from system environment variables. Command-line arguments take precedence over environment variables.

### Common variables
export CHROMA_CLIENT_TYPE="http"  # or "cloud", "persistent", "ephemeral"

### For persistent client
export CHROMA_DATA_DIR="/full/path/to/your/data/directory"

### For cloud client (Chroma Cloud)
export CHROMA_TENANT="your-tenant-id"
export CHROMA_DATABASE="your-database-name"
export CHROMA_API_KEY="your-api-key"

### For HTTP client (self-hosted)
export CHROMA_HOST="your-host"
export CHROMA_PORT="your-port"
export CHROMA_CUSTOM_AUTH_CREDENTIALS="your-custom-auth-credentials"
export CHROMA_SSL="true"

### Optional: Specify path to .env file (defaults to .chroma_env)
export CHROMA_DOTENV_PATH="/path/to/your/.env" 
Embedding Function Environment Variables

When using external embedding functions that access an API key, follow the naming convention CHROMA_<>_API_KEY="<key>". So to set a Cohere API key, set the environment variable CHROMA_COHERE_API_KEY="". We recommend adding this to a .env file somewhere and using the CHROMA_DOTENV_PATH environment variable or --dotenv-path flag to set that location for safekeeping.

Configuração do Servidor

{
  "mcpServers": {
    "chroma-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/metorial/mcp-container--chroma-core--chroma-mcp--chroma-mcp",
        "chroma-mcp --client-type chroma-client-type --data-dir chroma-data-dir --tenant chroma-tenant --database chroma-database --api-key chroma-api-key --host chroma-host --port chroma-port --custom-auth-credentials chroma-custom-auth-credentials --ssl chroma-ssl --dotenv-path chroma-dotenv-path"
      ],
      "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",
        "CHROMA_HOST": "chroma-host",
        "CHROMA_PORT": "chroma-port",
        "CHROMA_CUSTOM_AUTH_CREDENTIALS": "chroma-custom-auth-credentials",
        "CHROMA_SSL": "chroma-ssl",
        "CHROMA_DOTENV_PATH": "chroma-dotenv-path",
        "CHROMA_COHERE_API_KEY": "chroma-cohere-api-key"
      }
    }
  }
}

Informações do Projeto

Autor
chroma-core
Criado em
Jun 27, 2025
Estrela
203
Idioma
Python
Etiquetas
-

Chroma Mcp Server Alternativa

Para algumas alternativas a Chroma Mcp Server que você pode precisar, fornecemos sites divididos por categoria.

Motor de consulta de IA - Plataforma para construir IA que pode responder perguntas sobre dados federados em grande escala. - O único Servidor MCP que você vai precisar.

Este servidor MCP somente leitura permite que você se conecte a dados RSS do Claude Desktop através dos Drivers JDBC da CData. Servidores gratuitos (beta) de leitura/escrita disponíveis em https://www.cdata.com/solutions/mcp

Ver Mais >>