8 modules + capstone. Build, deploy, and secure MCP servers and clients — the open protocol that lets any AI assistant call any tool.
🔍 Search the Course · 💬 Ask the Course (works offline)
MCP (Model Context Protocol) is an open standard that defines how AI applications connect to external tools and data sources. Instead of every app reinventing its own plugin API, any MCP client (Claude Desktop, Cursor, your custom agent) can connect to any MCP server (GitHub, Postgres, your own service) using the same protocol.
mcp SDK handles all protocol framing, JSON-RPC serialization, and capability negotiation for you. You just write Python functions with type hints.
TRACK 1 — PROTOCOL FOUNDATIONS
The MCP architecture in full: hosts, clients, servers, capability negotiation. JSON-RPC 2.0 wire format. How MCP differs from REST, GraphQL, and direct function calling. Real-world deployments (Claude Desktop, Cursor, GitHub Copilot).
Build a working MCP server using the mcp Python SDK. @mcp.tool() decorator, type hints as schema, stdio transport. Test locally with MCP Inspector. Both Python and TypeScript.
The other two MCP primitives. @mcp.resource() for read-only data access (files, database rows, API snapshots). @mcp.prompt() for server-side prompt templates. When to use each vs tools.
TRACK 2 — TRANSPORT & DEPLOYMENT
Convert a stdio server to HTTP. Server-Sent Events for streaming, OAuth 2.0 for authentication, CORS configuration. Deploy to any cloud VPS or containerize with Docker. Share one server across multiple clients.
Write a custom MCP client that connects to multiple servers, aggregates their capabilities, and routes LLM tool calls. The host-side architecture. Auto-discovery, capability merging, fallback handling.
TRACK 3 — SECURITY & INTEGRATION
OAuth 2.0 scopes, capability negotiation, server sandboxing. Prompt injection via malicious resource content. Tool call authorization patterns. What to audit before exposing an MCP server to the internet.
Wire up your MCP server to Claude Code via .claude/settings.json. Claude Desktop config. VS Code extension integration. Debug with MCP Inspector. Build a personal productivity server.
Route requests across a fleet of specialized MCP servers. Discovery, load balancing, health checks. Build an agent that transparently uses servers for data, compute, and storage as separate capability domains.
TRACK 4 — PRODUCTION
This track builds on function calling and agent fundamentals. Before MCP-04 (clients), you should understand the ReAct loop and tool use. You don't need the full main course — just these:
Module links point to the main course. If you're on the OS track, the same modules are available using Ollama + OpenAI SDK — the MCP server/client code is identical regardless of which LLM you use.