Qdrant MCP Server
Qdrant MCP-Server
Ein Model Context Protocol (MCP)-Server, der semantische Suchfunktionen unter Verwendung der Qdrant-Vektordatenbank mit mehreren Embedding-Anbietern bereitstellt.
Funktionen
Keine Einrichtung erforderlich: Funktioniert sofort mit Ollama – keine API-Schlüssel erforderlich
Datenschutz zuerst: Lokale Embeddings und Vektorspeicherung – Daten verlassen niemals Ihren Rechner
Code-Vektorisierung: Intelligente Codebasis-Indizierung mit AST-bewusstem Chunking und semantischer Codesuche
Git-Verlaufssuche: Indizieren Sie den Commit-Verlauf für die semantische Suche über vergangene Änderungen, Korrekturen und Muster
Erweiterte Suche: Kontextbezogene Suche (Code + Git mit Korrelationen) und föderierte Suche über mehrere Repositories hinweg
Mehrere Anbieter: Ollama (Standard), OpenAI, Cohere und Voyage AI
Hybride Suche: Kombinieren Sie semantische Suche und Stichwortsuche für bessere Ergebnisse
Semantische Suche: Natürlichsprachliche Suche mit Metadatenfilterung
Inkrementelle Indizierung: Effiziente Aktualisierungen – nur geänderte Dateien werden neu indiziert
Konfigurierbare Prompts: Erstellen Sie benutzerdefinierte Prompts für geführte Workflows ohne Codeänderungen
Ratenbegrenzung: Intelligente Drosselung mit exponentiellem Backoff
Vollständiges CRUD: Erstellen, suchen und verwalten Sie Sammlungen und Dokumente
Strukturierte Protokollierung: JSON-Protokollierung über Pino mit konfigurierbaren Protokollebenen
Flexible Bereitstellung: Lokal ausführen (stdio) oder als Remote-HTTP-Server
API-Schlüssel-Authentifizierung: Verbindung zu gesicherten Qdrant-Instanzen (Qdrant Cloud, selbst gehostet mit API-Schlüsseln)
Related MCP server: MCP Qdrant Server with OpenAI Embeddings
Schnellstart
Voraussetzungen
Node.js 22.x oder 24.x
Podman oder Docker mit Compose-Unterstützung
Installation
# Clone and install
git clone https://github.com/mhalder/qdrant-mcp-server.git
cd qdrant-mcp-server
# Node 22.x
npm install
# Node 24.x (requires C++20 flag for native module compilation)
CXXFLAGS='-std=c++20' npm install
# Start services (choose one)
podman compose up -d # Using Podman
docker compose up -d # Using Docker
# Pull the embedding model
podman exec ollama ollama pull nomic-embed-text # Podman
docker exec ollama ollama pull nomic-embed-text # Docker
# Build
npm run buildKonfiguration
Lokale Einrichtung (stdio-Transport)
claude mcp add --transport stdio qdrant -- node /path/to/qdrant-mcp-server/build/index.jsOder fügen Sie es zu ~/.claude.json hinzu:
{
"mcpServers": {
"qdrant": {
"type": "stdio",
"command": "node",
"args": ["/path/to/qdrant-mcp-server/build/index.js"]
}
}
}Für Qdrant Cloud oder gesicherte Instanzen fügen Sie --env QDRANT_API_KEY=ihr-schlüssel hinzu oder setzen Sie es in der Umgebungskonfiguration.
Ausprobieren:
Create a collection called "notes" and add a document about machine learningBeispiel-Prompts aktivieren: Kopieren Sie prompts.example.json nach prompts.json und starten Sie neu. Verwenden Sie /prompt, um verfügbare Prompts aufzulisten.
Remote-Einrichtung (HTTP-Transport)
⚠️ Sicherheitshinweis: Beim Bereitstellen des HTTP-Transports in der Produktion:
Immer hinter einem Reverse-Proxy (nginx, Caddy) mit HTTPS ausführen
Implementieren Sie Authentifizierung/Autorisierung auf Proxy-Ebene
Verwenden Sie Firewalls, um den Zugriff auf vertrauenswürdige Netzwerke zu beschränken
Niemals ohne Schutz direkt dem öffentlichen Internet aussetzen
Erwägen Sie die Implementierung einer Ratenbegrenzung auf Proxy-Ebene
Überwachen Sie die Serverprotokolle auf verdächtige Aktivitäten
Starten Sie den Server:
TRANSPORT_MODE=http HTTP_PORT=3000 node build/index.jsOption 1: Verwendung von claude mcp add
claude mcp add --transport http qdrant http://your-server:3000/mcpOption 2: Hinzufügen zu ~/.claude.json
{
"mcpServers": {
"qdrant": {
"type": "http",
"url": "http://your-server:3000/mcp"
}
}
}Verwendung eines anderen Anbieters:
"env": {
"EMBEDDING_PROVIDER": "openai", // or "cohere", "voyage"
"OPENAI_API_KEY": "sk-...", // provider-specific API key
"QDRANT_URL": "http://localhost:6333"
}Starten Sie nach Änderungen neu.
Siehe den Abschnitt Erweiterte Konfiguration unten für alle Optionen.
Tools
Sammlungsverwaltung
Tool | Beschreibung |
| Erstellt eine Sammlung mit dem angegebenen Distanzmaß (Cosine/Euclid/Dot) |
| Listet alle Sammlungen auf |
| Ruft Sammlungsdetails und Statistiken ab |
| Löscht die Sammlung und alle Dokumente |
Dokumentenoperationen
Tool | Beschreibung |
| Fügt Dokumente mit automatischem Embedding hinzu (unterstützt String/Zahlen-IDs, Metadaten) |
| Natürlichsprachliche Suche mit optionaler Metadatenfilterung |
| Hybride Suche, die semantische und Stichwortsuche (BM25) mit RRF kombiniert |
| Löscht bestimmte Dokumente nach ID |
Code-Vektorisierung
Tool | Beschreibung |
| Indiziert eine Codebasis für die semantische Codesuche mit AST-bewusstem Chunking |
| Durchsucht die indizierte Codebasis mit natürlichsprachlichen Abfragen |
| Indiziert inkrementell nur geänderte Dateien neu (erkennt hinzugefügte/geänderte/gelöschte) |
| Ruft den Indizierungsstatus und Statistiken für eine Codebasis ab |
| Löscht alle indizierten Daten für eine Codebasis |
Git-Verlauf
Tool | Beschreibung |
| Indiziert den Git-Commit-Verlauf für die semantische Suche über vergangene Änderungen und Korrekturen |
| Durchsucht den indizierten Git-Verlauf mit natürlichsprachlichen Abfragen |
| Indiziert inkrementell nur neue Commits seit der letzten Indizierung |
| Ruft den Indizierungsstatus und Statistiken für den Git-Verlauf eines Repositories ab |
| Löscht alle indizierten Git-Verlaufsdaten für ein Repository |
Erweiterte Suche
Tool | Beschreibung |
| Kombinierte Code- + Git-Verlaufssuche mit Datei-Commit-Korrelationen |
| Suche über mehrere Repositories hinweg mit Reciprocal Rank Fusion (RRF)-Ranking |
Ressourcen
qdrant://collections- Listet alle Sammlungen aufqdrant://collection/{name}- Sammlungsdetails
Konfigurierbare Prompts
Erstellen Sie benutzerdefinierte Prompts, die auf Ihre spezifischen Anwendungsfälle zugeschnitten sind, ohne den Code zu ändern. Prompts bieten geführte Workflows für häufige Aufgaben.
Hinweis: Standardmäßig sucht der Server nach prompts.json im Stammverzeichnis des Projekts. Wenn die Datei existiert, werden die Prompts automatisch geladen. Sie können einen benutzerdefinierten Pfad über die Umgebungsvariable PROMPTS_CONFIG_FILE angeben.
Einrichtung
Erstellen Sie eine Prompts-Konfigurationsdatei (z. B.
prompts.jsonim Projektstammverzeichnis):Siehe
prompts.example.jsonfür Beispielkonfigurationen, die Sie kopieren und anpassen können.Konfigurieren Sie den Server (optional – nur für benutzerdefinierte Pfade erforderlich):
Wenn Sie prompts.json im Projektstammverzeichnis ablegen, ist keine zusätzliche Konfiguration erforderlich. Um einen benutzerdefinierten Pfad zu verwenden:
{
"mcpServers": {
"qdrant": {
"command": "node",
"args": ["/path/to/qdrant-mcp-server/build/index.js"],
"env": {
"QDRANT_URL": "http://localhost:6333",
"PROMPTS_CONFIG_FILE": "/custom/path/to/prompts.json"
}
}
}
}Verwenden Sie Prompts in Ihrem KI-Assistenten:
Claude Code:
/mcp__qdrant__find_similar_docs papers "neural networks" 10VSCode:
/mcp.qdrant.find_similar_docs papers "neural networks" 10Beispiel-Prompts
Siehe prompts.example.json für sofort einsatzbereite Prompts, einschließlich:
setup_rag_collection- Erstellen Sie RAG-optimierte Sammlungenanalyze_and_optimize- Einblicke und Empfehlungen für Sammlungencompare_search_strategies- Vergleich zwischen semantischer und hybrider Suchemigrate_to_hybrid- Leitfaden zur Sammlungsmigrationdebug_search_quality- Fehlerbehebung bei schlechten Suchergebnissenbuild_knowledge_base- Strukturierte Dokumentation mit Metadatenindex_git_history- Indizieren Sie den Commit-Verlauf des Repositories für die semantische Suchesearch_project_history- Durchsuchen Sie den Git-Verlauf, um Funktionsimplementierungen zu versteheninvestigate_code_with_history- Tauchen Sie mit kontextbezogener Suche tief in den Code eincross_repo_search- Suchen Sie nach Mustern über mehrere Repositories hinwegtrace_feature_evolution- Verfolgen Sie, wie sich Funktionen im Laufe der Zeit entwickelt habensecurity_audit_search- Finden Sie sicherheitsrelevanten Code und Korrekturen
Vorlagensyntax
Vorlagen verwenden {{variable}}-Platzhalter:
Erforderliche Argumente müssen bereitgestellt werden
Optionale Argumente verwenden Standardwerte, falls nicht angegeben
Unbekannte Variablen bleiben in der Ausgabe unverändert
Code-Vektorisierung
Indizieren und durchsuchen Sie Ihre Codebasis intelligent mithilfe der semantischen Codesuche. Perfekt für KI-gestützte Entwicklung, Code-Exploration und das Verständnis großer Codebasen.
Funktionen
AST-bewusstes Chunking: Intelligente Code-Aufteilung an Funktions-/Klassengrenzen unter Verwendung von tree-sitter
Mehrsprachige Unterstützung: Über 35 Dateitypen, einschließlich TypeScript, Python, Java, Go, Rust, C++ und mehr
Inkrementelle Aktualisierungen: Nur geänderte Dateien werden für schnelle Aktualisierungen neu indiziert
Intelligente Ignorier-Muster: Respektiert .gitignore, .dockerignore und benutzerdefinierte .contextignore-Dateien
Semantische Suche: Natürlichsprachliche Abfragen, um relevanten Code zu finden
Metadatenfilterung: Filtern nach Dateityp, Pfadmustern oder Sprache
Lokal-zuerst: Die gesamte Verarbeitung erfolgt lokal – Ihr Code verlässt niemals Ihren Rechner
Schnellstart
1. Indizieren Sie Ihre Codebasis:
# Via Claude Code MCP tool
/mcp__qdrant__index_codebase /path/to/your/project2. Durchsuchen Sie Ihren Code:
# Natural language search
/mcp__qdrant__search_code /path/to/your/project "authentication middleware"
# Filter by file type
/mcp__qdrant__search_code /path/to/your/project "database schema" --fileTypes .ts,.js
# Filter by path pattern
/mcp__qdrant__search_code /path/to/your/project "API endpoints" --pathPattern src/api/**3. Aktualisieren Sie nach Änderungen:
# Incrementally re-index only changed files
/mcp__qdrant__reindex_changes /path/to/your/projectAnwendungsbeispiele
Indizieren eines TypeScript-Projekts
// The MCP tool automatically:
// 1. Scans all .ts, .tsx, .js, .jsx files
// 2. Respects .gitignore patterns (skips node_modules, dist, etc.)
// 3. Chunks code at function/class boundaries
// 4. Generates embeddings using your configured provider
// 5. Stores in Qdrant with metadata (file path, line numbers, language)
index_codebase({
path: "/workspace/my-app",
forceReindex: false, // Set to true to re-index from scratch
});
// Output:
// ✓ Indexed 247 files (1,823 chunks) in 45.2sSuche nach Authentifizierungscode
search_code({
path: "/workspace/my-app",
query: "how does user authentication work?",
limit: 5,
});
// Results include file path, line numbers, and code snippets:
// [
// {
// filePath: "src/auth/middleware.ts",
// startLine: 15,
// endLine: 42,
// content: "export async function authenticateUser(req: Request) { ... }",
// score: 0.89,
// language: "typescript"
// },
// ...
// ]Suche mit Filtern
// Only search TypeScript files
search_code({
path: "/workspace/my-app",
query: "error handling patterns",
fileTypes: [".ts", ".tsx"],
limit: 10,
});
// Only search in specific directories
search_code({
path: "/workspace/my-app",
query: "API route handlers",
pathPattern: "src/api/**",
limit: 10,
});Inkrementelle Neuindizierung
// After making changes to your codebase
reindex_changes({
path: "/workspace/my-app",
});
// Output:
// ✓ Updated: +3 files added, ~5 files modified, -1 files deleted
// ✓ Chunks: +47 added, -23 deleted in 8.3sIndizierungsstatus prüfen
get_index_status({
path: "/workspace/my-app",
});
// Output:
// {
// status: "indexed", // "not_indexed" | "indexing" | "indexed"
// isIndexed: true, // deprecated: use status instead
// collectionName: "code_a3f8d2e1",
// chunksCount: 1823,
// filesCount: 247,
// lastUpdated: "2025-01-30T10:15:00Z",
// languages: ["typescript", "javascript", "json"]
// }Unterstützte Sprachen
Programmiersprachen (über 35 Dateitypen):
Web: TypeScript, JavaScript, Vue, Svelte
Backend: Python, Java, Go, Rust, Ruby, PHP
Systeme: C, C++, C#
Mobil: Swift, Kotlin, Dart
Funktional: Scala, Clojure, Haskell, OCaml
Skripting: Bash, Shell, Fish
Daten: SQL, GraphQL, Protocol Buffers
Konfiguration: JSON, YAML, TOML, XML, Markdown
Siehe Konfiguration für die vollständige Liste und Anpassungsoptionen.
Benutzerdefinierte Ignorier-Muster
Erstellen Sie eine .contextignore-Datei in Ihrem Projektstammverzeichnis, um zusätzliche Muster anzugeben, die ignoriert werden sollen:
# .contextignore
**/test/**
**/*.test.ts
**/*.spec.ts
**/fixtures/**
**/mocks/**
**/__tests__/**Best Practices
Einmal indizieren, inkrementell aktualisieren: Verwenden Sie
index_codebasefür die erste Indizierung, dannreindex_changesfür AktualisierungenVerwenden Sie Filter: Schränken Sie den Suchbereich mit
fileTypesundpathPatternfür bessere Ergebnisse einAussagekräftige Abfragen: Verwenden Sie natürliche Sprache, die beschreibt, wonach Sie suchen (z. B. "Datenbankverbindungs-Pooling" statt "db")
Status zuerst prüfen: Verwenden Sie
get_index_status, um zu überprüfen, ob eine Codebasis indiziert ist, bevor Sie suchenLokales Embedding: Verwenden Sie Ollama (Standard), um alles lokal und privat zu halten
Leistung
Typische Leistung auf einem modernen Laptop (Apple M1/M2 oder ähnlich):
Codebasis-Größe | Dateien | Indizierungszeit | Suchlatenz |
Klein (10k LOC) | 50 | ~10s | <100ms |
Mittel (100k LOC) | 500 | ~2min | <200ms |
Groß (500k LOC) | 2.500 | ~10min | <500ms |
Hinweis: Die Indizierungszeit variiert je nach Embedding-Anbieter. Ollama (lokal) ist am schnellsten für die erste Indizierung.
Git-Verlaufssuche
Indizieren und durchsuchen Sie den Git-Commit-Verlauf Ihres Repositories mit natürlicher Sprache. Perfekt, um vergangene Korrekturen zu finden, Änderungsmuster zu verstehen und aus früheren Arbeiten zu lernen.
Funktionen
Semantische Commit-Suche: Finden Sie Commits, indem Sie in natürlicher Sprache beschreiben, wonach Sie suchen
Klassifizierung konventioneller Commits: Automatische Klassifizierung von Commits (feat, fix, refactor, etc.)
Inkrementelle Aktualisierungen: Indizieren Sie nur neue Commits für effiziente Aktualisierungen
Umfangreiche Filterung: Filtern nach Commit-Typ, Autor oder Datumsbereich
Metadatenextraktion: Enthält geänderte Dateien, Einfügungen/Löschungen und vollständigen Commit-Kontext
Schnellstart
1. Indizieren Sie den Git-Verlauf Ihres Repositories:
# Via Claude Code MCP tool
/mcp__qdrant__index_git_history /path/to/your/repo2. Suchen Sie nach relevanten Commits:
# Natural language search
/mcp__qdrant__search_git_history /path/to/your/repo "fix authentication bug"
# Filter by commit type
/mcp__qdrant__search_git_history /path/to/your/repo "database optimization" --commitTypes fix,perf
# Filter by author
/mcp__qdrant__search_git_history /path/to/your/repo "API changes" --authors "john@example.com"3. Halten Sie den Index auf dem neuesten Stand:
# Incrementally index only new commits
/mcp__qdrant__index_new_commits /path/to/your/repoAnwendungsfälle
**Ähn
This server cannot be deployed
Maintenance
Related MCP Connectors
Ingest, manage, and retrieve documents for RAG-powered AI applications
The Needle MCP server enables semantic search on documents stored in files like PDFs, DOCX, and XLSX by connecting AI applications to external data sources. It provides capabilities to create and manage document collections, perform natural language searches on stored content, and retrieve relevant information without requiring exact keyword matches.
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
Universal persistent memory and knowledge retrieval layer for AI agents and LLMs.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceProvides RAG capabilities for semantic document search using Qdrant vector database and Ollama/OpenAI embeddings, allowing users to add, search, list, and delete documentation with metadata support.16 npm16-
- FlicenseNot gradedqualityDmaintenanceThis server enables semantic search capabilities using Qdrant vector database and OpenAI embeddings, allowing users to query collections, list available collections, and view collection information.7-
- AlicenseNot gradedqualityDmaintenanceEnables storing and retrieving information using semantic search with Qdrant vector database. Acts as a memory layer for LLMs to persistently store and semantically search through information and metadata.Apache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables semantic search and retrieval-augmented generation (RAG) using Qdrant vector database. Supports indexing documents from URLs and local directories, with flexible embedding options using Ollama or OpenAI.2-