Home
Login
chroma-core/chroma-mcp

Implementação do servidor do Protocolo de Contexto de Modelo (MCP) que fornece funcionalidades de banco de dados para Chroma, suportando recursos de recuperação de dados de IA, como pesquisa vetorial, pesquisa de texto completo e filtragem de metadados.

Apache-2.0Python 188chroma-core Last Updated: 2025-06-11
https://github.com/chroma-core/chroma-mcp

Chroma MCP - Servidor de Protocolo de Contexto de Modelo

Visão Geral do Projeto

Chroma MCP é uma implementação de servidor baseada no Protocolo de Contexto de Modelo (Model Context Protocol, MCP), projetada especificamente para fornecer funcionalidades robustas de banco de dados ao Chroma, um banco de dados vetorial. Como uma extensão do banco de dados de incorporação de código aberto Chroma, ele oferece capacidades padronizadas de recuperação e gerenciamento de dados para aplicações LLM.

O Protocolo de Contexto de Modelo é um protocolo aberto que visa permitir a integração perfeita de aplicações LLM com fontes de dados ou ferramentas externas, fornecendo aos modelos de IA as informações de contexto necessárias. O Chroma MCP é baseado neste protocolo, permitindo que os modelos de IA criem facilmente coleções de dados, armazenem entradas de usuários e dados gerados, e recuperem esses dados por meio de vários métodos de pesquisa.

Funcionalidades e Características Principais

🔧 Tipos de Cliente Flexíveis

O Chroma MCP suporta várias configurações de cliente, atendendo às necessidades de diferentes cenários:

  • Cliente em Memória (Ephemeral): Adequado para ambientes de teste e desenvolvimento, com dados armazenados na memória.
  • Cliente Persistente (Persistent): Baseado em armazenamento de arquivos, com dados persistidos localmente.
  • Cliente HTTP: Conecta-se a uma instância Chroma auto-hospedada.
  • Cliente Nuvem (Cloud): Integra-se ao serviço Chroma Cloud, conectando-se automaticamente a api.trychroma.com.

📁 Funcionalidades de Gerenciamento de Coleção

Fornece gerenciamento completo do ciclo de vida da coleção:

  • Criação e Configuração: Cria novas coleções e configura parâmetros HNSW para otimizar a pesquisa vetorial.
  • Modificação e Exclusão: Suporta modificação de nome e metadados da coleção, bem como exclusão completa.
  • Consulta de Informações: Obtém informações detalhadas da coleção, estatísticas e número de documentos.
  • Listagem Paginada: Suporta listagem paginada de coleções.
  • Seleção de Função de Incorporação: Permite selecionar diferentes funções de incorporação ao criar uma coleção.

📄 Capacidades de Operação de Documentos

Funcionalidades abrangentes de gerenciamento e operação de documentos:

  • Adição de Documentos: Suporta a adição de documentos com metadados opcionais e IDs personalizados.
  • Consulta Semântica: Usa pesquisa semântica para consultar documentos, com suporte para filtragem avançada.
  • Recuperação de Documentos: Recupera documentos por ID ou filtro, com suporte para paginação.
  • Atualização de Documentos: Atualiza o conteúdo, metadados ou incorporação de documentos existentes.
  • Exclusão de Documentos: Exclui documentos específicos de uma coleção.
  • Pesquisa de Texto Completo: Fornece poderosas capacidades de pesquisa de texto completo.
  • Filtragem Avançada: Suporta filtragem avançada baseada em metadados e conteúdo do documento.

🤖 Suporte a Diversas Funções de Incorporação

O Chroma MCP suporta várias funções de incorporação, oferecendo opções para diferentes cenários de aplicação:

  • default: Função de incorporação padrão.
  • cohere: Serviço de incorporação Cohere.
  • openai: Serviço de incorporação OpenAI.
  • jina: Serviço de incorporação Jina AI.
  • voyageai: Serviço de incorporação Voyage AI.
  • roboflow: Serviço de incorporação Roboflow.

🔍 Ferramentas de API Ricas

Fornece um conjunto completo de ferramentas de API:

  • chroma_list_collections: Listagem paginada de coleções.
  • chroma_create_collection: Cria uma nova coleção com configuração HNSW opcional.
  • chroma_peek_collection: Visualiza amostras de documentos em uma coleção.
  • chroma_get_collection_info: Obtém informações detalhadas da coleção.
  • chroma_get_collection_count: Obtém o número de documentos em uma coleção.
  • chroma_modify_collection: Atualiza o nome ou metadados da coleção.
  • chroma_delete_collection: Exclui uma coleção.
  • chroma_add_documents: Adiciona documentos com metadados e IDs personalizados.
  • chroma_query_documents: Consulta documentos usando pesquisa semântica e filtragem avançada.
  • chroma_get_documents: Recupera documentos por ID ou filtro.
  • chroma_update_documents: Atualiza o conteúdo, metadados ou incorporação de documentos.
  • chroma_delete_documents: Exclui documentos específicos.

Configuração e Implantação

Configuração de Integração com Claude Desktop

Configuração de Cliente em Memória:

"chroma": {
  "command": "uvx",
  "args": ["chroma-mcp"]
}

Configuração de Cliente Persistente:

"chroma": {
  "command": "uvx",
  "args": [
    "chroma-mcp",
    "--client-type", "persistent",
    "--data-dir", "/caminho/completo/para/seu/diretorio/de/dados"
  ]
}

Configuração de Cliente Nuvem:

"chroma": {
  "command": "uvx",
  "args": [
    "chroma-mcp",
    "--client-type", "cloud",
    "--tenant", "seu-id-de-tenant",
    "--database", "seu-nome-de-banco-de-dados",
    "--api-key", "sua-chave-de-api"
  ]
}

Configuração de Cliente HTTP:

"chroma": {
  "command": "uvx",
  "args": [
    "chroma-mcp",
    "--client-type", "http",
    "--host", "seu-host",
    "--port", "sua-porta",
    "--custom-auth-credentials", "suas-credenciais-de-autenticacao-personalizadas",
    "--ssl", "true"
  ]
}

Configuração de Variáveis de Ambiente

Suporta configuração por meio de variáveis de ambiente, oferecendo opções de implantação mais flexíveis:

# Variáveis Gerais
export CHROMA_CLIENT_TYPE="http"
export CHROMA_DATA_DIR="/caminho/completo/para/seu/diretorio/de/dados"

# Configuração de Cliente Nuvem
export CHROMA_TENANT="seu-id-de-tenant"
export CHROMA_DATABASE="seu-nome-de-banco-de-dados"
export CHROMA_API_KEY="sua-chave-de-api"

# Configuração de Cliente HTTP
export CHROMA_HOST="seu-host"
export CHROMA_PORT="sua-porta"
export CHROMA_SSL="true"

# Chaves de API da Função de Incorporação
export CHROMA_COHERE_API_KEY="sua-chave-cohere"
export CHROMA_OPENAI_API_KEY="sua-chave-openai"

Características Técnicas

Persistência da Função de Incorporação

A partir do Chroma v1.0.0, o recurso de persistência da função de incorporação é suportado. Depois que uma coleção é criada usando uma função de incorporação específica, essa configuração é persistida e as operações subsequentes de consulta e inserção usarão automaticamente a mesma função de incorporação, sem a necessidade de especificação repetida.

Considerações de Segurança

Por motivos de segurança, é recomendável usar o parâmetro --dotenv-path para especificar o caminho do arquivo de configuração de ambiente, evitando expor diretamente as chaves de API nos argumentos da linha de comando.

Capacidades de Pesquisa Avançada

  • Pesquisa Vetorial: Pesquisa vetorial baseada em similaridade semântica.
  • Pesquisa de Texto Completo: Pesquisa tradicional de correspondência de texto.
  • Filtragem de Metadados: Filtragem precisa baseada em metadados do documento.
  • Pesquisa Híbrida: Consulta composta que combina vários métodos de pesquisa.

Cenários de Aplicação

Base de Conhecimento Compartilhada

Construir uma base de conhecimento compartilhada para equipes ou organizações, suportando recuperação inteligente e descoberta de conhecimento.

Memória de Janela de Contexto

Adicionar capacidade de memória de longo prazo para aplicações LLM, estendendo as limitações da janela de contexto.

Sistema de Perguntas e Respostas Baseado em Documentos

Construir um sistema inteligente de perguntas e respostas baseado em uma biblioteca de documentos, suportando pesquisa semântica e recuperação precisa.

Gerenciamento de Conhecimento Pessoal

Criar um sistema de gerenciamento de conhecimento pessoal, suportando armazenamento de dados multimodais e recuperação inteligente.

Resumo do Projeto

Chroma MCP é uma implementação de servidor de banco de dados vetorial poderosa e flexível, que combina a capacidade do Chroma com as vantagens de padronização do Protocolo de Contexto de Modelo. Ao fornecer vários tipos de cliente, funcionalidades ricas de operação de documentos e opções de configuração flexíveis, ele fornece uma infraestrutura de dados sólida para desenvolvedores criarem aplicações de IA inteligentes.

Seja para o cliente em memória para desenvolvimento de protótipos ou para a integração de serviços em nuvem para ambientes de produção, o Chroma MCP pode fornecer uma experiência de API consistente e capacidade de recuperação de dados de alto desempenho. Seu suporte para várias funções de incorporação e recursos avançados de pesquisa o tornam uma escolha ideal para construir aplicações de IA modernas.

A natureza de código aberto do projeto e o suporte ativo da comunidade garantem seu desenvolvimento e aprimoramento contínuos. Para desenvolvedores que desejam integrar capacidades robustas de recuperação de dados em aplicações LLM, o Chroma MCP é, sem dúvida, uma excelente solução a ser considerada.