mcp-server-qdrant: Ein Qdrant MCP-Server
Das Model Context Protocol (MCP) ist ein offenes Protokoll, das die nahtlose Integration zwischen LLM-Anwendungen und externen Datenquellen und Tools ermöglicht. Ob Sie eine KI-gestützte IDE erstellen, eine Chat-Oberfläche optimieren oder benutzerdefinierte KI-Workflows erstellen – MCP bietet eine standardisierte Möglichkeit, LLMs mit dem benötigten Kontext zu verbinden.
Dieses Repository ist ein Beispiel für die Erstellung eines MCP-Servers für Qdrant , eine Vektorsuchmaschine.
Überblick
Ein offizieller Model Context Protocol-Server zum Speichern und Abrufen von Erinnerungen in der Qdrant-Vektorsuchmaschine. Er fungiert als semantische Speicherschicht über der Qdrant-Datenbank.
Komponenten
Werkzeuge
qdrant-store
- Speichern Sie einige Informationen in der Qdrant-Datenbank
- Eingang:
information
(Zeichenfolge): Zu speichernde Informationenmetadata
(JSON): Optionale zu speichernde Metadatencollection_name
(Zeichenfolge): Name der Sammlung, in der die Informationen gespeichert werden sollen. Dieses Feld ist erforderlich, wenn kein Standardsammlungsname vorhanden ist. Wenn ein Standardsammlungsname vorhanden ist, ist dieses Feld deaktiviert.
- Rücksendungen: Bestätigungsnachricht
qdrant-find
- Abrufen relevanter Informationen aus der Qdrant-Datenbank
- Eingang:
query
(Zeichenfolge): Für die Suche zu verwendende Abfragecollection_name
(Zeichenfolge): Name der Sammlung, in der die Informationen gespeichert werden sollen. Dieses Feld ist erforderlich, wenn kein Standardsammlungsname vorhanden ist. Wenn ein Standardsammlungsname vorhanden ist, ist dieses Feld deaktiviert.
- Rückgabe: Informationen, die in der Qdrant-Datenbank als separate Nachrichten gespeichert sind
Umgebungsvariablen
Die Konfiguration des Servers erfolgt über Umgebungsvariablen:
Name | Beschreibung | Standardwert |
---|---|---|
QDRANT_URL | URL des Qdrant-Servers | Keiner |
QDRANT_API_KEY | API-Schlüssel für den Qdrant-Server | Keiner |
COLLECTION_NAME | Name der zu verwendenden Standardsammlung. | Keiner |
QDRANT_LOCAL_PATH | Pfad zur lokalen Qdrant-Datenbank (alternativ zu QDRANT_URL ) | Keiner |
EMBEDDING_PROVIDER | Zu verwendender Einbettungsanbieter (derzeit wird nur „fastembed“ unterstützt) | fastembed |
EMBEDDING_MODEL | Name des zu verwendenden Einbettungsmodells | sentence-transformers/all-MiniLM-L6-v2 |
TOOL_STORE_DESCRIPTION | Benutzerdefinierte Beschreibung für das Store-Tool | Siehe Standard in settings.py |
TOOL_FIND_DESCRIPTION | Benutzerdefinierte Beschreibung für das Suchtool | Siehe Standard in settings.py |
Hinweis: Sie können QDRANT_URL
und QDRANT_LOCAL_PATH
nicht gleichzeitig angeben.
[!WICHTIG] Befehlszeilenargumente werden nicht mehr unterstützt! Verwenden Sie für die gesamte Konfiguration Umgebungsvariablen.
FastMCP-Umgebungsvariablen
Da mcp-server-qdrant
auf FastMCP basiert, unterstützt es auch alle FastMCP-Umgebungsvariablen. Die wichtigsten sind unten aufgeführt:
Umgebungsvariable | Beschreibung | Standardwert |
---|---|---|
FASTMCP_DEBUG | Debug-Modus aktivieren | false |
FASTMCP_LOG_LEVEL | Protokollierungsebene festlegen (DEBUG, INFO, WARNUNG, FEHLER, KRITISCH) | INFO |
FASTMCP_HOST | Hostadresse, an die der Server gebunden werden soll | 0.0.0.0 |
FASTMCP_PORT | Port, auf dem der Server ausgeführt wird | 8000 |
FASTMCP_WARN_ON_DUPLICATE_RESOURCES | Warnungen für doppelte Ressourcen anzeigen | true |
FASTMCP_WARN_ON_DUPLICATE_TOOLS | Warnungen für doppelte Tools anzeigen | true |
FASTMCP_WARN_ON_DUPLICATE_PROMPTS | Warnungen für doppelte Eingabeaufforderungen anzeigen | true |
FASTMCP_DEPENDENCIES | Liste der in der Serverumgebung zu installierenden Abhängigkeiten | [] |
Installation
Verwendung von uvx
Bei Verwendung von uvx
ist keine spezielle Installation erforderlich, um mcp-server-qdrant direkt auszuführen.
Transportprotokolle
Der Server unterstützt verschiedene Transportprotokolle, die mit dem Flag --transport
angegeben werden können:
Unterstützte Transportprotokolle:
stdio
(Standard): Standard-Eingabe-/Ausgabetransport, wird möglicherweise nur von lokalen MCP-Clients verwendetsse
: Server-Sent Events-Transport, perfekt für Remote-Clients
Wenn nichts anderes angegeben ist, ist der Standardtransport stdio
.
Bei Verwendung des SSE-Transports lauscht der Server am angegebenen Port und wartet auf eingehende Verbindungen. Der Standardport ist 8000, kann jedoch mit der Umgebungsvariable FASTMCP_PORT
geändert werden.
Verwenden von Docker
Zum Erstellen und Ausführen des MCP-Servers steht ein Dockerfile zur Verfügung:
Installation über Smithery
So installieren Sie den Qdrant MCP-Server für Claude Desktop automatisch über Smithery :
Manuelle Konfiguration von Claude Desktop
Um diesen Server mit der Claude Desktop-App zu verwenden, fügen Sie dem Abschnitt „mcpServers“ Ihrer claude_desktop_config.json
die folgende Konfiguration hinzu:
Für den lokalen Qdrant-Modus:
Dieser MCP-Server erstellt automatisch eine Sammlung mit dem angegebenen Namen, falls diese nicht vorhanden ist.
Standardmäßig verwendet der Server das Einbettungsmodell sentence-transformers/all-MiniLM-L6-v2
zur Kodierung von Erinnerungen. Derzeit werden nur FastEmbed -Modelle unterstützt.
Unterstützung für andere Tools
Dieser MCP-Server kann mit jedem MCP-kompatiblen Client verwendet werden. Beispielsweise können Sie ihn mit Cursor und VS Code verwenden, die integrierte Unterstützung für das Model Context Protocol bieten.
Verwendung mit Cursor/Windsurf
Sie können diesen MCP-Server so konfigurieren, dass er als Codesuchtool für Cursor oder Windsurf funktioniert, indem Sie die Toolbeschreibungen anpassen:
In Cursor/Windsurf können Sie den MCP-Server in Ihren Einstellungen konfigurieren, indem Sie mithilfe des SSE-Transportprotokolls auf diesen laufenden Server verweisen. Die Beschreibung zum Hinzufügen eines MCP-Servers zu Cursor finden Sie in der Cursor-Dokumentation . Wenn Sie Cursor/Windsurf lokal ausführen, können Sie die folgende URL verwenden:
[!TIP] Wir empfehlen SSE-Transport als bevorzugte Methode, um Cursor/Windsurf mit dem MCP-Server zu verbinden, da dieser Remoteverbindungen unterstützt. Dadurch können Sie den Server problemlos mit Ihrem Team teilen oder in einer Cloudumgebung verwenden.
Diese Konfiguration verwandelt den Qdrant MCP-Server in ein spezialisiertes Codesuchtool, das Folgendes kann:
- Speichern Sie Codeausschnitte, Dokumentation und Implementierungsdetails
- Abrufen relevanter Codebeispiele basierend auf der semantischen Suche
- Helfen Sie Entwicklern, spezifische Implementierungen oder Nutzungsmuster zu finden
Sie können die Datenbank füllen, indem Sie Beschreibungen von Codefragmenten in natürlicher Sprache (im Parameter information
“) zusammen mit dem eigentlichen Code (in der Eigenschaft metadata.code
“) speichern und dann mithilfe von Abfragen in natürlicher Sprache, die beschreiben, wonach Sie suchen, danach suchen.
[!NOTE] Die oben angegebenen Toolbeschreibungen dienen als Beispiele und müssen möglicherweise an Ihren spezifischen Anwendungsfall angepasst werden. Passen Sie die Beschreibungen gegebenenfalls an den Workflow Ihres Teams und die spezifischen Codeausschnitte an, die Sie speichern und abrufen möchten.
Wenn Sie den mcp-server-qdrant
erfolgreich installiert haben, ihn aber immer noch nicht mit Cursor zum Laufen bringen, sollten Sie Cursor-Regeln erstellen, damit die MCP-Tools immer verwendet werden, wenn der Agent einen neuen Codeausschnitt erstellt. Sie können die Regeln so einschränken, dass sie nur für bestimmte Dateitypen gelten, um die Verwendung des MCP-Servers für Dokumentationen oder andere Inhalte zu vermeiden.
Verwendung mit Claude Code
Sie können die Fähigkeiten von Claude Code erweitern, indem Sie es mit diesem MCP-Server verbinden und so die semantische Suche in Ihrer vorhandenen Codebasis ermöglichen.
Einrichten von mcp-server-qdrant
- Fügen Sie den MCP-Server zu Claude Code hinzu:
- Überprüfen Sie, ob der Server hinzugefügt wurde:
Verwenden der semantischen Codesuche in Claude Code
Die in TOOL_STORE_DESCRIPTION
und TOOL_FIND_DESCRIPTION
angegebenen Werkzeugbeschreibungen leiten Claude Code bei der Verwendung des MCP-Servers an. Die oben angegebenen Beschreibungen sind Beispiele und müssen möglicherweise an Ihren spezifischen Anwendungsfall angepasst werden. Claude Code sollte jedoch bereits in der Lage sein:
- Verwenden Sie das Tool
qdrant-store
, um Codeausschnitte mit Beschreibungen zu speichern. - Verwenden Sie das Tool
qdrant-find
um in natürlicher Sprache nach relevanten Codeausschnitten zu suchen.
Führen Sie den MCP-Server im Entwicklungsmodus aus
Der MCP-Server kann im Entwicklungsmodus mit dem Befehl mcp dev
ausgeführt werden. Dadurch wird der Server gestartet und der MCP-Inspektor in Ihrem Browser geöffnet.
Verwendung mit VS Code
Klicken Sie für die Ein-Klick-Installation auf eine der folgenden Installationsschaltflächen:
Manuelle Installation
Fügen Sie den folgenden JSON-Block zu Ihrer Benutzereinstellungsdatei (JSON) in VS Code hinzu. Drücken Sie dazu Ctrl + Shift + P
und geben Sie Preferences: Open User Settings (JSON)
ein.
Oder wenn Sie Docker bevorzugen, fügen Sie stattdessen diese Konfiguration hinzu:
Alternativ können Sie in Ihrem Arbeitsbereich eine .vscode/mcp.json
-Datei mit folgendem Inhalt erstellen:
Verwenden Sie für die Arbeitsbereichskonfiguration mit Docker Folgendes in .vscode/mcp.json
:
Beitragen
Wenn Sie Verbesserungsvorschläge für mcp-server-qdrant haben oder einen Fehler melden möchten, eröffnen Sie ein Issue! Wir freuen uns über jeden Beitrag.
Lokales Testen mcp-server-qdrant
Der MCP-Inspektor ist ein Entwicklertool zum Testen und Debuggen von MCP-Servern. Er führt sowohl eine Client-Benutzeroberfläche (Standardport 5173) als auch einen MCP-Proxyserver (Standardport 3000) aus. Öffnen Sie die Client-Benutzeroberfläche in Ihrem Browser, um den Inspektor zu verwenden.
Öffnen Sie nach dem Start Ihren Browser unter http://localhost:5173, um auf die Inspektorschnittstelle zuzugreifen.
Lizenz
Dieser MCP-Server ist unter der Apache-Lizenz 2.0 lizenziert. Das bedeutet, dass Sie die Software gemäß den Bedingungen der Apache-Lizenz 2.0 frei verwenden, ändern und weitergeben können. Weitere Informationen finden Sie in der Lizenzdatei im Projekt-Repository.
You must be authenticated.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Dieses Repository ist ein Beispiel für die Erstellung eines MCP-Servers für Qdrant, eine Vektorsuchmaschine.
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol (MCP) server that enables semantic search and retrieval of documentation using a vector database (Qdrant). This server allows you to add documentation from URLs or local files and then search through them using natural language queries.Last updated -1474JavaScriptApache 2.0
- AsecurityAlicenseAqualityMCP server for searching npm packagesLast updated -1477JavaScriptMIT License
- -securityFlicense-qualityFacilitates knowledge graph representation with semantic search using Qdrant, supporting OpenAI embeddings for semantic similarity and robust HTTPS integration with file-based graph persistence.Last updated -334TypeScript
- -securityAlicense-qualityMCP server for using various search tools like Tavily API. Planning to support various search tools (i.e. wiki search, searxng, etc)Last updated -1PythonMIT License