Welcome & setup
Welcome to the MCP Fundamentals Workshop! I'm Param, and in this workshop we'll solve one of the biggest headaches in AI engineering: integration glue code. By the end, you'll build MCP servers and clients from scratch using Python.
Here's our scenario: You're building a DevTools AI Assistant, a chat interface that helps engineers search research papers, look up documentation on Wikipedia, and query internal systems. Sounds straightforward, right? Let's see how quickly it gets messy.
Here's our journey: 1. Why MCP Exists: the M×N problem and the protocol solution 2. MCP Architecture: hosts, clients, servers, and capabilities 3. Feel the Pain: build integrations the hard way (on purpose) 4. Your First MCP Server: see the boilerplate vanish 5. The Complete Picture: resources, prompts, and full chat clients 6. Multi-server Architecture: config-driven, infinitely scalable We'll go from 200+ lines of glue code per integration down to zero.
Workshop roadmap: from pain to protocol
Each module builds on the previous one. We start with the problem, feel it, then solve it.
You should be comfortable with Python and understand how LLM tool calling works (the Building AI Agents course covers this). We'll use LiteLLM as our universal LLM interface and FastMCP for the MCP server SDK. No framework experience needed.
# Clone the workshop repository
git clone https://github.com/learnwithparam/mcp-fundamentals-workshop.git mcp-fundamentals-workshop
cd mcp-fundamentals-workshop
# Create .env file and add your API key
cp env.example .env
# Edit .env with your API key
# Install dependencies
make setupClone the repo, configure your API key, and install dependencies.
# Get a free API key from https://aistudio.google.com/apikey
GOOGLE_API_KEY=your_key_here
# Default model (works with Google's free tier)
DEFAULT_MODEL=gemini/gemini-2.5-flashEdit the .env file with your API key. Google AI Studio offers a free tier.
Validation checklist: Environment setup checklist
Loading practice…
You're all set! Let's start by understanding the problem MCP was designed to solve.