Home
Login

Eine Modellkontextprotokoll (MCP) Serverimplementierung, die Chroma Datenbankfunktionen bereitstellt und KI-Datenabruffähigkeiten wie Vektorsuche, Volltextsuche und Metadatenfilterung unterstützt.

Apache-2.0Python 200chroma-corechroma-mcp Last Updated: 2025-06-19

Chroma MCP - Modellkontextprotokoll-Server

Projektübersicht

Chroma MCP ist eine Serverimplementierung, die auf dem Modellkontextprotokoll (Model Context Protocol, MCP) basiert und speziell für die Bereitstellung leistungsstarker Datenbankfunktionen für die Chroma-Vektordatenbank entwickelt wurde. Als Erweiterung der Open-Source-Einbettungsdatenbank Chroma bietet sie standardisierte Datenabruf- und -verwaltungsfunktionen für LLM-Anwendungen.

Das Modellkontextprotokoll ist ein offenes Protokoll, das die nahtlose Integration von LLM-Anwendungen mit externen Datenquellen oder Tools ermöglichen soll, um KI-Modellen die erforderlichen Kontextinformationen bereitzustellen. Chroma MCP basiert auf diesem Protokoll und ermöglicht es KI-Modellen, auf einfache Weise Datensammlungen zu erstellen, Benutzereingaben und generierte Daten zu speichern und diese Daten über verschiedene Suchmethoden abzurufen.

Kernfunktionen und -merkmale

🔧 Flexible Client-Typen

Chroma MCP unterstützt verschiedene Client-Konfigurationen, um den Anforderungen unterschiedlicher Szenarien gerecht zu werden:

  • Speicherbasierter Client (Ephemeral): Geeignet für Test- und Entwicklungsumgebungen, Daten werden im Speicher gespeichert
  • Persistenter Client (Persistent): Dateibasierte Speichermethode, Daten werden lokal persistent gespeichert
  • HTTP-Client: Verbindung zu einer selbst gehosteten Chroma-Instanz
  • Cloud-Client (Cloud): Integration des Chroma Cloud-Dienstes, automatische Verbindung zu api.trychroma.com

📁 Sammlungsverwaltungsfunktionen

Bietet eine vollständige Lebenszyklusverwaltung für Sammlungen:

  • Erstellung und Konfiguration: Erstellen neuer Sammlungen und Konfigurieren von HNSW-Parametern zur Optimierung der Vektorsuche
  • Änderung und Löschung: Unterstützung für die Änderung von Sammlungsnamen und Metadaten sowie für die vollständige Löschung
  • Informationsabfrage: Abrufen detaillierter Sammlungsinformationen, Statistiken und Dokumentanzahl
  • Paginierte Liste: Unterstützung für paginierte Sammlungslistenfunktionen
  • Auswahl der Einbettungsfunktion: Auswahl verschiedener Einbettungsfunktionen beim Erstellen einer Sammlung

📄 Dokumentenbearbeitungsfunktionen

Umfassende Dokumentenverwaltung und -bearbeitungsfunktionen:

  • Dokumenten hinzufügen: Unterstützung für das Hinzufügen von Dokumenten mit optionalen Metadaten und benutzerdefinierten IDs
  • Semantische Abfrage: Verwenden der semantischen Suche zum Abfragen von Dokumenten, Unterstützung für erweiterte Filterung
  • Dokumentenabruf: Abrufen von Dokumenten anhand von ID oder Filter, Unterstützung für Paginierung
  • Dokumentenaktualisierung: Aktualisieren des Inhalts, der Metadaten oder der Einbettung vorhandener Dokumente
  • Dokumentenlöschung: Löschen bestimmter Dokumente aus einer Sammlung
  • Volltextsuche: Bereitstellung leistungsstarker Volltextsuchfunktionen
  • Erweiterte Filterung: Unterstützung für erweiterte Filterung basierend auf Metadaten und Dokumentinhalt

🤖 Vielfältige Unterstützung für Einbettungsfunktionen

Chroma MCP unterstützt verschiedene Einbettungsfunktionen und bietet eine Auswahl für verschiedene Anwendungsszenarien:

  • default: Standard-Einbettungsfunktion
  • cohere: Cohere-Einbettungsdienst
  • openai: OpenAI-Einbettungsdienst
  • jina: Jina AI-Einbettungsdienst
  • voyageai: Voyage AI-Einbettungsdienst
  • roboflow: Roboflow-Einbettungsdienst

🔍 Umfangreiche API-Tools

Bereitstellung eines vollständigen API-Toolsets:

  • chroma_list_collections: Paginierte Unterstützung für Sammlungslisten
  • chroma_create_collection: Erstellen einer neuen Sammlung mit optionaler HNSW-Konfiguration
  • chroma_peek_collection: Anzeigen von Dokumentbeispielen in einer Sammlung
  • chroma_get_collection_info: Abrufen detaillierter Sammlungsinformationen
  • chroma_get_collection_count: Abrufen der Anzahl der Dokumente in einer Sammlung
  • chroma_modify_collection: Aktualisieren des Sammlungsnamens oder der Metadaten
  • chroma_delete_collection: Löschen einer Sammlung
  • chroma_add_documents: Hinzufügen von Dokumenten mit Metadaten und benutzerdefinierten IDs
  • chroma_query_documents: Verwenden der semantischen Suche und erweiterten Filterung zum Abfragen von Dokumenten
  • chroma_get_documents: Abrufen von Dokumenten anhand von ID oder Filter
  • chroma_update_documents: Aktualisieren des Dokumentinhalts, der Metadaten oder der Einbettung
  • chroma_delete_documents: Löschen bestimmter Dokumente

Konfiguration und Bereitstellung

Claude Desktop Integrationskonfiguration

Speicherbasierte Client-Konfiguration:

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

Persistente Client-Konfiguration:

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

Cloud-Client-Konfiguration:

"chroma": {
  "command": "uvx",
  "args": [
    "chroma-mcp",
    "--client-type", "cloud",
    "--tenant", "your-tenant-id",
    "--database", "your-database-name",
    "--api-key", "your-api-key"
  ]
}

HTTP-Client-Konfiguration:

"chroma": {
  "command": "uvx",
  "args": [
    "chroma-mcp",
    "--client-type", "http",
    "--host", "your-host",
    "--port", "your-port",
    "--custom-auth-credentials", "your-custom-auth-credentials",
    "--ssl", "true"
  ]
}

Umgebungsvariablenkonfiguration

Unterstützung für die Konfiguration über Umgebungsvariablen, um flexiblere Bereitstellungsoptionen zu bieten:

# Allgemeine Variablen
export CHROMA_CLIENT_TYPE="http"
export CHROMA_DATA_DIR="/full/path/to/your/data/directory"

# Cloud-Client-Konfiguration
export CHROMA_TENANT="your-tenant-id"
export CHROMA_DATABASE="your-database-name"
export CHROMA_API_KEY="your-api-key"

# HTTP-Client-Konfiguration
export CHROMA_HOST="your-host"
export CHROMA_PORT="your-port"
export CHROMA_SSL="true"

# API-Schlüssel für Einbettungsfunktionen
export CHROMA_COHERE_API_KEY="your-cohere-key"
export CHROMA_OPENAI_API_KEY="your-openai-key"

Technische Merkmale

Persistierung von Einbettungsfunktionen

Ab Chroma v1.0.0 wird die Persistierung von Einbettungsfunktionen unterstützt. Sobald eine Sammlung mit einer bestimmten Einbettungsfunktion erstellt wurde, wird diese Konfiguration persistent gespeichert, und nachfolgende Abfrage- und Einfügeoperationen verwenden automatisch dieselbe Einbettungsfunktion, ohne dass diese wiederholt angegeben werden muss.

Sicherheitsüberlegungen

Aus Sicherheitsgründen wird empfohlen, den Pfad zur Umgebungskonfigurationsdatei mit dem Parameter --dotenv-path anzugeben, um zu vermeiden, dass API-Schlüssel direkt in Befehlszeilenparametern offengelegt werden.

Erweiterte Suchfunktionen

  • Vektorsuche: Vektorsuche basierend auf semantischer Ähnlichkeit
  • Volltextsuche: Traditionelle Textübereinstimmungssuche
  • Metadatenfilterung: Präzise Filterung basierend auf Dokumentmetadaten
  • Hybridsuche: Kombinierte Abfrage verschiedener Suchmethoden

Anwendungsfälle

Gemeinsame Wissensdatenbank

Aufbau einer gemeinsamen Wissensdatenbank für Teams oder Organisationen, die intelligente Suche und Wissensentdeckung unterstützt.

Kontextfensterspeicher

Hinzufügen von Langzeitgedächtnisfunktionen zu LLM-Anwendungen, um die Einschränkungen des Kontextfensters zu erweitern.

Dokumenten-Frage-Antwort-System

Aufbau eines intelligenten Frage-Antwort-Systems basierend auf einer Dokumentenbibliothek, das semantische Suche und präzisen Abruf unterstützt.

Persönliche Wissensverwaltung

Erstellung eines persönlichen Wissensverwaltungssystems, das multimodale Datenspeicherung und intelligente Suche unterstützt.

Projektzusammenfassung

Chroma MCP ist eine leistungsstarke und flexible Vektordatenbankserverimplementierung, die die Leistungsfähigkeit von Chroma mit den Standardisierungsvorteilen des Modellkontextprotokolls kombiniert. Durch die Bereitstellung verschiedener Client-Typen, umfangreicher Dokumentenbearbeitungsfunktionen und flexibler Konfigurationsoptionen bietet sie Entwicklern eine solide Dateninfrastruktur für den Aufbau intelligenter KI-Anwendungen.

Ob speicherbasierter Client für die Prototypenentwicklung oder Cloud-Service-Integration für Produktionsumgebungen, Chroma MCP bietet eine konsistente API-Erfahrung und eine leistungsstarke Datenabruffunktion. Die Unterstützung verschiedener Einbettungsfunktionen und erweiterter Suchfunktionen machen es zu einer idealen Wahl für den Aufbau moderner KI-Anwendungen.

Die Open-Source-Natur des Projekts und die aktive Community-Unterstützung gewährleisten seine kontinuierliche Weiterentwicklung und Verbesserung. Für Entwickler, die leistungsstarke Datenabruffunktionen in LLM-Anwendungen integrieren möchten, ist Chroma MCP zweifellos eine ausgezeichnete Lösung, die es wert ist, in Betracht gezogen zu werden.