<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Build with AI]]></title><description><![CDATA[Build with AI]]></description><link>https://build-mcp-with-ai.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/68fbddce5c8370f4a578d740/02326c97-597d-4458-b492-ca4e26acb9b7.png</url><title>Build with AI</title><link>https://build-mcp-with-ai.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Fri, 30 Oct 2026 21:34:49 GMT</lastBuildDate><atom:link href="https://build-mcp-with-ai.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Building Personalized Agents with Google ADK, MCP, Gemini, and Memory Bank]]></title><description><![CDATA[A beginner-friendly walkthrough of building a personalized AI agent with Google ADK, MCP, Memory Bank concepts, FastAPI, React, Docker, and Cloud Run.]]></description><link>https://build-mcp-with-ai.hashnode.dev/building-personalized-agents-with-google-adk-mcp-gemini-and-memory-bank</link><guid isPermaLink="true">https://build-mcp-with-ai.hashnode.dev/building-personalized-agents-with-google-adk-mcp-gemini-and-memory-bank</guid><category><![CDATA[ai agents]]></category><category><![CDATA[google adk]]></category><category><![CDATA[mcp]]></category><category><![CDATA[gemini]]></category><category><![CDATA[MemoryBank]]></category><category><![CDATA[google cloud]]></category><category><![CDATA[cloud run]]></category><category><![CDATA[FastAPI]]></category><category><![CDATA[React]]></category><category><![CDATA[Python]]></category><category><![CDATA[agentic AI]]></category><category><![CDATA[Hashnode]]></category><dc:creator><![CDATA[Shakil Ahmed]]></dc:creator><pubDate>Mon, 18 May 2026 12:30:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/68fbddce5c8370f4a578d740/55b128ef-3acb-4a5f-bbb4-9f2b24d09fbb.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3><strong>AI agents are becoming more than just chatbots.</strong></h3>
<p>A chatbot usually responds to a user’s question. But a real AI agent can connect with tools, analyze data, remember context, and perform useful tasks across multiple steps.</p>
<p>Recently, I attended/followed a workshop titled <strong>“Building Personalized Agents with ADK, MCP, and Memory Bank”</strong>, where I explored how modern agents can be built using Google’s agent ecosystem.</p>
<p>As part of this learning, I also worked on and deployed a project called:</p>
<p><strong>GitHub Dev Card Generator</strong></p>
<p>GitHub Repository: <code>https://github.com/MRSHAKILS/Agents-with-ADK-CP-And-Memory-Bank</code></p>
<p>The idea was simple but powerful:</p>
<blockquote>
<p>Can an AI agent analyze a GitHub profile and generate a personalized developer card based on that person’s coding activity?</p>
</blockquote>
<p>The answer is yes.</p>
<p>Using <strong>Google ADK</strong>, <strong>MCP</strong>, <strong>Gemini 2.5 Flash</strong>, <strong>FastAPI</strong>, <strong>React</strong>, and <strong>Google Cloud Run</strong>, I built an agentic application that can analyze a developer’s GitHub profile and generate a visually styled, shareable card.</p>
<hr />
<h2>What This Project Does</h2>
<p>The project is a <strong>GitHub Dev Card Generator</strong>.</p>
<p>A user enters a GitHub username, and the system analyzes the public GitHub profile to generate a personalized developer card.</p>
<p>The generated card includes things like:</p>
<ul>
<li><p>top skills</p>
</li>
<li><p>developer vibe</p>
</li>
<li><p>fun facts</p>
</li>
<li><p>visual theme</p>
</li>
<li><p>GitHub-based profile insights</p>
</li>
<li><p>shareable HTML card</p>
</li>
</ul>
<p>The agent does not just display raw GitHub data. It uses Gemini to understand the developer’s profile and infer a meaningful identity from it.</p>
<p>For example, based on the user’s repositories and activity, the system can assign themes like:</p>
<ul>
<li><p>hacker</p>
</li>
<li><p>builder</p>
</li>
<li><p>researcher</p>
</li>
<li><p>designer</p>
</li>
<li><p>open-source hero</p>
</li>
</ul>
<p>This makes the output more personalized and interesting than a normal GitHub profile summary.</p>
<hr />
<h2>Why Personalized Agents Matter</h2>
<p>Most AI applications today feel temporary.</p>
<p>You open a chat, ask something, get a response, and then everything is forgotten when the session ends.</p>
<p>But real-world applications need memory.</p>
<p>A useful AI assistant should remember:</p>
<ul>
<li><p>user preferences</p>
</li>
<li><p>previous choices</p>
</li>
<li><p>design style</p>
</li>
<li><p>coding interests</p>
</li>
<li><p>repeated workflows</p>
</li>
<li><p>context from past interactions</p>
</li>
</ul>
<p>That is where the concept of <strong>personalized agents</strong> becomes important.</p>
<p>In the workshop, the architecture focused on three important parts:</p>
<table>
<thead>
<tr>
<th>Component</th>
<th>Purpose</th>
</tr>
</thead>
<tbody><tr>
<td>MCP</td>
<td>Connects the agent to external tools and systems</td>
</tr>
<tr>
<td>ADK</td>
<td>Orchestrates the agent’s reasoning and workflow</td>
</tr>
<tr>
<td>Memory Bank</td>
<td>Stores long-term personalized user context</td>
</tr>
</tbody></table>
<p>This combination creates agents that are not only intelligent but also more useful over time.</p>
<hr />
<h2>What Is ADK?</h2>
<p><strong>ADK</strong> stands for <strong>Agent Development Kit</strong>.</p>
<p>In simple words, ADK helps developers build AI agents in a structured way.</p>
<p>Instead of writing one huge prompt and hoping the model does everything correctly, ADK helps organize:</p>
<ul>
<li><p>agent logic</p>
</li>
<li><p>tool usage</p>
</li>
<li><p>reasoning flow</p>
</li>
<li><p>state management</p>
</li>
<li><p>multi-step execution</p>
</li>
</ul>
<p>In this project, ADK is used to orchestrate the agentic workflow.</p>
<p>The agent takes the user input, decides which tools are needed, analyzes the GitHub data, and generates the final developer card.</p>
<hr />
<h2>What Is MCP?</h2>
<p><strong>MCP</strong> stands for <strong>Model Context Protocol</strong>.</p>
<p>MCP acts like a bridge between the AI model and external tools.</p>
<p>A model by itself cannot directly scrape GitHub, call APIs, save files, or generate structured outputs unless we connect it with tools.</p>
<p>MCP provides a standard way to expose those tools to the agent.</p>
<p>In this project, MCP/FastMCP is used to define tools such as:</p>
<ul>
<li><p>scraping GitHub profile data</p>
</li>
<li><p>analyzing profile information</p>
</li>
<li><p>generating the HTML card</p>
</li>
<li><p>saving the final output</p>
</li>
</ul>
<p>This makes the project more modular and agent-friendly.</p>
<hr />
<h2>What Is Memory Bank?</h2>
<p>Memory Bank is used for long-term memory.</p>
<p>Short-term memory is what the agent remembers during the current conversation.</p>
<p>Long-term memory is what the agent can remember across sessions.</p>
<p>For example:</p>
<pre><code class="language-text">I prefer dark cyberpunk-style designs.
</code></pre>
<p>A memory-enabled agent can store that preference and use it later without asking again.</p>
<p>In the workshop, Memory Bank was used to demonstrate how agents can remember user preferences and personalize future outputs.</p>
<p>This is a very important concept because it moves AI applications from simple one-time tools toward truly personalized assistants.</p>
<hr />
<h2>Project Tech Stack</h2>
<p>Here is the main tech stack used in my project:</p>
<table>
<thead>
<tr>
<th>Technology</th>
<th>Role</th>
</tr>
</thead>
<tbody><tr>
<td>Google ADK</td>
<td>Agent orchestration</td>
</tr>
<tr>
<td>MCP / FastMCP</td>
<td>Tool integration</td>
</tr>
<tr>
<td>Gemini 2.5 Flash</td>
<td>Profile analysis and reasoning</td>
</tr>
<tr>
<td>Python</td>
<td>Backend logic</td>
</tr>
<tr>
<td>FastAPI</td>
<td>Backend API</td>
</tr>
<tr>
<td>React</td>
<td>Frontend UI</td>
</tr>
<tr>
<td>TailwindCSS</td>
<td>Styling</td>
</tr>
<tr>
<td>Docker</td>
<td>Containerization</td>
</tr>
<tr>
<td>Google Cloud Run</td>
<td>Deployment</td>
</tr>
</tbody></table>
<p>The project is also Dockerized and deployed to Google Cloud Run, making it closer to a real-world production-style application.</p>
<hr />
<h2>Project Structure</h2>
<p>The project is organized into backend and frontend parts.</p>
<pre><code class="language-text">.
├── backend/
│   ├── agent.py
│   ├── main.py
│   ├── mcp_server.py
│   ├── requirements.txt
│   └── Dockerfile
├── frontend/
│   ├── index.html
│   └── Dockerfile
├── docker-compose.yml
├── .env.example
├── GEMINI.md
└── README.md
</code></pre>
<h3>Important files</h3>
<h4><code>agent.py</code></h4>
<p>This file contains the Google ADK agent definition and orchestration logic.</p>
<h4><code>main.py</code></h4>
<p>This is the FastAPI application entry point.</p>
<h4><code>mcp_server.py</code></h4>
<p>This file contains the MCP/FastMCP tools used by the agent.</p>
<h4><code>frontend/index.html</code></h4>
<p>This is the React frontend where the user enters a GitHub username and views the generated card.</p>
<h4><code>docker-compose.yml</code></h4>
<p>This helps run the frontend and backend together locally.</p>
<hr />
<h2>How the Workflow Works</h2>
<p>The workflow is simple but powerful.</p>
<h3>1. User enters GitHub username</h3>
<p>The user provides a GitHub username from the frontend.</p>
<h3>2. MCP tool collects GitHub data</h3>
<p>The MCP server uses a scraping/API tool to collect public GitHub profile and repository information.</p>
<h3>3. Gemini analyzes the profile</h3>
<p>Gemini 2.5 Flash analyzes the developer’s repositories and activity.</p>
<p>It identifies things like:</p>
<ul>
<li><p>top skills</p>
</li>
<li><p>coding style</p>
</li>
<li><p>project interests</p>
</li>
<li><p>developer personality</p>
</li>
<li><p>possible theme</p>
</li>
</ul>
<h3>4. The agent generates a card</h3>
<p>The system generates a beautiful HTML card using TailwindCSS.</p>
<h3>5. The card is saved and displayed</h3>
<p>The final card can be viewed, shared, or downloaded.</p>
<p>This makes the project feel like a personalized AI-powered developer branding tool.</p>
<hr />
<h2>Example Use Case</h2>
<p>Suppose a developer enters their GitHub username.</p>
<p>The agent may analyze their repositories and generate something like:</p>
<pre><code class="language-text">Developer Vibe: Full-Stack Builder
Top Skills: Python, JavaScript, React, FastAPI
Theme: Builder
Fun Fact: Frequently builds practical tools and web-based systems
</code></pre>
<p>Then it creates a styled developer card based on that analysis.</p>
<p>This can be useful for:</p>
<ul>
<li><p>portfolios</p>
</li>
<li><p>personal branding</p>
</li>
<li><p>hackathon profiles</p>
</li>
<li><p>LinkedIn posts</p>
</li>
<li><p>GitHub README sections</p>
</li>
<li><p>developer introductions</p>
</li>
</ul>
<hr />
<h2>Running the Project Locally</h2>
<p>First, clone the repository:</p>
<pre><code class="language-bash">git clone https://github.com/MRSHAKILS/Agents-with-ADK-CP-And-Memory-Bank.git
</code></pre>
<p>Go inside the project folder:</p>
<pre><code class="language-bash">cd Agents-with-ADK-CP-And-Memory-Bank
</code></pre>
<p>Copy the environment file:</p>
<pre><code class="language-bash">cp .env.example .env
</code></pre>
<p>Then add your Gemini API key:</p>
<pre><code class="language-bash">GOOGLE_API_KEY=your_gemini_api_key_here
</code></pre>
<p>Run the project using Docker Compose:</p>
<pre><code class="language-bash">docker-compose up --build
</code></pre>
<p>After running, the frontend and backend should be available locally.</p>
<p>Frontend:</p>
<pre><code class="language-text">http://localhost:8080
</code></pre>
<p>Backend:</p>
<pre><code class="language-text">http://localhost:8000
</code></pre>
<hr />
<h2>Deployment</h2>
<p>The project is also designed for deployment using <strong>Google Cloud Run</strong>.</p>
<p>This is important because building something locally is only the first step.</p>
<p>Deploying it to the cloud makes it accessible, scalable, and closer to a real-world application.</p>
<p>Cloud deployment also helped me understand:</p>
<ul>
<li><p>Docker-based deployment</p>
</li>
<li><p>backend/frontend separation</p>
</li>
<li><p>environment variables</p>
</li>
<li><p>cloud-hosted AI applications</p>
</li>
<li><p>practical production workflow</p>
</li>
</ul>
<hr />
<h2>What I Learned</h2>
<p>This workshop and project helped me understand several important concepts.</p>
<h3>1. AI agents are not just chatbots</h3>
<p>A chatbot responds. An agent reasons, uses tools, and performs tasks.</p>
<h3>2. MCP makes tool integration cleaner</h3>
<p>Instead of tightly coupling everything into one backend, MCP allows tools to be exposed in a structured way.</p>
<h3>3. ADK helps organize agent workflows</h3>
<p>ADK makes the agent easier to manage, especially when there are multiple steps and tools involved.</p>
<h3>4. Gemini can analyze developer identity</h3>
<p>Gemini was useful for converting raw GitHub profile data into meaningful insights.</p>
<h3>5. Memory is the future of personalization</h3>
<p>Memory Bank shows how agents can become more helpful over time by remembering user preferences.</p>
<hr />
<h2>Why This Project Is Useful</h2>
<p>This project may look like a GitHub card generator, but the core idea is much bigger.</p>
<p>The same architecture can be used to build:</p>
<ul>
<li><p>personalized portfolio assistants</p>
</li>
<li><p>resume improvement agents</p>
</li>
<li><p>coding profile analyzers</p>
</li>
<li><p>recruiter tools</p>
</li>
<li><p>learning assistants</p>
</li>
<li><p>project recommendation systems</p>
</li>
<li><p>developer branding tools</p>
</li>
<li><p>AI agents that remember user preferences</p>
</li>
</ul>
<p>The important lesson is not only the final card.</p>
<p>The important lesson is the architecture:</p>
<pre><code class="language-text">User Input → MCP Tools → ADK Agent → Gemini Reasoning → Personalized Output
</code></pre>
<p>With Memory Bank added, it becomes even more powerful:</p>
<pre><code class="language-text">User Input → Memory Retrieval → MCP Tools → ADK Agent → Gemini Reasoning → Personalized Output
</code></pre>
<p>That is the foundation of many next-generation AI applications.</p>
<hr />
<h2>Final Thoughts</h2>
<p>This workshop gave me a clearer understanding of how modern personalized agents are built.</p>
<p>The combination of <strong>ADK</strong>, <strong>MCP</strong>, <strong>Gemini</strong>, and <strong>Memory Bank</strong> creates a strong foundation for building practical AI applications.</p>
<p>For my project, I used these ideas to build a GitHub Dev Card Generator that analyzes a developer profile and creates a personalized visual card.</p>
<p>The biggest takeaway for me was:</p>
<blockquote>
<p>The future of AI applications is not just about generating answers. It is about building agents that can use tools, remember context, personalize experiences, and solve real problems.</p>
</blockquote>
<p>This project was a great learning experience, and I am excited to keep exploring more agentic AI systems.</p>
]]></content:encoded></item><item><title><![CDATA[Building a Location Intelligence AI Agent with Google ADK, MCP, BigQuery, Google Maps, and Gemini]]></title><description><![CDATA[Learn how to build a Location Intelligence AI Agent using Google ADK, MCP Servers, BigQuery, Google Maps, and Gemini to analyze business locations…]]></description><link>https://build-mcp-with-ai.hashnode.dev/building-a-location-intelligence-ai-agent-with-google-adk-mcp-bigquery-google-maps-and-gemini</link><guid isPermaLink="true">https://build-mcp-with-ai.hashnode.dev/building-a-location-intelligence-ai-agent-with-google-adk-mcp-bigquery-google-maps-and-gemini</guid><category><![CDATA[AI]]></category><category><![CDATA[Google]]></category><category><![CDATA[google cloud]]></category><category><![CDATA[Cloud Computing]]></category><category><![CDATA[mcp]]></category><category><![CDATA[bigquery]]></category><category><![CDATA[googlemaps]]></category><category><![CDATA[gemini]]></category><category><![CDATA[Python]]></category><category><![CDATA[ai-agent]]></category><dc:creator><![CDATA[Shakil Ahmed]]></dc:creator><pubDate>Fri, 15 May 2026 19:46:04 GMT</pubDate><content:encoded><![CDATA[<p>Artificial Intelligence is no longer limited to answering simple questions. Modern AI agents can now connect with real tools, analyze real data, use APIs, and make intelligent decisions based on business context.</p>
<p>Recently, I explored a project where we build a <strong>Location Intelligence AI Agent</strong> using <strong>Google ADK</strong>, <strong>MCP Servers</strong>, <strong>BigQuery</strong>, <strong>Google Maps</strong>, and <strong>Gemini</strong>.</p>
<p>The project is called <strong>Launch My Bakery</strong>, and the main idea is simple but powerful:</p>
<blockquote>
<p>Can an AI agent help decide the best location to open a bakery?</p>
</blockquote>
<p>The answer is yes — by combining business data, location intelligence, competitor analysis, and AI reasoning.</p>
<hr />
<h2>What Is This Project About?</h2>
<p>This project demonstrates how to build an AI-powered bakery intelligence agent that can analyze business opportunities using multiple sources of information.</p>
<p>The agent can work with:</p>
<ul>
<li><p>demographic data</p>
</li>
<li><p>foot traffic data</p>
</li>
<li><p>competitor pricing</p>
</li>
<li><p>sales history</p>
</li>
<li><p>Google Maps location data</p>
</li>
<li><p>BigQuery analytics</p>
</li>
<li><p>Gemini reasoning</p>
</li>
</ul>
<p>Instead of only giving generic advice, the agent can use real tools to answer business questions.</p>
<p>For example, we can ask:</p>
<pre><code class="language-text">Find the zip code with the highest morning foot traffic score in Los Angeles.
</code></pre>
<p>Then the agent can analyze the available data and provide a useful business-focused answer.</p>
<hr />
<h2>Why This Project Is Interesting</h2>
<p>Normally, if someone wants to open a bakery, they need to manually research many things:</p>
<ul>
<li><p>Which area has more customers?</p>
</li>
<li><p>Where is foot traffic high?</p>
</li>
<li><p>Are there too many competitors nearby?</p>
</li>
<li><p>What is the average product price in that location?</p>
</li>
<li><p>Is the location close to suppliers?</p>
</li>
<li><p>Can the business generate enough revenue?</p>
</li>
</ul>
<p>This project shows how an AI agent can help answer these questions by connecting to different tools.</p>
<p>That is what makes this project powerful.</p>
<p>It is not just a chatbot. It is an <strong>AI agent with tool access</strong>.</p>
<hr />
<h2>Technologies Used</h2>
<p>The project uses several modern technologies:</p>
<table>
<thead>
<tr>
<th>Technology</th>
<th>Purpose</th>
</tr>
</thead>
<tbody><tr>
<td>Google ADK</td>
<td>Building and running the AI agent</td>
</tr>
<tr>
<td>MCP</td>
<td>Connecting the agent with external tools</td>
</tr>
<tr>
<td>BigQuery</td>
<td>Analyzing business and sales data</td>
</tr>
<tr>
<td>Google Maps</td>
<td>Location search and geographic intelligence</td>
</tr>
<tr>
<td>Gemini</td>
<td>Reasoning and natural language understanding</td>
</tr>
<tr>
<td>Python</td>
<td>Agent development</td>
</tr>
<tr>
<td>Google Cloud Shell</td>
<td>Cloud-based setup and execution</td>
</tr>
</tbody></table>
<p>Together, these tools create a complete location intelligence workflow.</p>
<hr />
<h2>What Is MCP?</h2>
<p>MCP stands for <strong>Model Context Protocol</strong>.</p>
<p>In simple words, MCP allows an AI model or agent to connect with external tools and services in a structured way.</p>
<p>For example, through MCP, an agent can connect with:</p>
<ul>
<li><p>databases</p>
</li>
<li><p>APIs</p>
</li>
<li><p>cloud services</p>
</li>
<li><p>maps</p>
</li>
<li><p>business tools</p>
</li>
<li><p>documents</p>
</li>
<li><p>storage systems</p>
</li>
</ul>
<p>In this project, MCP is used to connect the AI agent with:</p>
<ol>
<li><p><strong>Google Maps</strong></p>
</li>
<li><p><strong>BigQuery</strong></p>
</li>
</ol>
<p>This allows the agent to combine map-based intelligence with data analytics.</p>
<hr />
<h2>Project Setup Overview</h2>
<p>The project starts by cloning the official Google MCP repository:</p>
<pre><code class="language-bash">git clone https://github.com/google/mcp.git
</code></pre>
<p>Then we move into the example project:</p>
<pre><code class="language-bash">cd mcp/examples/launchmybakery
</code></pre>
<p>This example contains the bakery intelligence agent project.</p>
<hr />
<h2>Google Cloud Setup</h2>
<p>Before running the project, we need:</p>
<ul>
<li><p>a Google Cloud project</p>
</li>
<li><p>billing enabled</p>
</li>
<li><p>Cloud Shell access</p>
</li>
<li><p>basic terminal knowledge</p>
</li>
</ul>
<p>Inside Cloud Shell, we verify authentication:</p>
<pre><code class="language-bash">gcloud auth list
</code></pre>
<p>Then we check the active project:</p>
<pre><code class="language-bash">gcloud config get project
</code></pre>
<p>And export the project ID:</p>
<pre><code class="language-bash">export PROJECT_ID=$(gcloud config get project)
</code></pre>
<p>This prepares the environment for the rest of the setup.</p>
<hr />
<h2>Setting Up the Environment</h2>
<p>The project includes a setup script:</p>
<pre><code class="language-bash">chmod +x setup/setup_env.sh
./setup/setup_env.sh
</code></pre>
<p>This script helps configure the environment by enabling required APIs, creating the <code>.env</code> file, and setting up the Maps API key.</p>
<p>After that, BigQuery is configured using:</p>
<pre><code class="language-bash">chmod +x ./setup/setup_bigquery.sh
./setup/setup_bigquery.sh
</code></pre>
<p>This creates the required BigQuery dataset and tables.</p>
<p>The dataset is named:</p>
<pre><code class="language-text">mcp_bakery
</code></pre>
<p>The project creates tables such as:</p>
<ul>
<li><p>demographics</p>
</li>
<li><p>bakery_prices</p>
</li>
<li><p>sales_history_weekly</p>
</li>
<li><p>foot_traffic</p>
</li>
</ul>
<p>These tables are important because they provide the data needed for business intelligence.</p>
<hr />
<h2>Installing Google ADK</h2>
<p>The agent is built using Google ADK.</p>
<p>First, we create a virtual environment:</p>
<pre><code class="language-bash">python3 -m venv .venv
</code></pre>
<p>Then we activate it:</p>
<pre><code class="language-bash">source .venv/bin/activate
</code></pre>
<p>After that, we install ADK:</p>
<pre><code class="language-bash">pip install google-adk==1.28.0
</code></pre>
<p>Then we move into the agent directory:</p>
<pre><code class="language-bash">cd adk_agent/
</code></pre>
<hr />
<h2>Project Structure</h2>
<p>The project structure looks like this:</p>
<pre><code class="language-text">launchmybakery/
├── data/
├── adk_agent/
│   └── mcp_bakery_app/
│       ├── agent.py
│       ├── tools.py
│       └── .env
├── setup/
└── cleanup/
</code></pre>
<p>The most important files are:</p>
<h3><code>agent.py</code></h3>
<p>This file defines the main AI agent.</p>
<h3><code>tools.py</code></h3>
<p>This file configures the MCP toolsets for Google Maps and BigQuery.</p>
<h3><code>.env</code></h3>
<p>This file stores environment variables and API keys.</p>
<hr />
<h2>MCP Tool Configuration</h2>
<p>The project uses two major MCP toolsets.</p>
<h3>1. Google Maps MCP Toolset</h3>
<p>This toolset helps the agent perform location-based tasks such as:</p>
<ul>
<li><p>place search</p>
</li>
<li><p>competitor analysis</p>
</li>
<li><p>route calculations</p>
</li>
<li><p>location intelligence</p>
</li>
</ul>
<p>For example, the agent can search for nearby bakeries in a selected zip code to understand market saturation.</p>
<h3>2. BigQuery MCP Toolset</h3>
<p>This toolset helps the agent perform data analysis tasks such as:</p>
<ul>
<li><p>SQL execution</p>
</li>
<li><p>sales analytics</p>
</li>
<li><p>demographic analysis</p>
</li>
<li><p>revenue forecasting</p>
</li>
</ul>
<p>This is useful when the agent needs to analyze structured business data.</p>
<hr />
<h2>Agent Definition</h2>
<p>The agent uses Gemini as the reasoning model.</p>
<p>The root agent is defined using <code>LlmAgent</code>, and the model used in the project is:</p>
<pre><code class="language-python">root_agent = LlmAgent(
    model='gemini-3.1-pro-preview'
)
</code></pre>
<p>This allows the agent to understand user questions, decide which tools to use, and generate meaningful responses.</p>
<hr />
<h2>Running the Agent</h2>
<p>To run the agent, we start the ADK web server:</p>
<pre><code class="language-bash">adk web --allow_origins 'regex:https://.*\.cloudshell\.dev'
</code></pre>
<p>If everything is configured correctly, the server starts at:</p>
<pre><code class="language-text">http://127.0.0.1:8000
</code></pre>
<p>Then we can open the ADK UI using Cloud Shell Web Preview and interact with the agent.</p>
<hr />
<h2>Example Questions to Ask the Agent</h2>
<p>Here are some example prompts that can be tested:</p>
<h3>Foot Traffic Analysis</h3>
<pre><code class="language-text">Find the zip code with the highest morning foot traffic score in Los Angeles.
</code></pre>
<h3>Competition Analysis</h3>
<pre><code class="language-text">Search for bakeries in that zip code to see if the market is saturated.
</code></pre>
<h3>Pricing Analysis</h3>
<pre><code class="language-text">Find the maximum price for a Sourdough Loaf in the LA Metro area.
</code></pre>
<h3>Revenue Forecasting</h3>
<pre><code class="language-text">Forecast December 2025 revenue using historical sales data.
</code></pre>
<h3>Logistics Validation</h3>
<pre><code class="language-text">Find the nearest Restaurant Depot and ensure drive time is under 30 minutes.
</code></pre>
<p>These questions show how the agent can combine business reasoning, database analysis, and map intelligence.</p>
<hr />
<h2>Testing Relevant and Irrelevant Questions</h2>
<p>One important part of the project is testing how the agent responds to both relevant and irrelevant questions.</p>
<p>A relevant question could be:</p>
<pre><code class="language-text">Find the zip code with the highest morning foot traffic score in Los Angeles.
</code></pre>
<p>An irrelevant question could be:</p>
<pre><code class="language-text">What if I want to open it at the moon?
</code></pre>
<p>or</p>
<pre><code class="language-text">Who won the football match yesterday?
</code></pre>
<p>This helps evaluate whether the agent can stay focused on its purpose and handle unrelated questions properly.</p>
<p>A good AI agent should not blindly answer everything. It should understand its role and respond according to its instructions.</p>
<hr />
<h2>Key Learnings from This Project</h2>
<p>This project helped me understand several important concepts:</p>
<h3>1. AI Agents Are More Than Chatbots</h3>
<p>A chatbot usually answers based on text. An AI agent can use tools, access data, and perform actions.</p>
<h3>2. MCP Makes Tool Integration Easier</h3>
<p>MCP provides a structured way to connect AI models with external services.</p>
<h3>3. BigQuery Adds Real Data Intelligence</h3>
<p>By using BigQuery, the agent can analyze real business datasets instead of guessing.</p>
<h3>4. Google Maps Adds Real-World Context</h3>
<p>Location is very important for businesses. Google Maps helps the agent understand competitors, routes, nearby places, and accessibility.</p>
<h3>5. Gemini Handles Reasoning</h3>
<p>Gemini combines the outputs from different tools and generates a useful final answer.</p>
<hr />
<h2>Real-World Use Cases</h2>
<p>Although this project focuses on opening a bakery, the same idea can be applied to many other fields.</p>
<p>For example:</p>
<ul>
<li><p>choosing the best location for a restaurant</p>
</li>
<li><p>analyzing retail shop opportunities</p>
</li>
<li><p>planning warehouse locations</p>
</li>
<li><p>studying customer movement patterns</p>
</li>
<li><p>selecting branch locations for banks</p>
</li>
<li><p>supporting agriculture supply chain planning</p>
</li>
<li><p>analyzing urban business opportunities</p>
</li>
</ul>
<p>This makes the project valuable beyond only the bakery example.</p>
<hr />
<h2>My Thoughts</h2>
<p>What I liked most about this project is that it shows a practical AI workflow.</p>
<p>Instead of building an AI system that only gives general suggestions, this project connects the agent with real tools.</p>
<p>The agent can use BigQuery for data analysis and Google Maps for location intelligence. Then Gemini combines everything through reasoning.</p>
<p>This is the future direction of AI applications: <strong>AI agents that can think, connect, analyze, and assist with real-world decisions.</strong></p>
<hr />
<h2>Conclusion</h2>
<p>Building a Location Intelligence AI Agent with Google ADK, MCP, BigQuery, Google Maps, and Gemini is a great way to understand how modern AI agents work.</p>
<p>This project teaches:</p>
<ul>
<li><p>how to set up Google Cloud</p>
</li>
<li><p>how to use MCP servers</p>
</li>
<li><p>how to connect BigQuery and Google Maps</p>
</li>
<li><p>how to build an agent using Google ADK</p>
</li>
<li><p>how to test agent behavior</p>
</li>
<li><p>how AI can support real business decisions</p>
</li>
</ul>
<p>For me, this project was a great learning experience because it connected AI, cloud computing, data analysis, and business intelligence into one practical system.</p>
<p>The biggest takeaway is:</p>
<blockquote>
<p>The next generation of AI applications will not only answer questions — they will use tools, analyze real data, and help make smarter decisions.</p>
</blockquote>
<hr />
]]></content:encoded></item></channel></rss>