Chroma
oficialIncorporação, busca vetorial, armazenamento de documentos e busca em texto completo com o banco de dados de aplicações de IA de código aberto
O que você pode fazer com Chroma MCP?
- Listar e navegar por coleções — Use
chroma_list_collectionspara percorrer as coleções disponíveis echroma_peek_collectionpara visualizar amostras de documentos dentro de uma. - Criar uma coleção com um modelo de embedding escolhido — Execute
chroma_create_collectionpara configurar uma nova coleção usando embeddingsdefault,openai,cohere,jina,voyageaiouroboflow. - Adicionar documentos com metadados — Insira texto via
chroma_add_documents, opcionalmente anexando metadados e IDs personalizados para filtragem posterior. - Pesquisar por significado ou palavras-chave — Consulte com
chroma_query_documentspara busca vetorial semântica ou use a busca de texto completo para encontrar documentos relevantes. - Filtrar e recuperar documentos específicos — Obtenha documentos por ID ou filtro de metadados usando
chroma_get_documents, com suporte a paginação. - Atualizar ou excluir documentos — Modifique o conteúdo, metadados ou embeddings dos documentos com
chroma_update_documents, ou remova-os viachroma_delete_documents.
Documentação
Chroma - o banco de dados de embeddings de código aberto.
A maneira mais rápida de criar aplicativos LLM em Python ou JavaScript com memória!
|
|
Documentação
|
Página Inicial
Servidor MCP Chroma
O Model Context Protocol (MCP) é um protocolo aberto projetado para integração simplificada entre aplicações LLM e fontes de dados ou ferramentas externas, oferecendo uma estrutura padronizada para fornecer aos LLMs o contexto de que precisam de forma contínua.
Este servidor fornece capacidades de recuperação de dados com tecnologia Chroma, permitindo que modelos de IA criem coleções a partir de dados gerados e entradas do usuário, e recuperem esses dados usando busca vetorial, busca de texto completo, filtragem de metadados e muito mais.
Este é um servidor MCP para auto-hospedar seu acesso ao Chroma. Se você está procurando por Pesquisa de Pacotes, você pode encontrar o repositório para isso aqui.
Funcionalidades
-
Tipos de Cliente Flexíveis
- Efêmero (em memória) para testes e desenvolvimento
- Persistente para armazenamento baseado em arquivo
- Cliente HTTP para instâncias Chroma auto-hospedadas
- Cliente Cloud para integração com Chroma Cloud (conecta-se automaticamente a api.trychroma.com)
-
Gerenciamento de Coleções
- Criar, modificar e excluir coleções
- Listar todas as coleções com suporte a paginação
- Obter informações e estatísticas da coleção
- Configurar parâmetros HNSW para busca vetorial otimizada
- Selecionar funções de embedding ao criar coleções
-
Operações com Documentos
- Adicionar documentos com metadados opcionais e IDs personalizados
- Consultar documentos usando busca semântica
- Filtragem avançada usando metadados e conteúdo do documento
- Recuperar documentos por IDs ou filtros
- Capacidades de busca de texto completo
Ferramentas Suportadas
chroma_list_collections- Listar todas as coleções com suporte a paginaçãochroma_create_collection- Criar uma nova coleção com configuração HNSW opcionalchroma_peek_collection- Visualizar uma amostra de documentos em uma coleçãochroma_get_collection_info- Obter informações detalhadas sobre uma coleçãochroma_get_collection_count- Obter o número de documentos em uma coleçãochroma_modify_collection- Atualizar o nome ou metadados de uma coleçãochroma_delete_collection- Excluir uma coleçãochroma_add_documents- Adicionar documentos com metadados opcionais e IDs personalizadoschroma_query_documents- Consultar documentos usando busca semântica com filtragem avançadachroma_get_documents- Recuperar documentos por IDs ou filtros com paginaçãochroma_update_documents- Atualizar conteúdo, metadados ou embeddings de documentos existenteschroma_delete_documents- Excluir documentos específicos de uma coleção
Funções de Embedding
O Chroma MCP suporta várias funções de embedding: default, cohere, openai, jina, voyageai e roboflow.
As funções de embedding utilizam a configuração de coleção do Chroma, que persiste a função de embedding selecionada de uma coleção para recuperação. Uma vez que uma coleção é criada usando a configuração de coleção, na recuperação para consultas e inserções futuras, a mesma função de embedding será usada, sem necessidade de especificar a função de embedding novamente. A persistência da função de embedding foi adicionada na v1.0.0 do Chroma, portanto, se você criou uma coleção usando a versão <=0.6.3, este recurso não é suportado.
Ao acessar funções de embedding que utilizam APIs externas, certifique-se de adicionar a variável de ambiente para a chave de API com o formato correto, encontrado em Variáveis de Ambiente da Função de Embedding
Uso com Claude Desktop
- Para adicionar um cliente efêmero, adicione o seguinte ao seu arquivo
claude_desktop_config.json:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp"
]
}
- Para adicionar um cliente persistente, adicione o seguinte ao seu arquivo
claude_desktop_config.json:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type",
"persistent",
"--data-dir",
"/full/path/to/your/data/directory"
]
}
Isso criará um cliente persistente que usará o diretório de dados especificado.
- Para conectar ao Chroma Cloud, adicione o seguinte ao seu arquivo
claude_desktop_config.json:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type",
"cloud",
"--tenant",
"your-tenant-id",
"--database",
"your-database-name",
"--api-key",
"your-api-key"
]
}
Isso criará um cliente cloud que se conecta automaticamente a api.trychroma.com usando SSL.
Nota: Adicionar chaves de API nos argumentos é adequado em dispositivos locais, mas por segurança, você também pode especificar um caminho personalizado para o seu arquivo de configuração de ambiente usando o argumento --dotenv-path dentro da lista args, por exemplo: "args": ["chroma-mcp", "--dotenv-path", "/custom/path/.env"].
- Para conectar a uma [instância Chroma auto-hospedada no seu próprio provedor de nuvem](https://docs.trychroma.com/
production/deployment), adicione o seguinte ao seu arquivo
claude_desktop_config.json:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type",
"http",
"--host",
"your-host",
"--port",
"your-port",
"--custom-auth-credentials",
"your-custom-auth-credentials",
"--ssl",
"true"
]
}
Isso criará um cliente HTTP que se conecta à sua instância Chroma auto-hospedada.
Demonstrações
Encontre usos de referência, como bases de conhecimento compartilhadas e adição de memória a janelas de contexto na Documentação do Chroma MCP
Usando Variáveis de Ambiente
Você também pode usar variáveis de ambiente para configurar o cliente. O servidor carregará automaticamente as variáveis de um arquivo .env localizado no caminho especificado por --dotenv-path (o padrão é .chroma_env no diretório de trabalho) ou das variáveis de ambiente do sistema. Argumentos de linha de comando têm precedência sobre variáveis de ambiente.
# 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"
Variáveis de Ambiente da Função de Embedding
Ao usar funções de embedding externas que acessam uma chave de API, siga a convenção de nomenclatura
CHROMA_<>_API_KEY="<key>".
Portanto, para definir uma chave de API Cohere, defina a variável de ambiente CHROMA_COHERE_API_KEY="". Recomendamos adicionar isso a um arquivo .env em algum lugar e usar a variável de ambiente CHROMA_DOTENV_PATH ou a flag --dotenv-path para definir esse local para guarda segura.
