About Adk MCP RAG
Adk MCP RAG is an MCP server published by khoi03 in the AI category: a Retrieval-Augmented Generation (RAG) system that leverages Google's Agent Development Kit (ADK) and Qdrant vector database via MCP server.
The repository has 24 stars and 4 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/khoi03/adk-mcp-ragThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Adk MCP RAG
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 2 hours ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
README
RAG Agent with Google ADK and Qdrant MCP server
A Retrieval-Augmented Generation (RAG) system that leverages Google's Agent Development Kit (ADK) and Qdrant vector database via MCP server.
Table of Contents
Overview
This project implements a Retrieval-Augmented Generation (RAG) system that combines the power of Google's Agent Development Kit (ADK) with Qdrant vector database (via MCP server) for efficient knowledge retrieval. The system enhances Large Language Model (LLM) responses by retrieving relevant context from a vector database before generating answers.
Architecture

Features
- Advanced Retrieval: Semantic search powered by Qdrant vector database
- Google ADK Integration: Leverages Google's Agent Development Kit for LLM capabilities
- MCP Server: Model Context Protocol server for Qdrant vector database
- Context Augmentation: Enhances LLM responses with relevant retrieved information
- Monitoring & Logging: Comprehensive tracking of system performance
Installation
Remember to install the uv first
# Clone the repository
git clone https://github.com/khoi03/adk-mcp-rag.git
cd adk-mcp-rag
# Create a virtual environment and install dependencies
uv sync
# Activate the virtual environment
# For macOS/Linux
source .venv/bin/activate
# For Windows
.venv\Scripts\activate
# Add required dependencies via requirement file (In case there are new libs)
uv add -r requirements.txt
Configuration
Environment Variables
Create a .env file in docker directory:
# Change directory into docker
cd docker
# Set up environment variables
cp .env.example .env
# Edit .env with your API keys and configuration
Example .env file:
# -------------------
# Google API keys
# -------------------
GOOGLE_API_KEY=YOUR_VALUE_HERE
# -------------------
# OPENAI API keys
# -------------------
OPENAI_API_KEY=YOUR_VALUE_HERE
# -------------------
# ANTHROPIC API keys
# -------------------
ANTHROPIC_API_KEY=YOUR_VALUE_HERE
# -------------------
# Network names
# -------------------
NETWORK_NAME=mcp-servers
# ----------------------------------
# Parameters for Qdrant MCP Server
# ----------------------------------
QDRANT_CONTAINER_NAME=qdrant-mcp
QDRANT_URL=http://qdrant:6333
QRANT_MCP_SSE=http://localhost:8888/sse
# QDRANT_LOCAL_PATH=/qdrant/db
COLLECTION_NAME=default_collection
QDRANT_EMBEDDING_MODEL=sentence-transformers/all-MiniLM-L6-v2
QDRANT_SEARCH_LIMIT=3
FASTMCP_HOST=0.0.0.0
FASTMCP_PORT=8888
Build Qdrant and Qdrant MCP
Build Qdrant and Qdrant MCP server using Docker Compose after completing the configuration steps:
# Build and start services
docker compose -p qdrant-mcp up --build -d
# Check running services
docker compose ps
# View logs
docker compose logs -f
# Stop and remove services
docker compose -p qdrant-mcp down
You can also access qdrant web UI at http://localhost:6333/dashboard
Usage
Document Ingestion
Push all your needed files into the data directory and run:
python local_vector_store/prepare_corpus_and_data_locally.py
Note: Currently only processes .md and .pdf files. The system will:
- Extract text from the documents
- Split the text into manageable chunks
- Generate embeddings for each chunk
- Store the embeddings in the Qdrant vector database
Basic Usage
To test and run the system with default settings:
python main.py
Built-in ADK-UI
For tracing, testing, and debugging with a UI, run the built-in web interface provided by ADK:
adk web
Project Structure
adk-mcp-rag/
├── assets/ # Images and static files
├── data/ # Documents for ingestion
├── docker/ # Docker configurations
│ ├── .env.example # Example environment variables
│ ├── Dockerfile.qdrant # Docker file for qdrant mcp
│ └── docker-compose.yml # Docker Compose configuration
├── agents/ # Main code
│ ├── config/prompts.yml # Store prompts
│ ├── tools/ # Embedding generation
│ ├── mcp_tools.py # Manage MCP Tools
│ └── prompts.py # Manage Prompts
│ └── agent/ # Manage agents
├── .gitignore # Git ignore file
├── main.py # Main entry point
├── README.md # This file
└── requirements.txt # Python dependencies
README fetched from the repository 2 hours ago. The original is authoritative.
