← Learning

MCP

A linear, one-concept-per-lesson path through the Model Context Protocol (MCP): building MCP servers first (tools, resources, prompts), then MCP clients, then wiring MCP tools into a real LangChain/Gemini agent. 26 lessons · 3 tiers.

Prerequisites: Completion of LangChain & Agent Building, or already comfortable with @tool, bind_tools, and the manual tool-calling loop. MCP tools are a server-hosted version of the same idea, a name, a description, and an argument schema, just served over a protocol instead of imported as a Python function.

Lessons use Google's Gemini free tier (gemini-3.5-flash-lite), the same model as the other three courses, once an LLM enters the picture starting at Lesson 15. Several lessons also lean on the MCP Inspector, a Node-based dev tool run with npx @modelcontextprotocol/inspector, to browse a server's tools, resources, and prompts without writing a client first.

Built on MCP, the protocol this course teaches.

Course source

Every lesson's README and lesson.py for this course live in the ai-agent-engineering repo.

View on GitHub →
MCP

Beginner

Building an MCP server: tools, resources, and prompts, no client or LLM yet.

  1. 01What Is MCP?GitHub
  2. 02First ServerGitHub
  3. 03Tool Schemas From TypesGitHub
  4. 04Multiple ToolsGitHub
  5. 05ResourcesGitHub
  6. 06PromptsGitHub
  7. 07Tool Error HandlingGitHub
  8. 08Logging on StdioGitHub
  9. 09Inspecting With MCP InspectorGitHub
  10. 10Checkpoint: Notes ServerGitHub

Intermediate

Building an MCP client, then handing its tools to a real LLM.

  1. 11First ClientGitHub
  2. 12Calling Tools From a ClientGitHub
  3. 13Reading Resources and PromptsGitHub
  4. 14Content Blocks and Structured OutputGitHub
  5. 15Wiring an LLM to MCP ToolsGitHub
  6. 16Multi-Turn Tool LoopGitHub
  7. 17Connecting to Multiple ServersGitHub
  8. 18Lifespan and App ContextGitHub
  9. 19Checkpoint: Gemini Chatbot Over Two MCP ServersGitHub

Advanced

Transports, authentication, notifications, elicitation, and security.

  1. 20Streamable HTTP TransportGitHub
  2. 21Authenticating HTTP ServersGitHub
  3. 22Notifications and List ChangedGitHub
  4. 23ElicitationGitHub
  5. 24Security and Untrusted Tool InputGitHub
  6. 25Connecting to Claude Desktop and CodeGitHub
  7. 26Capstone: Task Manager, Server and ClientGitHub
Start at Lesson 1

Contact

Book a Call