Building Custom Tools for ADK Agents

Building Custom Tools for Google ADK Agents

Give your AI agent superpowers with custom tools Series Navigation: This is Post 3 of the Google ADK Tutorial Series. ← Previous: LiteLLM Integration: Making Your ADK Agents Model-Agnostic What You’ll Learn By the end of this post, you’ll understand the three types of tools in ADK: Built-in Tools - Pre-built tools like Google Search that provide instant capabilities Custom Function Tools - Your own Python functions that the agent can call Agent as a Tool - Using other agents as callable tools for complex workflows We’ll build a travel assistant agent that demonstrates all three tool types working together. ...

January 21, 2026 · 15 min
LiteLLM and Google ADK

Google ADK + LiteLLM: Build Model-Agnostic Agents (Gemini, OpenAI, Claude)

Switch between OpenAI, Claude, and Gemini with one line of code 📚 Series Navigation: This is Post 2 of the Google ADK Tutorial Series. ← Previous: Introduction to Google ADK What You’ll Learn By the end of this post, you’ll: Understand how LiteLLM works with ADK Configure multiple LLM providers Switch between models without changing code Implement fallback strategies for reliability Optimize costs by choosing the right model for each task Code on GitHub: The complete working example from this post is available at google-adk-samples/model_agnostic_agent ...

January 16, 2026 · 10 min
Introduction to Google Agent Development Kit

Introduction to Google Agent Development Kit (ADK): Building Your First AI Agent

What You’ll Learn By the end of this post, you’ll: Understand what Google ADK is Build a working AI agent from scratch Understand ADK’s core architecture (App, Agent, Tools) Prerequisites: Python 3.10+, basic Python knowledge, an API key for an LLM provider (Google, OpenAI, or Anthropic) What is Google ADK? Google ADK (Agent Development Kit) is an open-source, code-first toolkit for building AI agents. It’s Google’s answer to the growing complexity of agent development, designed to make building production-grade agents as straightforward as building a web API. ...

January 14, 2026 · 9 min
Authenticating an MCP Server with Okta

Authenticating an MCP Server with Okta

In this post, we will look at how to use Okta to authenticate and authorize requests to an MCP server. We will use the FastMCP library to build both the server and client. The MCP server we will build will be a wrapper around a simple FastAPI app that’s protected using Okta. First, we will build a Hello World API using FastAPI and protect its endpoints using Okta. We will create a Okta client for the API and test it with Postman. ...

October 7, 2025 · 10 min
Auto-generate MongoDB Queries with OpenAI Assistants API

Auto-generate MongoDB Queries with OpenAI Assistants API

This is a continuation to the previous article on generating MongoDB Queries using OpenAI Chat Completion API . In this article, we will look at how to construct MongoDB Queries using OpenAI Assistants API given an input and an expected output. In this article, we will cover the following: Create an assistant using Assistants API and use it to generate MongoDB queries. Use custom function tool to format the output in JSON format. ...

January 31, 2024 · 13 min
Mastering MongoDB Queries with OpenAI: A Guide to Generating Queries for Desired Outputs

Mastering MongoDB Queries with OpenAI: A Guide to Generating Queries for Desired Outputs

I’m a big fan of mongoplayground.net as it is one of the most useful and widely used tools for swiftly testing various MongoDB queries while working on a problem. Although this tool is really handy and convenient to use, I have always wondered if there is a way to automatically generate the query for a given input and an expected output, rather than having to manually construct these queries. Thanks to Generative AI tools, this is now possible! ...

January 8, 2024 · 12 min
Run Jupyter Notebook in a virtual environment

Run Jupyter Notebook in a virtual environment

It is always best practice to use virtual environments while working on Python projects. This article lists the steps to run Jupyter Notebook within a virtual environment. In a nutshell, these are the steps required to run Jupyter Notebook in a virtual environment. Install Jupyter Create a virtual environment and activate it Install ipykernel package Install a new Jupyter Kernel Run Jupyter Notebook Change the Kernel in Jupyter Notebook to the one we installed in the virtual environment in Step 4 ...

October 11, 2023 · 3 min
How to use Cognito User Pool with custom OAuth scopes as authorizer for REST API

How to use Cognito User Pool with custom OAuth scopes as authorizer for REST API

In this blog post, we will look at how to configure OAuth authentication for a REST API using AWS Cognito user Pool. We will create a REST API using AWS Lambda and API Gateway, integrate it with Cognito User Pool and create custom OAuth scopes to authenticate and authorize the REST API endpoints. Overview At a high level, below are the steps to be performed to setup the REST API and OAuth authentication using Cognito ...

April 13, 2023 · 9 min

TensorFlow.js - Remove or restore segments of an image in the browser using DeepLab model

This article is a continuation of the previous article on Semantic Image Segmentation in the browser using TensorFlow.js pre-trained DeepLab model. Here, we will use the DeepLab model’s output to manipulate specific parts of the image based on user selection. Essentially, we will allow the user to remove or restore a specific segment of an image that corresponds to an object class identified by the model. ...

December 11, 2021 · 5 min

TensorFlow.js - Semantic Image Segmentation in browser using DeepLab model

In Computer Vision, one of the main challenges is to understand an image at a higher level like the way we humans do, i.e., to identify the objects, their location and their surroundings to make sense of the scene captured in the image. Semantic Image Segmentation is the process of identifying the objects present in the image and labelling each pixel by associating it to an identified object class. Semantic Image Segmentation can be applied to a wide variety of use cases such as human body segmentation, separating the background from foreground in an image, and understanding the surroundings for self-driving cars, just to name a few. ...

December 5, 2021 · 7 min