Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MCP Fundamentals Workshop

AI Bootcamp Open Graph preview

Welcome to the MCP Fundamentals Workshop by learnwithparam.com!

This hands-on workshop teaches you the Model Context Protocol (MCP) — an open protocol that standardizes how AI applications connect to external tools and data sources. You'll go from manual tool integration to building MCP servers and multi-server clients, step by step.

Regional pricing is available for eligible learners, with discounts of up to 60% in supported regions. Start here: https://www.learnwithparam.com/ai-bootcamp


Workshop Storyline

You're building a DevTools AI Assistant — an internal tool that helps your engineering team find research papers (arXiv) and look up technical concepts (Wikipedia). You'll start by wiring everything up manually, feel the pain of the M x N problem, then rebuild it with MCP to see everything click.


Workshop Structure (10 Steps)

Module 1: The Problem

Step File Description
01 01-why-mcp.md The M x N integration problem and why MCP exists

Module 2: Meet the Protocol

Step File Description
02 02-mcp-architecture.md Host, Client, Server roles + Tools, Resources, Prompts
03 03-transport-protocols.md STDIO vs SSE vs Streamable HTTP — when to use each

Module 3: Tool Use Without MCP (The Pain)

Step File Description
04 04-tool-use-arxiv.py Manual tool integration for arXiv (notice the boilerplate)
05 05-tool-use-wikipedia.py Same boilerplate again for Wikipedia (the M x N problem)

Module 4: Build Your First MCP Server

Step File Description
06 06-build-mcp-server.py Build a server from scratch with @mcp.tool()

Module 5: The MCP Client (The Relief)

Step File Description
07 07-mcp-client-basics.py Your first MCP client — CLI, no LLM, STDIO transport
08 08-mcp-client-single.py Full chat UI client — Streamlit + LLM + SSE transport

Module 6: Beyond Tools

Step File Description
09 09-resources-and-prompts.md Resources (read-only data) and Prompts (pre-built workflows)

Module 7: Multi-Server Architecture

Step File Description
10 10-mcp-client-multi.py Connect to multiple servers — add sources via config

MCP Servers (Referenced by Steps Above)

File Transport Features
servers/arxiv-server.py STDIO Tools only
servers/wikipedia-server-stdio.py STDIO Tools only
servers/wikipedia-server-sse.py SSE Tools only
servers/wikipedia-server-full-stdio.py STDIO Tools + Resources + Prompts
servers/wikipedia-server-full-sse.py SSE Tools + Resources + Prompts
servers/wikipedia-server-full-http.py Streamable HTTP Tools + Resources + Prompts

Technology Stack


Getting Started

Prerequisites

  • Python 3.11+
  • UV (fast Python package manager)
  • An AI API Key (Gemini recommended for its free tier)
  • Docker (optional, for containerized setup)
  • Node.js (only needed for step 10's filesystem server via npx)

Setup

# 1. Initialize environment and install dependencies
make setup

# 2. Add your API key
# Edit .env and set GOOGLE_API_KEY (or any LiteLLM-supported provider)

Quick Start

# Run the theory (read in order)
# Open 01-why-mcp.md, 02-mcp-architecture.md, 03-transport-protocols.md

# Run the "pain" demos (steps 04-05)
make run-tool-use-arxiv      # Manual arXiv integration
make run-tool-use-wiki       # Manual Wikipedia integration

# Build and test an MCP server (step 06)
# Read 06-build-mcp-server.py, then test with MCP Inspector:
npx @modelcontextprotocol/inspector uv run python 06-build-mcp-server.py

# Run an MCP client (steps 07-08)
uv run python 07-mcp-client-basics.py           # CLI client
make run-server-wiki-sse                         # Start server (terminal 1)
make run-client-single                           # Start client (terminal 2)

# Multi-server (step 10)
make run-client-multi

Teaching Guide (For Live Presentations)

Recommended Flow (90-120 minutes)

  1. The Problem (10 min): Walk through 01-why-mcp.md. Ask the audience: "How many of you have written custom API integrations? How many times?"

  2. Architecture (10 min): 02-mcp-architecture.md + 03-transport-protocols.md. Focus on the three roles and three capabilities.

  3. Live Coding: The Pain (20 min): Open 04-tool-use-arxiv.py. Run it. Then open 05-tool-use-wikipedia.py. Point out the copy-pasted boilerplate. Ask: "What happens when we add a 3rd data source?"

  4. Live Coding: Build a Server (15 min): Walk through 06-build-mcp-server.py step by step. Show how @mcp.tool() eliminates schemas. Test with MCP Inspector.

  5. Live Coding: The Client (15 min): Run 07-mcp-client-basics.py. Show tool discovery. Then run 08-mcp-client-single.py with the SSE server for the full chat experience.

  6. Resources & Prompts (10 min): Walk through 09-resources-and-prompts.md. Show the full server variants.

  7. Multi-Server (10 min): Show server_config.json, then run 10-mcp-client-multi.py. Add/remove a server entry live.

  8. Wrap-Up (10 min): Production considerations, the MCP ecosystem, what to build next.


How to Use This Workshop (Self-Paced)

  1. Read the theory (steps 01-03) to understand the concepts
  2. Run the pain demos (steps 04-05) to feel the M x N problem
  3. Build a server (step 06) — read the code, then test it
  4. Connect a client (steps 07-08) to see MCP in action
  5. Learn Resources & Prompts (step 09) and explore the full server variants
  6. Go multi-server (step 10) to see the full power of MCP

Make Commands

# Setup
make setup              # Initialize .env, install uv, create venv
make install            # Sync dependencies
make validate           # Validate Python & JSON syntax

# Servers
make run-server-arxiv          # arXiv MCP server (STDIO)
make run-server-wiki-stdio     # Wikipedia MCP server (STDIO)
make run-server-wiki-sse       # Wikipedia MCP server (SSE, port 8000)
make run-server-wiki-full-stdio  # Full Wikipedia server (STDIO)
make run-server-wiki-full-sse    # Full Wikipedia server (SSE)
make run-server-wiki-full-http   # Full Wikipedia server (Streamable HTTP)

# Demos & Clients
make run-tool-use-arxiv    # Step 04: Manual arXiv integration
make run-tool-use-wiki     # Step 05: Manual Wikipedia integration
make run-client-basics     # Step 07: CLI MCP client
make run-client-single     # Step 08: Single-server Streamlit client
make run-client-multi      # Step 10: Multi-server Streamlit client

# Testing & Cleanup
make test               # Run full test suite
make clean              # Remove venv, cache, auto-generated data
make clean-all          # Also remove Docker volumes

About

Created with care by learnwithparam.com.

About

Hands-on MCP fundamentals workshop material for building real AI and web apps.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages