home / mcp / qdrant mcp server
An official Qdrant Model Context Protocol (MCP) server implementation
Configuration
View docs{
"mcpServers": {
"qdrant-mcp-server-qdrant": {
"command": "uvx",
"args": [
"mcp-server-qdrant"
],
"env": {
"QDRANT_URL": "<YOUR_QDRANT_URL>",
"QDRANT_API_KEY": "<YOUR_API_KEY>",
"COLLECTION_NAME": "<YOUR_COLLECTION_NAME>",
"EMBEDDING_MODEL": "sentence-transformers/all-MiniLM-L6-v2",
"QDRANT_LOCAL_PATH": "/path/to/qdrant",
"EMBEDDING_PROVIDER": "fastembed",
"TOOL_FIND_DESCRIPTION": "Find memories by natural language",
"TOOL_STORE_DESCRIPTION": "Store information with optional metadata"
}
}
}
}You connect your language models to a Qdrant-backed semantic memory store using this MCP server. It lets you store memories, perform semantic search, and retrieve context to improve conversations, code search, or any memory-aware workflows that rely on vector similarity. This server exposes two core tools for interacting with Qdrant: one to store information and one to find relevant memories.
Connect your MCP client to the Qdrant MCP Server to store and retrieve memories. Use the store tool to persist information alongside optional metadata in a named collection. Use the find tool to query memories by natural language or structured prompts and receive matching results as separate messages. The server will create the default collection if it does not exist and will encode memories with the configured embedding model.
Operational flow you can follow:
- Store memories: describe what you want to remember in information and attach any structured details in metadata.
- Retrieve memories: provide a natural language query in query and receive the most relevant results from the configured collection.
Prerequisites: you need a working environment with a runtime capable of executing MCP servers and access to either a running Qdrant instance or a local in-memory mode for testing.
Choose one of the following installation methods to run the MCP server.
# Basic run with uvx (no Docker) using a remote Qdrant service
QDRANT_URL="http://localhost:6333" \
COLLECTION_NAME="my-collection" \
EMBEDDING_MODEL="sentence-transformers/all-MiniLM-L6-v2" \
uvx mcp-server-qdrant
```
```shell
# Run with SSE transport (default is stdio). You can override the port via FASTMCP_PORT if needed
QDRANT_URL="http://localhost:6333" \
COLLECTION_NAME="my-collection" \
uvx mcp-server-qdrant --transport sse
```
```shell
# Run via Docker
docker run -p 8000:8000 \
-e FASTMCP_HOST="0.0.0.0" \
-e QDRANT_URL="http://your-qdrant-server:6333" \
-e QDRANT_API_KEY="your-api-key" \
-e COLLECTION_NAME="your-collection" \
mcp-server-qdrantDevelopment and testing flows are also supported. The MCP inspector can be started to test the server locally.
Environment variables you configure control how the server connects to Qdrant and how memories are encoded. The most important ones are: - QDRANT_URL: URL of the Qdrant server - QDRANT_API_KEY: API key for Qdrant - COLLECTION_NAME: default collection to use - QDRANT_LOCAL_PATH: optional path to a local Qdrant database (use instead of QDRANT_URL) - EMBEDDING_PROVIDER: embedding provider (default: fastembed) - EMBEDDING_MODEL: embedding model (default: sentence-transformers/all-MiniLM-L6-v2)"
Tools provided by this MCP server enable semantic memory operations for Qdrant. You can customize tooling descriptions when wiring to MCP clients, but the core capabilities are the two endpoints below.
- qdrant-store: stores information into Qdrant with optional metadata and associates it with a collection. Returns a confirmation message.
- qdrant-find: retrieves relevant memories from Qdrant using a natural language query and returns information as separate messages.
Use separate embeddings, keys, and collections for different environments (dev, staging, production). Protect QDRANT_API_KEY and ensure network access to the Qdrant instance is restricted to trusted clients. When running in containers or cloud environments, prefer transport options that suit your security requirements (e.g., SSE for remote clients). Keep embedding models up to date and audit memory content for sensitive information before storage.
If you cannot connect to Qdrant, verify that QDRANT_URL is reachable from the MCP server container or host. Check that the correct COLLECTION_NAME is set and that the embedding model is valid. Review environment variable mappings if you switch between local and remote Qdrant deployments. For transport issues, try switching between stdio, SSE, or streamable-http to identify client compatibility problems.
Store information in Qdrant with optional metadata and a target collection, returning a confirmation message.
Search the Qdrant database using a query and return relevant memories as separate messages.