YouTube Search Assistant with ADK, MCP and Gemma 3
@arjunprabhulal
Build AI Agent using Google ADK , MCP and Gemma 3 model
概要
What is YouTube Search Assistant with ADK, MCP and Gemma 3?
A practical implementation demonstrating YouTube search functionality using Google's Agent Development Kit (ADK), Model Context Protocol (MCP), and the Gemma 3 model hosted locally via Ollama. It creates a conversational agent that can search YouTube, format results, and respond in natural language.
How to use YouTube Search Assistant with ADK, MCP and Gemma 3?
Clone the repository, install dependencies, set up a .env file with your SERP API key, and pull the Gemma 3 model with Ollama. Then run adk web for a browser-based UI or python -m search for command‑line interaction. Example queries include “Find videos about Google Cloud Next 25” or “Search for YouTube tutorials on Python programming.”
Key features of YouTube Search Assistant with ADK, MCP and Gemma 3
- Search for YouTube videos using natural language queries
- Powered by Gemma 3 running locally on Ollama
- Formats search results in a clean, easy-to-read format
- Built with Google’s Agent Development Kit (ADK)
- Integrates Model Context Protocol (MCP) for tool communication
- Uses SERP API to access YouTube data
Use cases of YouTube Search Assistant with ADK, MCP and Gemma 3
- Find videos about specific events (e.g., Google Cloud Next 25)
- Search for YouTube tutorials on programming languages
- Look for educational videos on machine learning topics
- Create a conversational assistant for video discovery
FAQ from YouTube Search Assistant with ADK, MCP and Gemma 3
What are the runtime requirements?
Python 3.9+, Ollama installed with the Gemma 3 model, and a SERP API key for YouTube search.
How do I set up the SERP API key?
Create a .env file in the project root directory with the line SERP_API_KEY=your_serp_api_key_here.
What if the model doesn’t use tools properly?
Ensure your query clearly requires external information. You can also try making the tool description more explicit in the agent configuration.
What should I do if I encounter a LiteLLM/Ollama KeyError?
This is a known bug caused by Ollama’s JSON format responses and LiteLLM’s parsing. Workarounds include manually patching LiteLLM with the changes from PR #9966 or avoiding format=json in requests.
What if I have memory constraints?
The 12B model requires significant RAM/VRAM. Consider using a smaller model like gemma3:7b or gemma3:1b if you experience memory issues.