home / mcp / qdrant mcp server
Provides text embedding, vector storage, and similarity search with Qdrant via MCP
Configuration
View docs{
"mcpServers": {
"jimmy974-qdrant-mcp-server": {
"command": "qdrant-mcp-server",
"args": [],
"env": {
"QDRANT_HOST": "localhost",
"QDRANT_PORT": "6333",
"EMBEDDING_MODEL": "BAAI/bge-small-en-v1.5",
"QDRANT_VERIFY_SSL": "True",
"DEFAULT_COLLECTION_NAME": "default_collection"
}
}
}
}You run an MCP server that connects to a Qdrant vector database, enabling you to embed text, store vectors, and run similarity searches through a simple MCP interface. This guide shows you how to install, configure, and operate the server locally or in Docker, so you can build vector search features into your applications quickly.
Use an MCP client to interact with the Qdrant MCP Server. You can store text as embeddings, search for similar text using embeddings, and manage vectors in collections. The server also supports batch operations, vector searches within a collection, and filtering by metadata. Typical workflows include converting your text into embeddings, upserting those vectors into a designated collection, and querying for content similar to a given prompt.
Prerequisites you need on your system before installing are Python and pip. You should also have access to a Qdrant instance to connect to. Follow these steps to install and run the MCP server locally.
pip install -e .
qdrant-mcp-serverConfigure the server using environment variables to tailor the Qdrant connection and default embedding settings. Create a .env file based on the provided template and adjust the values for your environment.
# Qdrant connection settings
QDRANT_HOST=localhost
QDRANT_PORT=6333
QDRANT_API_KEY=
QDRANT_VERIFY_SSL=True # Set to False if using self-signed certificates
# Default settings
DEFAULT_COLLECTION_NAME=default_collection
EMBEDDING_MODEL=BAAI/bge-small-en-v1.5If you prefer containers, you can run the MCP server in Docker. Build the image and start a container, providing the same Qdrant connection settings via environment variables.
docker build -t qdrant-mcp-server .
# Run the container with your Qdrant settings
docker run -p 8000:8000 --env QDRANT_HOST=<your-qdrant-host> --env QDRANT_PORT=<your-qdrant-port> --env QDRANT_VERIFY_SSL=<True|False> qdrant-mcp-serverTest your setup by exercising the available MCP endpoints from your client. You can verify that text can be embedded, stored, and queried for similarity, and that vector operations such as upserts and filtered searches work as expected.
# Example commands executed by your MCP client (pseudo-methods shown for illustration):
await store_text(text="What is the capital of France?", metadata={"category":"geography", "type":"question"})
await search_similar_text(query="What is Paris the capital of?", limit=5)Ensure SSL verification is enabled when connecting to Qdrant in production. If you are using a self-signed certificate, temporarily disable verification during testing with QDRANT_VERIFY_SSL set to False, but re-enable it in production.
If you encounter connection issues, verify that Qdrant is reachable at the host and port you configured, and that the embedding model is available in your environment. Check that your default collection exists or is created by the server when needed.
Store a single piece of text as an embedding and then search for similar content using a query.
await store_text(text="Paris is the capital of France", metadata={"category":"geography"})
await search_similar_text(query="Capital of France?", limit=5)Convert text to an embedding vector and store it in the database
Convert a query to an embedding and find similar vectors
Convert multiple texts to embeddings and store them in batch
Search for vectors similar to a given embedding in a collection
Upload vectors to a collection for storage and retrieval
Search a collection with metadata filters
Retrieve points by their IDs from a collection
Delete points by their IDs from a collection
Count the number of points in a collection