
Learn to design and build a complete multi-agent system using MCP and the two way protocol, from basic concepts to servers, clients, registries, and a host orchestrator.
Set up your environment for building your first agent by installing Python 3.13.4, uv, VS Code, and Git on macOS, Windows, and Ubuntu, then verify installations.
Set up Ubuntu for Python development by installing python3, pip, and venv with apt, install UB via curl, then install VS Code and the Python extension, and finally install git.
Build an mcp server with the new mcp server class as model context protocol moves to v2. Get upgrade guidance and use the mcp builder with Gemini API key.
This directory structure walkthrough explains the terminal server layout, including main.py, tools.py, and a workspace, plus environment and cloud desktop config files, attribution, license, readme, and requirements.
Configure the server environment with a .env file and workspace path to enable running with or without cloud desktop config.json, and prepare the codebase for execution.
We will use Claude for Desktop Application as our MCP Client. So we install it here.
Demonstrate testing the MCP server with Claude Desktop by using the terminal server to run shell commands that create mcpsuccess.txt, illustrating stdio transport version 2 and the free learning plan.
Build and run the MCP server using protocol v2 with stdio transport, implement logging and execute command, and integrate with cloud desktop to execute commands and create files.
Explore upgrading from model context protocol v1 to v2, build MCP clients and servers with a terminal setup, and connect via the Google agent development kit using stdio transport.
Initialize uv project, create and activate a virtual environment, install requirements, open the 02mcp-adk-client folder in visual studio code, and configure .env with google api key to start two servers.
Explore the MCP client through the manager.py walkthrough, showing json rpc over stdio, async exit stack lifecycle management, config loading, tool discovery, multiplexing, and shutdown.
Load the MCP server configurations from config.json using loadConfig, extract each server's name and details, and build stdio server parameters from command arguments and environment.
Create an autonomous llm agent using Google adk to discover and use tools from external mcp servers, loading server configuration via config.json and environment variables.
Connect to MCP servers using the Google ADK tool sets to manage stdio connections, discover tools with toolset.getTools(), and display a name and description table while handling exceptions.
Initialize the in-memory runner with the agent and app name to power the loop, taking user input, sending it to the agent, executing tools when called, and returning results.
Start a conversation session with the runner to let the agent remember context across messages, and create a conversation session with app name and user ID.
Here we will use docker to put our MCP server inside a container and then connect it to claude desktop
Here I introduce the concept for multi-mcp server support for our MCP client
Clone MCP reference servers from the MCP GitHub and use the fetch server to fetch content. Build its Docker image, configure the MCP client with config.json, and run for testing.
Set up a clean project structure by creating mcp directories for servers, clients, and workspace, then clone the server and client code from GitHub into terminal_server and mcpi_client directories.
Demonstrates building an MCP SSE client that connects to an MCP server, integrates the Gemini SDK for function calling, and handles tool calls and prompts.
Disclaimer
The information provided in this course is for educational purposes only.
Please be advised that when creating a Google account, Google Cloud Platform (GCP) project, or any other third-party account or service, you are solely responsible for reviewing and understanding the applicable terms and conditions, privacy policies, pricing, usage limits, and any other relevant policies or charges associated with that service.
The instructor, course provider, and any affiliated parties do not provide any guarantees, warranties, or representations regarding the accuracy, completeness, or current applicability of any third-party services mentioned in this course, including but not limited to Google Cloud's $300 credit offer. Policies and offerings may change at any time without notice, and the information in this course may become outdated.
By proceeding to create and use any such account or service, you agree that you do so at your own discretion and risk. The instructor and related parties shall not be held liable for any losses, charges, damages, liabilities, or consequencesarising from your use or attempted use of such services.
Always exercise independent judgment and due diligence before engaging with any third-party platform or offer.
Disclaimer
The information provided in this course is for educational purposes only.
Please be advised that when creating a Google account, Google Cloud Platform (GCP) project, or any other third-party account or service, you are solely responsible for reviewing and understanding the applicable terms and conditions, privacy policies, pricing, usage limits, and any other relevant policies or charges associated with that service.
The instructor, course provider, and any affiliated parties do not provide any guarantees, warranties, or representations regarding the accuracy, completeness, or current applicability of any third-party services mentioned in this course, including but not limited to Google Cloud's $300 credit offer. Policies and offerings may change at any time without notice, and the information in this course may become outdated.
By proceeding to create and use any such account or service, you agree that you do so at your own discretion and risk. The instructor and related parties shall not be held liable for any losses, charges, damages, liabilities, or consequencesarising from your use or attempted use of such services.
Always exercise independent judgment and due diligence before engaging with any third-party platform or offer.
Please create the development directory using
mkdir ~/development
Disclaimer
The information provided in this course is for educational purposes only.
Please be advised that when creating a Google account, Google Cloud Platform (GCP) project, or any other third-party account or service, you are solely responsible for reviewing and understanding the applicable terms and conditions, privacy policies, pricing, usage limits, and any other relevant policies or charges associated with that service.
The instructor, course provider, and any affiliated parties do not provide any guarantees, warranties, or representations regarding the accuracy, completeness, or current applicability of any third-party services mentioned in this course, including but not limited to Google Cloud's $300 credit offer. Policies and offerings may change at any time without notice, and the information in this course may become outdated.
By proceeding to create and use any such account or service, you agree that you do so at your own discretion and risk. The instructor and related parties shall not be held liable for any losses, charges, damages, liabilities, or consequencesarising from your use or attempted use of such services.
Always exercise independent judgment and due diligence before engaging with any third-party platform or offer.
Disclaimer
The information provided in this course is for educational purposes only.
Please be advised that when creating a Google account, Google Cloud Platform (GCP) project, or any other third-party account or service, you are solely responsible for reviewing and understanding the applicable terms and conditions, privacy policies, pricing, usage limits, and any other relevant policies or charges associated with that service.
The instructor, course provider, and any affiliated parties do not provide any guarantees, warranties, or representations regarding the accuracy, completeness, or current applicability of any third-party services mentioned in this course, including but not limited to Google Cloud's $300 credit offer. Policies and offerings may change at any time without notice, and the information in this course may become outdated.
By proceeding to create and use any such account or service, you agree that you do so at your own discretion and risk. The instructor and related parties shall not be held liable for any losses, charges, damages, liabilities, or consequencesarising from your use or attempted use of such services.
Always exercise independent judgment and due diligence before engaging with any third-party platform or offer.
Disclaimer
The information provided in this course is for educational purposes only.
Please be advised that when creating a Google account, Google Cloud Platform (GCP) project, or any other third-party account or service, you are solely responsible for reviewing and understanding the applicable terms and conditions, privacy policies, pricing, usage limits, and any other relevant policies or charges associated with that service.
The instructor, course provider, and any affiliated parties do not provide any guarantees, warranties, or representations regarding the accuracy, completeness, or current applicability of any third-party services mentioned in this course, including but not limited to Google Cloud's $300 credit offer. Policies and offerings may change at any time without notice, and the information in this course may become outdated.
By proceeding to create and use any such account or service, you agree that you do so at your own discretion and risk. The instructor and related parties shall not be held liable for any losses, charges, damages, liabilities, or consequencesarising from your use or attempted use of such services.
Always exercise independent judgment and due diligence before engaging with any third-party platform or offer.
NEW (FEB 2026) - MCP Version 2 updates added to course for MCP Server. Note that other updates are in progress! MCP is migrating to Version 2 by around end of March 2026. I am adding updates to the course to reflect those changes.
TLDR - In this course, you'll learn about MCP & A2A - Model Context Protocol & Agent2Agent Protocol. We will build 5 MCP Clients and 3 MCP Servers from Scratch. You'll build a UI for MCP client in Streamlit in Python. You'll learn to deploy your MCP Server to Google Cloud using Server Sent Events. To top it all, we'll use a free Gemini API Key from Google so you don't need to pay for AI Models when learning! We then build A2A Agents, Clients and Servers and use Google's ADK or Agent Development Kit. Integrate MCP + A2A together
Key Objectives of Course
Use of MCP v2 (new update expected around end of March 2026)
MCP Authentication - Sign in to MCP server with Google!
Build A2A Servers, Clients and Agents (using Google's ADK or agent development kit) - in Beta
Connect 3 Agents via A2A with full code implementation
Build a Host Orchestrator agent - integrate with A2A + MCP
A2A Python SDK
Build 5 MCP Clients:
#1. Basic Python + Gemini
#2. LangGraph Based
#3. LangGraph (with config.json)
#4. Server Sent Events (SSE)
#5. Streamlit MCP Client
#6 Streamable HTTP Client
Build 4 MCP Servers:
#1 Python STDIO based
#2 Python STDIO (with Docker)
#3 Server Sent Event (SSE) Server
#4 Streamable HTTP Server
Connect your server to Claude Desktop
Deploy MCP Server on Google Cloud Platform. Yes, you heard that right :)
Build Streamlit UI for MCP Client in Python
Avoid AI Costs using a free Gemini API Key: to work with Gemini API, Tools and Function calling
Detailed Course Description
Learn basics of MCP
In this hands-on course, you will gain a solid foundation in the Model Context Protocol (MCP) and its bidirectional client-server architecture. We begin by exploring the fundamentals of MCP, equipping you with the conceptual understanding needed to work confidently with this powerful protocol.
Next, you will implement your own MCP server in Python, hosted on a MacBook. This server will be connected to Claude Desktop, showcasing how you can interact with external tools. As part of this quick start, you'll build and test a tool that executes terminal commands via MCP using Claude Desktop.
Building on this foundation, we’ll guide you through developing your own MCP client in Python, integrating it with Google’s Gemini API. With a free Gemini API Key from Google, you’ll connect your client to your MCP server and perform tool invocations just like Claude Desktop.
By the end of this course, you will:
Understand the basic architecture and flow of MCP
Learn to build and run an MCP server using Python
Connect your custom MCP server to Claude Desktop
Obtain and configure a free Google Gemini API Key
Develop your own Python-based MCP client powered by Google Gemini
Test the interaction between your client and server to run real commands
What This Course Does Not Cover:
Advanced MCP primitives beyond tool-calling (for now, we focus only on tool invocation)
Windows-specific setup: While many steps are applicable across platforms, this course uses a MacBook for demonstrations. Windows users may follow along at their discretion.
Important Notes:
This course uses tools, APIs, Keys and services provided by third-party companies and open source projects. We do not offer any warranties or guarantees related to these services. Learners are responsible for understanding and agreeing to the terms and policies of each provider.
While many resources exist in fragments across the web, this course brings everything together in a streamlined, tested, and learner-friendly format based on real-world implementations.
Disclaimer
The information provided in this course is for educational purposes only.
Please be advised that when creating a Google account, Google Cloud Platform (GCP) project, using the Gemini API Key or using any other third-party account or service, you are solely responsible for reviewing and understanding the applicable terms and conditions, privacy policies, pricing, usage limits, and any other relevant policies or charges associated with that service.
The instructor, course provider, and any affiliated parties do not provide any guarantees, warranties, or representations regarding the accuracy, completeness, or current applicability of any third-party services mentioned in this course, including but not limited to Google Cloud's $300 credit offer and the free Gemini API Key. Policies and offerings may change at any time without notice, and the information in this course may become outdated.
By proceeding to create and use any such account or service, you agree that you do so at your own discretion and risk. The instructor and related parties shall not be held liable for any losses, charges, damages, liabilities, or consequences arising from your use or attempted use of such services.
Always exercise independent judgment and due diligence before engaging with any third-party platform or offer. The credits and key from Google are available from Google irrespective of whether you take this course or not. We use them to help students setup and learn about MCP and AI without incurring cloud/AI costs.
Whether you're a developer, tinkerer, or AI enthusiast, this course will empower you to build practical systems using cutting-edge AI and modern protocol design.