Qdrant
Store and retrieve agent output in a Qdrant collection through the Qdrant MCP server.
"""
Qdrant
=============================
Demonstrates qdrant.
"""
import asyncio
from os import getenv
from agno.agent import Agent
from agno.models.google import Gemini
from agno.tools.mcp import MCPTools
from agno.utils.pprint import apprint_run_response
# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------
QDRANT_URL = getenv("QDRANT_URL")
QDRANT_API_KEY = getenv("QDRANT_API_KEY")
COLLECTION_NAME = "qdrant_collection"
EMBEDDING_MODEL = "sentence-transformers/all-MiniLM-L6-v2"
async def run_agent(message: str) -> None:
async with MCPTools(
"uvx mcp-server-qdrant",
env={
"QDRANT_URL": QDRANT_URL,
"QDRANT_API_KEY": QDRANT_API_KEY,
"COLLECTION_NAME": COLLECTION_NAME,
"EMBEDDING_MODEL": EMBEDDING_MODEL,
},
) as mcp_tools:
agent = Agent(
model=Gemini(id="gemini-2.5-flash-preview-05-20"),
tools=[mcp_tools],
instructions="""
You are the storage agent for the Model Context Protocol (MCP) server.
You need to save the files in the vector database and answer the user's questions.
You can use the following tools:
- qdrant-store: Store data/output in the Qdrant vector database.
- qdrant-find: Retrieve data/output from the Qdrant vector database.
""",
markdown=True,
)
response = await agent.arun(message, stream=True)
await apprint_run_response(response)
# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
query = """
Tell me about the extinction event of dinosaurs in detail. Include all possible theories and evidence. Store the result in the vector database.
"""
asyncio.run(run_agent(query))Run the Example
Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activateInstall dependencies
uv pip install -U "agno[mcp]" google-genaiPrepare uvx
Install uv, then verify uvx is available:
uvx --versionExport environment variables
export GOOGLE_API_KEY="your_google_api_key_here"
export QDRANT_API_KEY="your_qdrant_api_key_here"
export QDRANT_URL="your_qdrant_url_here"Use an active Gemini model
Save the source above as qdrant.py. Its preview model was shut down. Replace the model declaration in the saved file with:
model=Gemini(id="gemini-3.6-flash"),Run the example
Run the adapted qdrant.py:
python qdrant.pyFull source: cookbook/91_tools/mcp/qdrant.py