Detaillierte Beschreibung des Projekts mcp-server-milvus
Projektübersicht
mcp-server-milvus ist ein Open-Source-Projekt, das von Zilliz Tech entwickelt wurde und eine Model Context Protocol (MCP)-Serverimplementierung für die Milvus-Vektordatenbank bereitstellt. Das Projekt ermöglicht es LLM-Anwendungen, die Funktionen der Milvus-Vektordatenbank nahtlos über ein standardisiertes Protokoll zu integrieren und darauf zuzugreifen.
Kernfunktionsmerkmale
Unterstützte Operationstools
Der MCP-Server bietet die folgenden Kernwerkzeuge:
-
milvus_text_search: Durchsucht Dokumente mit der Volltextsuchfunktion- Parameter: collection_name, query_text, limit, output_fields, drop_ratio
-
milvus_vector_search: Führt eine Vektorähnlichkeitssuche in einer Collection durch- Parameter: collection_name, vector, vector_field, limit, output_fields, metric_type
-
milvus_query: Fragt eine Collection mit einem Filterausdruck ab- Parameter: collection_name, filter_expr, output_fields, limit
-
milvus_list_collections: Listet alle Collections in der Datenbank auf -
milvus_create_collection: Erstellt eine neue Collection mit dem angegebenen Schema- Parameter: collection_name, collection_schema, index_params
-
milvus_load_collection: Lädt eine Collection zur Suche und Abfrage in den Speicher- Parameter: collection_name, replica_number
-
milvus_release_collection: Gibt eine Collection aus dem Speicher frei- Parameter: collection_name
-
milvus_insert_data: Fügt Daten in eine Collection ein- Parameter: collection_name, data
-
milvus_delete_entities: Löscht Entitäten aus einer Collection basierend auf einem Filterausdruck- Parameter: collection_name, filter_expr
Systemanforderungen
- Python 3.10 oder höher
- Eine laufende Milvus-Instanz (lokal oder remote)
- uv-Tool (empfohlen für den Betrieb des Servers)
Installation und Konfiguration
Projekt klonen
git clone https://github.com/zilliztech/mcp-server-milvus.git
cd mcp-server-milvus
Server direkt ausführen
Die empfohlene Methode ist die direkte Ausführung des Servers mit uv, ohne Installation:
uv run src/mcp_server_milvus/server.py --milvus-uri http://localhost:19530
Oder durch Setzen von Umgebungsvariablen in einer .env-Datei:
uv run src/mcp_server_milvus/server.py
Unterstützte Client-Anwendungen
Der MCP-Server kann mit verschiedenen LLM-Anwendungen verwendet werden, die das Model Context Protocol unterstützen:
Claude Desktop Integration
- Installieren Sie Claude Desktop
- Konfigurieren Sie die Datei
claude_desktop_config.json:
{
"mcpServers": {
"milvus": {
"command": "/PATH/TO/uv",
"args": [
"--directory",
"/path/to/mcp-server-milvus/src/mcp_server_milvus",
"run",
"server.py",
"--milvus-uri",
"http://localhost:19530"
]
}
}
}
Cursor Editor Integration
Cursor unterstützt zwei Konfigurationsmethoden:
Methode 1: Konfiguration über die GUI
- Gehen Sie zu Cursor Settings > Features > MCP
- Klicken Sie auf die Schaltfläche "+ Add New MCP Server"
- Füllen Sie das Formular aus:
- Type: Wählen Sie
stdio - Name:
milvus - Command:
/PATH/TO/uv --directory /path/to/mcp-server-milvus/src/mcp_server_milvus run server.py --milvus-uri http://127.0.0.1:19530
- Type: Wählen Sie
Methode 2: Konfigurationsdatei
Erstellen Sie die Datei .cursor/mcp.json:
{
"mcpServers": {
"milvus": {
"command": "/PATH/TO/uv",
"args": [
"--directory",
"/path/to/mcp-server-milvus/src/mcp_server_milvus",
"run",
"server.py",
"--milvus-uri",
"http://127.0.0.1:19530"
]
}
}
}
Umgebungsvariablenkonfiguration
MILVUS_URI: Milvus Server URI (kann den Parameter --milvus-uri ersetzen)MILVUS_TOKEN: Optionales AuthentifizierungstokenMILVUS_DB: Datenbankname (Standard ist "default")
Anwendungsbeispiele
Verwendung in Claude Desktop
Benutzer können über natürliche Sprache mit der Milvus-Datenbank interagieren:
Abfrage der Collection-Liste:
What are the collections I have in my Milvus DB?
Dokumente suchen:
Find documents in my text_collection that mention "machine learning"
Verwendung in Cursor
Neue Collection erstellen:
Create a new collection called 'articles' in Milvus with fields for title (string), content (string), and a vector field (128 dimensions)
Fehlerbehebung
Verbindungsprobleme
- Stellen Sie sicher, dass die Milvus-Instanz ausgeführt wird
- Überprüfen Sie, ob die URI-Konfiguration korrekt ist
- Stellen Sie sicher, dass Firewall-Regeln die Verbindung nicht blockieren
- Versuchen Sie,
127.0.0.1anstelle vonlocalhostzu verwenden
Authentifizierungsprobleme
- Stellen Sie sicher, dass
MILVUS_TOKENkorrekt ist - Überprüfen Sie, ob die Milvus-Instanz eine Authentifizierung erfordert
- Stellen Sie sicher, dass Sie über die richtigen Berechtigungen zum Ausführen der Operation verfügen
Technische Architektur
Das Projekt basiert auf Python und verwendet eine moderne Entwicklungstoolkette:
- Verwendung von uv als Paketverwaltungs- und Ausführungstool
- Einhaltung der MCP-Standardprotokollspezifikation
- Bereitstellung einer vollständigen Kapselung der Milvus-Datenbankoperationen
- Unterstützung verschiedener KI-Anwendungsclients
Anwendungsfälle
Das Projekt eignet sich hauptsächlich für die folgenden Szenarien:
- KI-gestützte Erweiterung von Code-Editoren
- Kontextverbesserung von Chat-Oberflächen
- Erstellung benutzerdefinierter KI-Workflows
- Integration von Vektordatenbanken mit LLMs
- Semantische Suche und RAG-Anwendungen (Retrieval Augmented Generation)
Mit mcp-server-milvus können Entwickler die leistungsstarken Funktionen der Milvus-Vektordatenbank einfach in verschiedene KI-Anwendungen integrieren und Benutzern ein intelligenteres und genaueres Interaktionserlebnis bieten.