MCP & A2A Masterclass Roadmap
Ready to start learning?
Welcome to the complete curriculum for the Model Context Protocol (MCP) & Agent-to-Agent (A2A) Masterclass. This course takes you from the basics of connecting LLMs to local data, all the way to deploying secure, multi-agent ecosystems on Google Cloud.

MCP & A2A - Model Context Protocol Masterclass
Build 5 MCP Clients, 3 Servers, UI | Connect 3 Agents via A2A | FREE Gemini Key
📚 Detailed Curriculum​
Section 1: Introduction​
- Lecture 1: What you will learn in this course?
- Lecture 2: MCP Overview - What is Model Context Protocol?
- Practice Test 1: Can you answer these MCP basics?
- Lecture 3: Note for Windows and Linux Users
Section 2: Environment Setup & Resources​
- Lecture 4: Install Python, UV, VS Code and Git
- Lecture 5: MacOS - Install Python, UV, VS Code, Git
- Lecture 6: Windows - Install Python, UV, VS Code, Git
- Lecture 7: Ubuntu - Install Python, UV, VS Code, Git
- Lecture 8: Resources - Get Code on Github
- Lecture 9: Resources - Class Github Repositories List
- Lecture 10: Resources - Official Links
Section 3: [MCP v2 2026 Update] Build Your Own MCP Server​
- Lecture 12: Introduction
- Lecture 13: MCP Version 2 - Breaking Changes to FastMCP
- Lecture 14: Overview of the Terminal MCP Server We’ll Build
- Lecture 15: Getting the code
- Lecture 16: Accessing the Online MCP Server Builder with Code
- Lecture 17: Directory Structure Walkthrough
- Lecture 18: Code Walkthrough 1 - Server Definition in main.py file
- Lecture 19: Code Walkthrough 2 - Tools Code in tools.py file
- Lecture 20: Code Walkthrough 3 - claude_desktop_config.json file
- Lecture 21: Code Walkthrough 4 - .env file
- Lecture 22: Export the code to your own Github (optional)
- Lecture 23: Clone the repo code
- Lecture 24: Install Claude for Dektop
- Lecture 25: Install Claude Desktop (for Windows Users Only)
- Lecture 26: Setup claude_desktop_config.json file
- Lecture 27: Connect Your Server To Claude Desktop (for Windows users only)
- Lecture 28: Important - Project Dependencies & Set Workspace [for both MacOS + Windows]
- Lecture 29: Testing the MCP Server with Claude Desktop
- Lecture 30: Conclusion

MCP & A2A - Model Context Protocol Masterclass
Build 5 MCP Clients, 3 Servers, UI | Connect 3 Agents via A2A | FREE Gemini Key
Section 4: [MCP v2 2026 Update] Build your Own MCP Client Using Python + Google ADK: Part 1​
- Lecture 31: Introduction
- Lecture 32: Quick Demo - What We’ll Build
- Lecture 33: Getting the Code
- Lecture 34: Getting the Code
- Lecture 35: Code Setup
- Lecture 36: MCP Client Code Walkthrough - manager.py
- Lecture 37: MCP Client - Server Discovery from Config
- Lecture 38: MCP Client - Server Connection Logic
- Lecture 39: MCP Client - Listing All Tools
- Lecture 40: MCP Client - Calling a Tool
- Lecture 41: MCP Client - Session Cleanup
- Lecture 42: MCP Server - Simple Echo Server Example
- Lecture 43: Running the MCP Client Manager
Section 5: [MCP v2 2026 Update] Build your Own MCP Client Using Python + Google ADK: Part 2​
- Lecture 44: ADK + MCP Integration - Overview and Step 1 (Load Server Config)
- Lecture 45: ADK Integration - Step 2 (Connect to MCP Servers)
- Lecture 46: ADK Integration - Step 3 (Initialize Agent with McpToolset)
- Lecture 47: ADK Integration - Step 4 (Initialize the Runner)
- Lecture 48: ADK Integration - Step 5 (Start a Conversation Session)
- Lecture 49: ADK Integration - Step 6 (Interactive Chat Loop)
- Lecture 50: MCP Client Manager vs ADK Command Line Integration
- Lecture 51: Running the Code
Section 6: Build Docker MCP Server​
- Lecture 52: Containerize your MCP Server Using Docker
- Lecture 53: Setup Steps and Instructions for Windows Users
- Quiz 1: MCP Server - Docker Advantages
- Practice Test 2: MCP Server - Docker Container Advantages
Section 7: Build LangChain MCP Client​
- Lecture 54: Simplify client code with LangGraph & LangChain
- Lecture 55: Setup Steps and Instructions for Windows Users

MCP & A2A - Model Context Protocol Masterclass
Build 5 MCP Clients, 3 Servers, UI | Connect 3 Agents via A2A | FREE Gemini Key
Section 8: Build MCP Client with Multiple Server Support​
- Lecture 56: Introduction to Config.json for multiple server support
- Lecture 57: Let's look at the config.json file
- Lecture 58: Instructions for Windows Users
- Lecture 59: Demo - MCP Client with Multiple MCP Servers
- Lecture 60: MCP Client (with json config) Code Walk Through - Part 1
- Lecture 61: Why Choose Gemini 2.0 Flash and not the Pro Models
- Lecture 62: MCP Client (with json config) Code Walk Through - Part 2 (continued)
- Lecture 63: How to use existing MCP servers from MCP Github (example uses "fetch" server)
Section 9: Server Sent Events - MCP Server and Clients using SSE​
- Lecture 64: Introduction to SSE and Preview of What We'll Build
- Lecture 65: Quick Recap, What is STDIO and SSE?
- Lecture 66: Setup Directories, Clone GitHub Code (git pull only, if done at course start)
- Lecture 67: Setup Virtual Environment and Dependencies
- Lecture 68: Instructions for Windows Users
- Lecture 69: MCP SSE Server Code Walkthrough
- Lecture 70: MCP SSE Client Code Walkthrough
- Lecture 71: Dockerfile Code (for MCP Server) Walkthrough
- Lecture 72: Test your MCP SSE Server and Client Locally
Section 10: Deploying MCP Server to Google Cloud Platform​
- Lecture 73: Create a new Gmail Account (if you prefer to)
- Lecture 74: Create a Google Cloud Project
- Lecture 75: Install and Setup Google Cloud Command Line Interface (gcloud CLI)
- Lecture 76: Instructions for Windows Users
- Lecture 77: Build Docker Image for Google Cloud
- Lecture 78: Deploy MCP SSE Server to Google Cloud Run
- Lecture 79: Test MCP SSE Server on Google Cloud
Section 11: New Streamable HTTP Transport - Overview​
- Lecture 80: Quick Recap of MCP and What is Streamable HTTP
- Lecture 81: Streamable HTTP Lifecycle using Sequence Diagram
- Lecture 82: Initialisation Phase of Streamable HTTP
- Lecture 83: MCP Client Requests in Streamable HTTP
- Lecture 84: MCP Client Notifications and Responses in Streamable HTTP
- Lecture 85: MCP Client Listening to Messages from the Server in Streamable HTTP
- Lecture 86: Session handling in Streamable HTTP
- Lecture 87: External Resources for keeping up to date with changes

MCP & A2A - Model Context Protocol Masterclass
Build 5 MCP Clients, 3 Servers, UI | Connect 3 Agents via A2A | FREE Gemini Key
Section 12: Build a Streamable HTTP MCP Server​
- Lecture 88: GitHub Repo Link for the Streamable HTTP Server and Client Codes
- Lecture 89: Streamable HTTP MCP Server - Step-by-step demo
Section 13: Build a Streamable HTTP MCP Client using Gemini and Google ADK​
- Lecture 90: Introduction and Preview of What We'll Build
- Lecture 91: GitHub Repo Link for the Streamable HTTP Server and Client Codes
- Lecture 92: GOOGLE_API_KEY setup
- Lecture 93: Code overview
- Lecture 94: MCP Client User Interface - cmd.py
- Lecture 95: MCP Client Implementation - client.py
- Lecture 96: MCP Agent Implementation - agent.py
- Lecture 97: Code - MCP config json file
- Lecture 98: Code for Utilities & STDIO Server + Environment Setup
Section 14: Streamlit User Interface for MCP Client​
- Lecture 99: Instructions for Windows Users
- Lecture 100: Streamlit UI MCP Client Overview
- Lecture 101: Streamlit UI Demo
- Lecture 102: Comparing our UI with Claude Desktop!
- Lecture 103: Install Python, UV and VS Code (skip if done earlier)
- Lecture 104: Setup Directories (skip if done earlier)
- Lecture 105: Setup Google Gemini API Key (verify again if done earlier)
- Lecture 106: Create Virtual Environment and Install Dependencies
- Lecture 107: Get Streamlit UI Code
- Lecture 108: Streamlit App Imports and State Initialisation
- Lecture 109: Code for Utility Functions
- Lecture 110: Streamlit App Sidebar Code
- Lecture 111: Building the Main Chat UI for the App
- Lecture 112: Core Logic For Query Handling
- Lecture 113: Trigger Logic for Send and Other Chat Buttons
- Lecture 114: Streamlit App MCP Client Code
- Lecture 115: theailanguage_config.json and other files
- Lecture 116: Running the Streamlit UI
Section 15: A2A or Agent to Agent Protocol - Lifecycle and Core Components​
- Lecture 117: Introduction - what are LLMs, Agents and MCP
- Lecture 118: Why A2A Protocol? A2A vs MCP
- Lecture 119: Discovery - A2A Client, A2A Server, Agent Card
- Lecture 120: Initiation - Tasks, Messages, Parts
- Lecture 121: Processing - Artifacts, Streaming, Push Notifications, Non-streaming
- Lecture 122: Interaction - input-required state
- Lecture 123: Completion Flow & Summary of A2A
- Unpublished lecture: Note for Windows Users on MCP - Streamlit Integration

MCP & A2A - Model Context Protocol Masterclass
Build 5 MCP Clients, 3 Servers, UI | Connect 3 Agents via A2A | FREE Gemini Key
Section 16: Building your own A2A Client and A2A Server​
- Lecture 124: A Note on A2A Protocol Implementation
- Lecture 125: A2A Client and Server implementation with Agent Discovery and Tasks
- Lecture 126: Setup Instructions for Windows Users
Section 17: Build your own A2A Agent with Google Agent Development Kit (ADK)​
- Lecture 127: Introduction and A2A Agent Architecture
- Lecture 128: Quick Demo of the A2A Agent
- Lecture 129: Code and Gemini API Key Setup
- Lecture 130: Important Update to Google ADK
- Lecture 131: Instructions for Windows Users
- Lecture 132: Run your A2A Agent Server and Client
- Lecture 133: Agent Code Walkthrough
- Lecture 134: Agent Taskmanager Code Walkthrough
- Lecture 135: Agent main.py code walkthrough
- Lecture 136: Client code walkthrough - part 1
- Lecture 137: Client code walkthrough - part 2 - Manual Agent Discovery
- Lecture 138: Client code walkthrough - part 3
- Lecture 139: App code walkthrough
- Lecture 140: Quick Recap of Code Architecture
- Lecture 141: Models code walkthrough
Section 18: A2A with Multiple Agents​
- Lecture 142: Multi-agent A2A Architecture
Section 19: Connect 3 Agents with A2A​
- Lecture 143: Quick preview of what we'll build
- Lecture 144: A2A Architecture Recap
- Lecture 145: Agent Discovery and Registry
- Lecture 146: Orchestrator Host Agent
- Lecture 147: Orchestrator Taskmanager
- Lecture 148: Orchestrator entry python script
- Lecture 149: Greeting agent
- Lecture 150: Summary and other files, folders
- Lecture 151: Instructions for Windows Users
- Lecture 152: Setup the code & API Key
- Lecture 153: Important Update to Google ADK
- Lecture 154: Running the agents and client

MCP & A2A - Model Context Protocol Masterclass
Build 5 MCP Clients, 3 Servers, UI | Connect 3 Agents via A2A | FREE Gemini Key
Section 20: A2A with MCP​
- Lecture 155: Multi-agent A2A + MCP Architecture
Section 21: Implementing Agents with A2A with MCP​
- Lecture 156: Quick preview of what we'll build
- Lecture 157: A2A + MCP Architecture Recap
- Lecture 158: Code Setup
- Lecture 159: Instructions for Windows Users
- Lecture 160: Important Update to Google ADK
- Lecture 161: Running the code
- Lecture 162: Code - orchestrator.py with MCP Logic
- Lecture 163: Code - mcp_connect.py
- Lecture 164: Code - mcp_discovery.py
Section 22: A2A Python SDK​
- Lecture 165: Introduction to the A2A Python SDK
- Lecture 166: What is the A2A Python SDK?
- Lecture 167: Demo 1 - Understanding Single-turn A2A Agent Streaming Task Updates
- Lecture 168: Demo 2 - Understanding Multi-turn A2A Agent Streaming Task Updates
- Lecture 169: Setting up and Running the Code
- Lecture 170: Instructions for Windows Users
- Lecture 171: Code Walkthrough: A2A Client
- Lecture 172: Code Walkthrough: Agent
- Lecture 173: Code Walkthrough: AgentExecutor
- Lecture 174: Code Walkthrough: Agent main.py
Section 23: Building a Vision Agents with Google ADK + A2A​
- Lecture 175: Introduction & Preview of What We'll Build
- Lecture 176: Code Setup, Get Gemini Key
- Lecture 177: Instructions for Windows Users
- Lecture 178: Running the Code
- Lecture 179: Code Walkthrough - Intro and main.py
- Lecture 180: Code Walkthrough - task_manager.py
- Lecture 181: Code walkthrough - agent.py
- Lecture 182: Note - Sample Images and Orchestrator Update
Section 24: Deploy A2A Agent using Docker to gcloud​
- Lecture 183: Deploy A2A Agent using Docker to gcloud
- Lecture 184: Instructions for Windows Users
Section 25: Bringing it all together - Let's Live Code an A2A + MCP Multi-agent System​
- Lecture 185: Introduction
- Lecture 186: Requirements
- Lecture 187: Important note on Python Version | How to Access Code Repository
- Lecture 188: Project Setup
- Lecture 189: Notes for Windows users
- Lecture 190: 1.1 MCP Server - STDIO
- Lecture 191: 1.2 MCP Server - Streamable HTTP
- Lecture 192: 2.1 MCP Client - Design & Config
- Lecture 193: 2.2 MCP Client - Discovery
- Lecture 194: 2.3 MCP Client - Connector
- Lecture 195: 3.1 A2A Setup
- Lecture 196: 3.2 A2A Remote Agent - base code
- Lecture 197: 3.3 A2A Remote Agent - main code
- Lecture 198: 3.4 A2A Remote Agent - executor code
- Lecture 199: 3.5 A2A Remote Agent - invoke Function
- Lecture 200: 3.6 A2A Server - code
- Lecture 201: 4.1 A2A - Registry
- Lecture 202: 4.2 A2A - Discovery
- Lecture 203: 4.3 A2A - Connector
- Lecture 204: 5.1 A2A Host Agent - Orchestrator
- Lecture 205: 5.2 A2A Host Agent - List agents and delegate tasks
- Lecture 206: 5.3 A2A Host Agent - executor code
- Lecture 207: 5.4 A2A Host Agent - main code
- Lecture 208: 6 A2A Command Line App and Client
- Lecture 209: API Key and Environment Setup
- Lecture 210: Other Code Changes
- Lecture 211: GET THE CODE
- Lecture 212: DEMO
Section 26: Deep dive into MCP OAuth Authentication (Google Sign In)​
- Lecture 213: Complete Overview of MCP OAuth Authentication
- Lecture 214: Creating an Authorisation Server on Google Cloud
- Lecture 215: Github Repo Link
- Lecture 216: Full Code Implementation for Google Sign In Using FastMCP

MCP & A2A - Model Context Protocol Masterclass
Build 5 MCP Clients, 3 Servers, UI | Connect 3 Agents via A2A | FREE Gemini Key