mcp-server-qdrant

Official
by qdrant

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

  1. qdrant-store
    • Speichern Sie einige Informationen in der Qdrant-Datenbank
    • Eingang:
      • information (Zeichenfolge): Zu speichernde Informationen
      • metadata (JSON): Optionale zu speichernde Metadaten
      • collection_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
  2. qdrant-find
    • Abrufen relevanter Informationen aus der Qdrant-Datenbank
    • Eingang:
      • query (Zeichenfolge): Für die Suche zu verwendende Abfrage
      • collection_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:

NameBeschreibungStandardwert
QDRANT_URLURL des Qdrant-ServersKeiner
QDRANT_API_KEYAPI-Schlüssel für den Qdrant-ServerKeiner
COLLECTION_NAMEName der zu verwendenden Standardsammlung.Keiner
QDRANT_LOCAL_PATHPfad zur lokalen Qdrant-Datenbank (alternativ zu QDRANT_URL )Keiner
EMBEDDING_PROVIDERZu verwendender Einbettungsanbieter (derzeit wird nur „fastembed“ unterstützt)fastembed
EMBEDDING_MODELName des zu verwendenden Einbettungsmodellssentence-transformers/all-MiniLM-L6-v2
TOOL_STORE_DESCRIPTIONBenutzerdefinierte Beschreibung für das Store-ToolSiehe Standard in settings.py
TOOL_FIND_DESCRIPTIONBenutzerdefinierte Beschreibung für das SuchtoolSiehe 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:

UmgebungsvariableBeschreibungStandardwert
FASTMCP_DEBUGDebug-Modus aktivierenfalse
FASTMCP_LOG_LEVELProtokollierungsebene festlegen (DEBUG, INFO, WARNUNG, FEHLER, KRITISCH)INFO
FASTMCP_HOSTHostadresse, an die der Server gebunden werden soll0.0.0.0
FASTMCP_PORTPort, auf dem der Server ausgeführt wird8000
FASTMCP_WARN_ON_DUPLICATE_RESOURCESWarnungen für doppelte Ressourcen anzeigentrue
FASTMCP_WARN_ON_DUPLICATE_TOOLSWarnungen für doppelte Tools anzeigentrue
FASTMCP_WARN_ON_DUPLICATE_PROMPTSWarnungen für doppelte Eingabeaufforderungen anzeigentrue
FASTMCP_DEPENDENCIESListe 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.

QDRANT_URL="http://localhost:6333" \ COLLECTION_NAME="my-collection" \ EMBEDDING_MODEL="sentence-transformers/all-MiniLM-L6-v2" \ uvx mcp-server-qdrant
Transportprotokolle

Der Server unterstützt verschiedene Transportprotokolle, die mit dem Flag --transport angegeben werden können:

QDRANT_URL="http://localhost:6333" \ COLLECTION_NAME="my-collection" \ uvx mcp-server-qdrant --transport sse

Unterstützte Transportprotokolle:

  • stdio (Standard): Standard-Eingabe-/Ausgabetransport, wird möglicherweise nur von lokalen MCP-Clients verwendet
  • sse : 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.

QDRANT_URL="http://localhost:6333" \ COLLECTION_NAME="my-collection" \ FASTMCP_PORT=1234 \ uvx mcp-server-qdrant --transport sse

Verwenden von Docker

Zum Erstellen und Ausführen des MCP-Servers steht ein Dockerfile zur Verfügung:

# Build the container docker build -t mcp-server-qdrant . # Run the container docker run -p 8000:8000 \ -e QDRANT_URL="http://your-qdrant-server:6333" \ -e QDRANT_API_KEY="your-api-key" \ -e COLLECTION_NAME="your-collection" \ mcp-server-qdrant

Installation über Smithery

So installieren Sie den Qdrant MCP-Server für Claude Desktop automatisch über Smithery :

npx @smithery/cli install mcp-server-qdrant --client claude

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:

{ "qdrant": { "command": "uvx", "args": ["mcp-server-qdrant"], "env": { "QDRANT_URL": "https://xyz-example.eu-central.aws.cloud.qdrant.io:6333", "QDRANT_API_KEY": "your_api_key", "COLLECTION_NAME": "your-collection-name", "EMBEDDING_MODEL": "sentence-transformers/all-MiniLM-L6-v2" } } }

Für den lokalen Qdrant-Modus:

{ "qdrant": { "command": "uvx", "args": ["mcp-server-qdrant"], "env": { "QDRANT_LOCAL_PATH": "/path/to/qdrant/database", "COLLECTION_NAME": "your-collection-name", "EMBEDDING_MODEL": "sentence-transformers/all-MiniLM-L6-v2" } } }

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:

QDRANT_URL="http://localhost:6333" \ COLLECTION_NAME="code-snippets" \ TOOL_STORE_DESCRIPTION="Store reusable code snippets for later retrieval. \ The 'information' parameter should contain a natural language description of what the code does, \ while the actual code should be included in the 'metadata' parameter as a 'code' property. \ The value of 'metadata' is a Python dictionary with strings as keys. \ Use this whenever you generate some code snippet." \ TOOL_FIND_DESCRIPTION="Search for relevant code snippets based on natural language descriptions. \ The 'query' parameter should describe what you're looking for, \ and the tool will return the most relevant code snippets. \ Use this when you need to find existing code snippets for reuse or reference." \ uvx mcp-server-qdrant --transport sse # Enable SSE transport

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:

http://localhost:8000/sse

[!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:

  1. Speichern Sie Codeausschnitte, Dokumentation und Implementierungsdetails
  2. Abrufen relevanter Codebeispiele basierend auf der semantischen Suche
  3. 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
  1. Fügen Sie den MCP-Server zu Claude Code hinzu:
    # Add mcp-server-qdrant configured for code search claude mcp add code-search \ -e QDRANT_URL="http://localhost:6333" \ -e COLLECTION_NAME="code-repository" \ -e EMBEDDING_MODEL="sentence-transformers/all-MiniLM-L6-v2" \ -e TOOL_STORE_DESCRIPTION="Store code snippets with descriptions. The 'information' parameter should contain a natural language description of what the code does, while the actual code should be included in the 'metadata' parameter as a 'code' property." \ -e TOOL_FIND_DESCRIPTION="Search for relevant code snippets using natural language. The 'query' parameter should describe the functionality you're looking for." \ -- uvx mcp-server-qdrant
  2. Überprüfen Sie, ob der Server hinzugefügt wurde:
    claude mcp list
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:

  1. Verwenden Sie das Tool qdrant-store , um Codeausschnitte mit Beschreibungen zu speichern.
  2. 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.

COLLECTION_NAME=mcp-dev mcp dev src/mcp_server_qdrant/server.py

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.

{ "mcp": { "inputs": [ { "type": "promptString", "id": "qdrantUrl", "description": "Qdrant URL" }, { "type": "promptString", "id": "qdrantApiKey", "description": "Qdrant API Key", "password": true }, { "type": "promptString", "id": "collectionName", "description": "Collection Name" } ], "servers": { "qdrant": { "command": "uvx", "args": ["mcp-server-qdrant"], "env": { "QDRANT_URL": "${input:qdrantUrl}", "QDRANT_API_KEY": "${input:qdrantApiKey}", "COLLECTION_NAME": "${input:collectionName}" } } } } }

Oder wenn Sie Docker bevorzugen, fügen Sie stattdessen diese Konfiguration hinzu:

{ "mcp": { "inputs": [ { "type": "promptString", "id": "qdrantUrl", "description": "Qdrant URL" }, { "type": "promptString", "id": "qdrantApiKey", "description": "Qdrant API Key", "password": true }, { "type": "promptString", "id": "collectionName", "description": "Collection Name" } ], "servers": { "qdrant": { "command": "docker", "args": [ "run", "-p", "8000:8000", "-i", "--rm", "-e", "QDRANT_URL", "-e", "QDRANT_API_KEY", "-e", "COLLECTION_NAME", "mcp-server-qdrant" ], "env": { "QDRANT_URL": "${input:qdrantUrl}", "QDRANT_API_KEY": "${input:qdrantApiKey}", "COLLECTION_NAME": "${input:collectionName}" } } } } }

Alternativ können Sie in Ihrem Arbeitsbereich eine .vscode/mcp.json -Datei mit folgendem Inhalt erstellen:

{ "inputs": [ { "type": "promptString", "id": "qdrantUrl", "description": "Qdrant URL" }, { "type": "promptString", "id": "qdrantApiKey", "description": "Qdrant API Key", "password": true }, { "type": "promptString", "id": "collectionName", "description": "Collection Name" } ], "servers": { "qdrant": { "command": "uvx", "args": ["mcp-server-qdrant"], "env": { "QDRANT_URL": "${input:qdrantUrl}", "QDRANT_API_KEY": "${input:qdrantApiKey}", "COLLECTION_NAME": "${input:collectionName}" } } } }

Verwenden Sie für die Arbeitsbereichskonfiguration mit Docker Folgendes in .vscode/mcp.json :

{ "inputs": [ { "type": "promptString", "id": "qdrantUrl", "description": "Qdrant URL" }, { "type": "promptString", "id": "qdrantApiKey", "description": "Qdrant API Key", "password": true }, { "type": "promptString", "id": "collectionName", "description": "Collection Name" } ], "servers": { "qdrant": { "command": "docker", "args": [ "run", "-p", "8000:8000", "-i", "--rm", "-e", "QDRANT_URL", "-e", "QDRANT_API_KEY", "-e", "COLLECTION_NAME", "mcp-server-qdrant" ], "env": { "QDRANT_URL": "${input:qdrantUrl}", "QDRANT_API_KEY": "${input:qdrantApiKey}", "COLLECTION_NAME": "${input:collectionName}" } } } }

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.

QDRANT_URL=":memory:" COLLECTION_NAME="test" \ mcp dev src/mcp_server_qdrant/server.py

Ö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.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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.

  1. Überblick
    1. Komponenten
      1. Werkzeuge
    2. Umgebungsvariablen
      1. FastMCP-Umgebungsvariablen
    3. Installation
      1. Verwendung von uvx
      2. Verwenden von Docker
      3. Installation über Smithery
      4. Manuelle Konfiguration von Claude Desktop
    4. Unterstützung für andere Tools
      1. Verwendung mit Cursor/Windsurf
      2. Verwendung mit Claude Code
      3. Führen Sie den MCP-Server im Entwicklungsmodus aus
      4. Verwendung mit VS Code
    5. Beitragen
      1. Lokales Testen mcp-server-qdrant
    6. Lizenz

      Related MCP Servers

      • -
        security
        A
        license
        -
        quality
        A 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 -
        14
        74
        JavaScript
        Apache 2.0
        • Apple
      • -
        security
        F
        license
        -
        quality
        Facilitates 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 -
        33
        4
        TypeScript
        • Linux
        • Apple
      • -
        security
        A
        license
        -
        quality
        MCP server for using various search tools like Tavily API. Planning to support various search tools (i.e. wiki search, searxng, etc)
        Last updated -
        1
        Python
        MIT License
        • Apple
        • Linux

      View all related MCP servers

      MCP directory API

      We provide all the information about MCP servers via our MCP API.

      curl -X GET 'https://glama.ai/api/mcp/v1/servers/qdrant/mcp-server-qdrant'

      If you have feedback or need assistance with the MCP directory API, please join our Discord server