Chroma MCP est une implémentation serveur basée sur le Protocole de Contexte de Modèle (Model Context Protocol, MCP), spécialement conçue pour fournir des fonctionnalités de base de données robustes à la base de données vectorielle Chroma. En tant qu'extension de la base de données embarquée open source Chroma, elle offre des capacités standardisées de récupération et de gestion des données pour les applications LLM.
Le Protocole de Contexte de Modèle est un protocole ouvert visant à réaliser une intégration transparente entre les applications LLM et les sources de données ou outils externes, fournissant aux modèles d'IA les informations de contexte nécessaires. Chroma MCP est basé sur ce protocole, permettant aux modèles d'IA de créer facilement des collections de données, de stocker les entrées utilisateur et les données générées, et de récupérer ces données via diverses méthodes de recherche.
Chroma MCP prend en charge plusieurs configurations de clients, répondant aux besoins de différents scénarios :
Fournit une gestion complète du cycle de vie des collections :
Fonctionnalités complètes de gestion et de manipulation des documents :
Chroma MCP prend en charge plusieurs fonctions d'embedding, offrant un choix pour différents cas d'utilisation :
Fournit un ensemble complet d'outils API :
chroma_list_collections
: Liste paginée des collections.chroma_create_collection
: Crée une nouvelle collection avec une configuration HNSW optionnelle.chroma_peek_collection
: Affiche un échantillon de documents dans une collection.chroma_get_collection_info
: Obtient des informations détaillées sur une collection.chroma_get_collection_count
: Obtient le nombre de documents dans une collection.chroma_modify_collection
: Met à jour le nom ou les métadonnées d'une collection.chroma_delete_collection
: Supprime une collection.chroma_add_documents
: Ajoute des documents avec des métadonnées et des ID personnalisés.chroma_query_documents
: Interroge les documents en utilisant la recherche sémantique et le filtrage avancé.chroma_get_documents
: Récupère les documents par ID ou par filtre.chroma_update_documents
: Met à jour le contenu, les métadonnées ou l'embedding des documents.chroma_delete_documents
: Supprime des documents spécifiques.Configuration du Client en Mémoire :
"chroma": {
"command": "uvx",
"args": ["chroma-mcp"]
}
Configuration du Client Persistant :
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type", "persistent",
"--data-dir", "/chemin/complet/vers/votre/repertoire/de/donnees"
]
}
Configuration du Client Cloud :
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type", "cloud",
"--tenant", "votre-id-de-tenant",
"--database", "votre-nom-de-base-de-donnees",
"--api-key", "votre-cle-api"
]
}
Configuration du Client HTTP :
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type", "http",
"--host", "votre-hote",
"--port", "votre-port",
"--custom-auth-credentials", "vos-identifiants-d-authentification-personnalises",
"--ssl", "true"
]
}
Prend en charge la configuration via des variables d'environnement, offrant des options de déploiement plus flexibles :
# Variables générales
export CHROMA_CLIENT_TYPE="http"
export CHROMA_DATA_DIR="/chemin/complet/vers/votre/repertoire/de/donnees"
# Configuration du client Cloud
export CHROMA_TENANT="votre-id-de-tenant"
export CHROMA_DATABASE="votre-nom-de-base-de-donnees"
export CHROMA_API_KEY="votre-cle-api"
# Configuration du client HTTP
export CHROMA_HOST="votre-hote"
export CHROMA_PORT="votre-port"
export CHROMA_SSL="true"
# Clés API des fonctions d'embedding
export CHROMA_COHERE_API_KEY="votre-cle-cohere"
export CHROMA_OPENAI_API_KEY="votre-cle-openai"
À partir de Chroma v1.0.0, la fonctionnalité de persistance des fonctions d'embedding est prise en charge. Une fois qu'une collection est créée avec une fonction d'embedding spécifique, cette configuration est persistée, et les requêtes et insertions ultérieures utiliseront automatiquement la même fonction d'embedding, sans qu'il soit nécessaire de la spécifier à nouveau.
Pour des raisons de sécurité, il est recommandé d'utiliser le paramètre --dotenv-path
pour spécifier le chemin d'accès au fichier de configuration d'environnement, afin d'éviter d'exposer directement les clés API dans les paramètres de la ligne de commande.
Construire une base de connaissances partagée pour une équipe ou une organisation, prenant en charge la récupération intelligente et la découverte de connaissances.
Ajouter une capacité de mémoire à long terme aux applications LLM, étendant les limites de la fenêtre de contexte.
Construire un système de questions-réponses intelligent basé sur une bibliothèque de documents, prenant en charge la recherche sémantique et la récupération précise.
Créer un système de gestion des connaissances personnelles, prenant en charge le stockage de données multimodales et la récupération intelligente.
Chroma MCP est une implémentation de serveur de base de données vectorielle puissante et flexible, qui combine les capacités robustes de Chroma avec les avantages de la standardisation du protocole de contexte de modèle. En offrant plusieurs types de clients, des fonctionnalités riches de manipulation de documents et des options de configuration flexibles, elle fournit aux développeurs une infrastructure de données solide pour la construction d'applications d'IA intelligentes.
Que ce soit pour un client en mémoire pour le développement de prototypes, ou pour une intégration de services cloud pour un environnement de production, Chroma MCP peut fournir une expérience API cohérente et des capacités de récupération de données hautes performances. Sa prise en charge de plusieurs fonctions d'embedding et ses fonctionnalités de recherche avancées en font un choix idéal pour la construction d'applications d'IA modernes.
La nature open source du projet et le soutien actif de la communauté assurent son développement et son amélioration continus. Pour les développeurs qui souhaitent intégrer de puissantes capacités de récupération de données dans leurs applications LLM, Chroma MCP est sans aucun doute une excellente solution à considérer.