Milvus MCP Server
Milvus MCP Server
Dieses Programm ist ein Milvus-Vektordatenbank-Zugangsdienst, der für große Sprachmodelle entwickelt wurde und dem Model Context Protocol (MCP) entspricht. Es kann als externes Vektordatenbank-Interaktionstool für große Sprachmodelle (wie Antigravity) dienen.
Unterstützt Milvus 2.6 Vektordatenbanken und verfügt über einen integrierten OpenAI-kompatiblen Embedding-Dienst (z. B. Tongyi Qianwen text-embedding-v4), sodass große Sprachmodelle direkt mit natürlicher Sprache semantische Suchen durchführen können.
💡 Funktions-Highlights
Vektorsuche: Unterstützt semantische Suche für Texteingaben (automatische Einbettung) sowie die Suche mit Rohvektoren.
Integrierte Einbettung: Integrierter OpenAI-kompatibler Endpunkt; vom Sprachmodell übergebener Text wird automatisch in Vektoren umgewandelt, ohne dass ein externer Embedding-Dienst erforderlich ist.
Collection-Lebenszyklusverwaltung: Erstellen, Anzeigen und Löschen von Collections; beim Erstellen werden automatisch Indizes erstellt und die Collection geladen.
Daten lesen/schreiben: Unterstützt das Einfügen von Vektordaten und das bedingte Löschen.
Verwaltung mehrerer Verbindungen: Über eine JSON-Konfigurationsdatei können mehrere benannte Verbindungen definiert werden, sodass eine MCP-Server-Instanz mehrere Milvus-Instanzen bedienen kann.
Sicherheitsdesign:
drop_collectionunddelete_entitiessind als eigenständige Tools in MCP-Clients separat aktivierbar/deaktivierbar;drop_collectionerfordert zusätzlich den ParameterconfirmDrop=trueals doppelte Absicherung.Hybride Suche: Unterstützt kombinierte Abfragen aus Vektorähnlichkeitssuche + skalarer Filterung.
Related MCP server: MCP Server MySQL
⚙️ Systemanforderungen
Node.js-Umgebung: Erfordert Node.js in der Version v18 oder höher.
Milvus-Instanz: Erfordert eine zugängliche Milvus 2.6-Dienstinstanz.
Embedding-API: Erfordert einen OpenAI-kompatiblen Embedding-Dienstendpunkt (z. B. die Bailian-Plattform von Tongyi Qianwen).
Abhängigkeiten: Auf dem Ausführungsrechner muss
npm install --omit=devausgeführt werden, um die Abhängigkeiten zu installieren.
🛠 Installation und Build
1. Build aus dem Quellcode
npm install
npm run buildDie Build-Artefakte werden im Verzeichnis ./dist gespeichert.
2. Globale lokale Installation
npm linkNach Abschluss der Ausführung kann der Dienst systemweit über den globalen Befehl milvus-mcp-server schnell aufgerufen werden.
📝 Konfigurationsdatei
Verwenden Sie eine JSON-Datei, um Milvus-Verbindungen und den Embedding-Dienst zu konfigurieren.
Beispiel für eine Konfigurationsdatei
{
"connections": [
{
"name": "my-milvus",
"address": "localhost:19530",
"username": "root",
"password": "Milvus",
"database": "default",
"description": "本地开发 Milvus 实例,存储文档和图片的向量索引"
}
],
"embedding": {
"baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"apiKey": "sk-your-api-key",
"model": "text-embedding-v4",
"dimensions": 1024
}
}Erläuterung der Verbindungsfelder
Feld | Typ | Erforderlich | Beschreibung |
| string | ✅ | Eindeutiger Identifikationsname der Verbindung |
| string | ✅ | Milvus-Dienstadresse, Format |
| string | ✅ | Benutzername |
| string | ✅ | Passwort |
| string | ❌ | Datenbankname, Standard ist |
| string | ❌ | Geschäftliche Beschreibung der Verbindung |
Erläuterung der Embedding-Felder
Feld | Typ | Erforderlich | Beschreibung |
| string | ✅ | OpenAI-kompatibler API-Endpunkt |
| string | ✅ | API-Key |
| string | ✅ | Modellname, z. B. |
| number | ✅ | Ausgabedimension des Vektors. text-embedding-v4 unterstützt: 2048, 1536, 1024, 768, 512, 256, 128, 64 |
🚀 Start und Verwendung
milvus-mcp-server --config <path-to-config.json>Parameterliste:
-c, --config <path>: Pfad zur Konfigurationsdatei (erforderlich).
🧠 Beispiel für die MCP-Client-Konfiguration
Am Beispiel eines regulären MCP-Clients (wie Antigravity):
{
"mcpServers": {
"MilvusMCP": {
"command": "node",
"args": [
"绝对路径/milvus_mcp_server/dist/index.js",
"--config", "绝对路径/milvus-config.json"
]
}
}
}🧰 Vom Modell aufrufbare Tools (Tools)
1. list_milvus_connections
Beschreibung: Listet alle konfigurierten Milvus-Verbindungsinformationen auf (maskiert, ohne Passwörter).
Parameter: Keine.
2. list_collections
Beschreibung: Listet alle Collections unter einer angegebenen Verbindung auf.
Parameter:
connectionName(String): Ziel-Verbindungsname.
3. describe_collection
Beschreibung: Ruft detaillierte Schema-Informationen der Collection ab, einschließlich Felddefinitionen, Indizes und Zeilenanzahl.
Parameter:
connectionName(String): Ziel-Verbindungsname.collectionName(String): Name der Collection.
4. create_collection
Beschreibung: Erstellt eine neue Collection. Erstellt automatisch einen AUTOINDEX für das Vektorfeld und lädt die Collection, damit sie sofort durchsuchbar ist.
Parameter:
connectionName(String): Ziel-Verbindungsname.collectionName(String): Name der neuen Collection.description(String, optional): Beschreibung der Collection.fields(Array): Array mit Felddefinitionen; jedes Element enthältname,dataType,isPrimaryKey?,autoId?,dimension?,maxLength?,description?.
5. drop_collection
Beschreibung: Löscht eine Collection und alle ihre Daten dauerhaft. Dies ist ein irreversibler Vorgang.
Parameter:
connectionName(String): Ziel-Verbindungsname.collectionName(String): Name der zu löschenden Collection.confirmDrop(Boolean): Muss auftruegesetzt werden, um das Löschen auszuführen. Sicherheitsmechanismus zur doppelten Bestätigung.
Schaltersteuerung: Dieses Tool kann im MCP-Client separat aktiviert oder deaktiviert werden.
6. insert_vectors
Beschreibung: Fügt Daten in eine Collection ein. Jeder Datensatz ist ein JSON-Objekt, das die Feldwerte enthält (einschließlich des Vektorfelds).
Parameter:
connectionName(String): Ziel-Verbindungsname.collectionName(String): Name der Ziel-Collection.data(Array): Daten-Array.
7. delete_entities
Beschreibung: Löscht Entitäten basierend auf einem Filterausdruck.
Parameter:
connectionName(String): Ziel-Verbindungsname.collectionName(String): Name der Ziel-Collection.filter(String): Milvus-Filterausdruck, z. B.'id in [1, 2, 3]'.
Schaltersteuerung: Dieses Tool kann im MCP-Client separat aktiviert oder deaktiviert werden.
8. vector_search
Beschreibung: Vektorähnlichkeitssuche. Unterstützt die Übergabe von Text (automatischer Aufruf des Embedding-Dienstes zur Vektorumwandlung) oder Rohvektoren.
Parameter:
connectionName(String): Ziel-Verbindungsname.collectionName(String): Name der Ziel-Collection.text(String, optional): Suchtext, alternativ zuvector.vector(Number[], optional): Roh-Suchvektor, alternativ zutext.topK(Number, optional): Anzahl der zurückgegebenen Ergebnisse, Standard ist 10.filter(String, optional): Skalarer Filterausdruck.outputFields(String[], optional): Liste der zurückzugebenden Felder.
9. query_entities
Beschreibung: Fragt Entitäten basierend auf skalaren Bedingungen ab, ohne Vektorsuche.
Parameter:
connectionName(String): Ziel-Verbindungsname.collectionName(String): Name der Ziel-Collection.filter(String): Milvus-Filterausdruck.outputFields(String[], optional): Liste der zurückzugebenden Felder.limit(Number, optional): Maximale Anzahl der zurückgegebenen Ergebnisse, Standard ist 100.
10. hybrid_search
Beschreibung: Kombinierte Abfrage aus Vektorsuche + skalarer Filterung. Der Unterschied zu
vector_searchbesteht darin, dassfilterein Pflichtparameter ist.Parameter:
connectionName(String): Ziel-Verbindungsname.collectionName(String): Name der Ziel-Collection.text(String, optional): Suchtext, alternativ zuvector.vector(Number[], optional): Roh-Suchvektor, alternativ zutext.filter(String): Erforderlich, skalarer Filterausdruck.topK(Number, optional): Anzahl der zurückgegebenen Ergebnisse, Standard ist 10.outputFields(String[], optional): Liste der zurückzugebenden Felder.
This server cannot be deployed
Maintenance
Related MCP Connectors
Ingest, manage, and retrieve documents for RAG-powered AI applications
Your AI Agent's Infrastructure Layer. Connect Claude, Copilot, Codex, or ChatGPT to 200+ managed open source services. Start databases, pipelines, and applications through natural language.
Ask data questions in natural language. Get SQL, insights, and charts from your databases.
Universal persistent memory and knowledge retrieval layer for AI agents and LLMs.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables semantic search and document management using a local Qdrant vector database with OpenAI embeddings. Supports natural language queries, metadata filtering, and collection management for AI-powered document retrieval.70 npm37MIT
- AlicenseAqualityCmaintenanceEnables LLMs to interact with MySQL databases through standardized protocol, supporting database management, table operations, data queries, and modifications with configurable permission controls.1548 npm1MIT

Zilliz MCP Serverofficial
AlicenseAqualityCmaintenanceEnables AI agents to interact with Milvus vector databases and Zilliz Cloud through natural language, allowing users to create clusters, manage collections, insert vector data, and perform semantic searches directly from their AI assistants.1633Apache 2.0- FlicenseNot gradedqualityDmaintenanceEnables LLMs to interact with Milvus vector database for search, query, and collection management operations.8-