
Qdrant MCP Server
OfficialOfficial Qdrant server using a vector collection as semantic memory: store and find embeddings.
Add to your client
Copy the config for your MCP client and paste it into its config file.
uvx mcp-server-qdrantPaste into ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"qdrant-mcp-server": {
"command": "uvx",
"args": [
"mcp-server-qdrant"
],
"env": {
"QDRANT_URL": "https://<your-cluster>.cloud.qdrant.io:6333",
"QDRANT_API_KEY": "<your-api-key>",
"COLLECTION_NAME": "<your-collection-name>",
"EMBEDDING_MODEL": "sentence-transformers/all-MiniLM-L6-v2"
}
}
}
}Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.
Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf
Before you start
- Python with the `uv`/`uvx` package manager (or Docker as an alternative)
- A Qdrant instance: a Qdrant Cloud cluster, a self-hosted server URL, or a local on-disk path via `QDRANT_LOCAL_PATH`
- For remote Qdrant: a `QDRANT_API_KEY` (from your Qdrant Cloud dashboard at cloud.qdrant.io)
- No separate embedding API key needed — embeddings default to the local FastEmbed model `sentence-transformers/all-MiniLM-L6-v2`
About Qdrant MCP Server
The Qdrant MCP Server is the official Qdrant integration for the Model Context Protocol. It turns a Qdrant vector collection into a semantic memory layer: text (with optional metadata) is embedded and stored, then retrieved later by meaning rather than exact keywords. This lets an LLM "remember" facts, snippets, or past decisions across sessions.
It exposes just two tools — qdrant-store and qdrant-find — keeping the surface small and predictable. Embeddings are generated locally by default using the sentence-transformers/all-MiniLM-L6-v2 FastEmbed model, so no external embedding API key is required; you only need a Qdrant instance (cloud, self-hosted, or a local on-disk path).
The server is configured almost entirely through environment variables (collection name, Qdrant URL/API key, embedding model, search limit) and can run as a private code-search backend or general-purpose memory store. It supports stdio for local clients plus SSE and streamable-HTTP for remote deployments.
Tools & capabilities (2)
qdrant-storeStore a piece of information (with optional JSON metadata) into the Qdrant collection as an embedding
qdrant-findRetrieve the most relevant stored entries for a natural-language query via semantic search
When to use it
- Use it when you want an LLM to persist and recall facts or notes as long-term semantic memory
- Use it when building a private code-search tool over your own snippets and documentation
- Use it when you need RAG-style retrieval backed by an existing Qdrant collection
- Use it when you want local, no-API-key embeddings for storing/searching text
- Use it when sharing a single Qdrant memory store across multiple AI assistant sessions
Quick setup
- 1Install `uv` so `uvx mcp-server-qdrant` can run (or pull the Docker image)
- 2Set `QDRANT_URL` and `QDRANT_API_KEY` for a remote instance, or `QDRANT_LOCAL_PATH` for a local on-disk store
- 3Set `COLLECTION_NAME` (and optionally `EMBEDDING_MODEL`, `QDRANT_SEARCH_LIMIT`, `QDRANT_READ_ONLY`)
- 4Add the server to your MCP client config with those values in the `env` block
- 5Restart the client and verify the `qdrant-store` and `qdrant-find` tools are available
Security notes
For Qdrant Cloud the QDRANT_API_KEY grants full collection access, so keep it in env vars. The default embedding model downloads and runs locally on first use, which has compute and disk implications.
Qdrant MCP Server FAQ
Do I need an OpenAI or other embedding API key?
No. Embeddings are generated locally with FastEmbed (`all-MiniLM-L6-v2` by default), so the only credential you may need is a Qdrant API key for a remote cluster.
Can I run it without a Qdrant server?
Yes. Set `QDRANT_LOCAL_PATH` to a directory and it uses a local on-disk Qdrant database instead of a remote URL — but don't set both `QDRANT_URL` and `QDRANT_LOCAL_PATH`.
How do I make it read-only?
Set `QDRANT_READ_ONLY=true`, which disables the `qdrant-store` tool and exposes only `qdrant-find`.
Does it work for remote clients over HTTP?
Yes. Besides the default stdio transport it supports SSE and streamable-HTTP (default port 8000) for remote deployments.
What if the collection doesn't exist yet?
The server creates the collection named in `COLLECTION_NAME` on first store if it isn't present, using the configured embedding model's vector size.
Alternatives to Qdrant MCP Server
Compare all alternatives →Official MCP server providing persistent, file-backed knowledge-graph memory across sessions.
Structured step-by-step reasoning tool for breaking problems into revisable thought sequences.
Fully managed remote server for AWS docs, blogs, What's-New and Well-Architected guidance — no key.
Compare Qdrant MCP Server with: