A generative AI agent built with the Google ADK and Gemini 2.5 Flash. This agent can process natural language queries regarding hardware orders, inventory status, and renovation logistics.
A smarter way to manage renovations using the Agent Development Kit (ADK), Gemini 2.5 Flash, and MCP Toolbox for AlloyDB
System Architecture & Theory
When an application utilizes multiple agents working together—each independently knowledgeable and responsible for a specific focus area—it becomes a Multi-Agent System. Using the ADK framework, we can compose these agents into a hierarchy to achieve complex goals with enhanced modularity and specialization.
What This Project Builds This application coordinates three specialized agents to handle the lifecycle of a kitchen renovation:
Renovation Proposal Agent: Generates detailed renovation proposal documents and project timelines.
Permits & Compliance Agent: Navigates local regulations and ensures all renovation tasks meet legal requirements.
Order Status Agent (Data-Grounded): Checks the status of materials (e.g., "Cement Bags") by querying an order management database.
Implementation: Uses the MCP Toolbox for AlloyDB to bridge the LLM with a live SQL database for real-time status retrieval.
✨ Key Features Specialized Specialization: Each agent is "expert-coded" for a specific domain, preventing model drift.
Root Routing: A central orchestrator routes user queries to the correct sub-agent.
Database Grounding: Real-world truth is pulled from AlloyDB via the Model Context Protocol (MCP).
Cloud Native: Fully optimized for Google Cloud Vertex AI and Gemini 2.5 Flash.
🚀 Getting Started Prerequisites Google Cloud Project with Vertex AI enabled.
Python 3.10+
ADK (Agent Development Kit) installed.
Setup Clone the Repository:
Bash git clone https://github.com/YOUR_USERNAME/renovation-mas-agent.git cd renovation-mas-agent Environment Configuration: Create a .env file in the root directory:
Plaintext GOOGLE_CLOUD_PROJECT=your-project-id GOOGLE_CLOUD_LOCATION=us-central1 MODEL_NAME=gemini-2.5-flash GOOGLE_GENAI_USE_VERTEXAI=True ```
- Install Dependencies:
pip install -r requirements.txt
```
4. **Launch the System:**
* **CLI Mode:** `adk run .`
* **Web UI Mode:** `adk web` (Preview on port 8000 in Cloud Shell)
---
## 📈 Designing Your Own MAS: Things to Keep in Mind
* **Reasoning for Specialization:** Always ask: "Why do I need a specific sub-agent for this task?" Work out the specialization before writing code.
* **Routing Logic:** Choose a routing type (Hierarchical, Sequential, or Joint) that suits your specific workflow.
* **State Management:** Ensure your Root Agent can maintain context across multiple sub-agent transitions.
---
### Pro-Tip for your GitHub
Since you mentioned using `adk web`, definitely take a screenshot of the **Trace** view showing the agent calling the AlloyDB tool and paste it right under the **What This Project Builds** section. It’s the "proof" that your autonomous system is actually working!