Qdrant

MCP server for semantic search using local Qdrant vector database and OpenAI embeddings
  • typescript

21

GitHub Stars

typescript

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs

You run a local MCP server that provides semantic search capabilities over your data sources by using Qdrant for vector storage and multiple embedding providers. It supports code vectorization, git history search, and federated or contextual search, while keeping data private and index updates incremental.

How to use

You interact with the MCP server through an MCP client. The server can run locally in stdio mode for fast, private processing or expose an HTTP transport to be queried remotely. In all cases you can create and manage collections, index data, and run semantic, hybrid, and contextual searches across your data and git history.

How to install

Prerequisites: Node.js 22.x or 24.x and Podman or Docker with Compose support.

  1. Clone the repository and install dependencies.

  2. Build the project.

  3. Start services using either the local stdio transport or the remote HTTP transport.

Configuration and usage notes

The server supports two primary transport modes. Use stdio for a local, private setup or HTTP for remote access behind a reverse proxy with proper security.

Local setup (stdio transport) uses a node process that runs the built MCP server. Use this command when you want a private, offline setup.

Remote setup (HTTP transport) runs the MCP server as an HTTP service, intended for deployment behind a secure gateway. Always secure HTTP with TLS, authentication at the proxy, and network access controls.

Tools and operations you can perform

Manage data, search data, and index code and git history with a rich set of tools. You can create and manage collections, add documents, perform semantic and hybrid searches, index codebases with AST-aware chunking, and index git history for historical search.

Prompts and configuration

Customize guided workflows by configuring prompts. You can enable example prompts and use a configurable prompts.json file to tailor workflows without changing code. If a custom path is needed, provide PROMPTS_CONFIG_FILE in the environment for the MCP server.

Security and deployment priorities

Follow security best practices when deploying the HTTP transport in production. Use a reverse proxy with HTTPS, restrict access to trusted networks, and consider rate limiting at the proxy. Maintain data privacy with local embeddings when possible and use API keys only when connecting to secured Qdrant instances.

Troubleshooting and notes

If you encounter issues, verify that Qdrant is running, ensure collections exist before indexing or searching, and check that embeddings and API keys are correctly configured. For memory or performance problems, adjust chunk sizes or embedding batch sizes.

Advanced usage patterns

Index codebases incrementally to minimize reprocessing. Combine semantic and keyword searches to improve relevance. Federate searches across multiple repositories and correlate file changes with commits to understand feature evolution.

Example workflows

Create a codebase index, then perform a semantic search for a query across the indexed code, and finally reindex only the changed files to keep the index up to date.

Glossary of capabilities

Zero setup, privacy-first local embeddings, code vectorization with AST-aware chunking, git history search, hybrid and contextual search, incremental indexing, configurable prompts, rate limiting, full CRUD on collections and documents, structured logging, and flexible deployment options.

Available tools

create_collection

Create a collection with a specified distance metric (Cosine, Euclidean, or Dot)

list_collections

List all existing collections

get_collection_info

Retrieve collection details and statistics

delete_collection

Delete a collection and all its documents

add_documents

Add documents with automatic embeddings; supports IDs and metadata

semantic_search

Perform a natural language search with optional metadata filtering

hybrid_search

Execute a hybrid search combining semantic and keyword (BM25) search with Reciprocal Rank Fusion (RRF)

delete_documents

Delete specific documents by ID

index_codebase

Index a codebase for semantic code search with AST-aware chunking

search_code

Search an indexed codebase using natural language queries; supports file type and path filters

reindex_changes

Incrementally re-index only files that have changed since the last index

get_index_status

Get indexing status and statistics for a codebase

clear_index

Delete all indexed data for a codebase

index_git_history

Index git commit history for semantic search over past changes and fixes

search_git_history

Search indexed git history with natural language queries

index_new_commits

Incrementally index only new commits since the last indexing

get_git_index_status

Get indexing status and statistics for a repository's git history

clear_git_index

Delete all indexed git history data for a repository

contextual_search

Combined code + git history search with file-commit correlations

federated_search

Search across multiple repositories with Reciprocal Rank Fusion ranking

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational