Run a Qdrant instance locally with Docker (docker run -p 6333:6333 qdrant/qdrant) or connect to a Qdrant Cloud cluster.
Instantiate the Python client: from qdrant_client import QdrantClient; client = QdrantClient(url='http://localhost:6333').
Create a collection specifying the vector size and distance metric: client.create_collection(collection_name='NAME', vectors_config=VectorParams(size=DIM, distance=Distance.COSINE)).
Insert points with client.upsert(collection_name='NAME', points=[PointStruct(id=1, vector=[...], payload={'key': 'value'})]) where payload holds optional metadata.
Search for nearest neighbors: results = client.search(collection_name='NAME', query_vector=QUERY_VEC, limit=10) to get the top results.
Apply payload filters in the search call using the Filter and FieldCondition objects to restrict results to matching metadata.
Known gotchas
IDs must be either unsigned integers or UUID strings; using other ID types (plain strings, negative integers) raises a validation error.
Creating a collection with an incorrect vector size cannot be changed later; the collection must be deleted and recreated to fix a size mismatch.
The default in-memory storage is lost on container restart; configure persistent storage by mounting a volume to the Qdrant data directory.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp