Developers build a working MCP server and client from scratch using Python and FastMCP while learning how to design agent-ready tools, resources, and workflows with the Model Context Protocol.
Overview
Syllabus
Module 1: Introduction to MCP and Agent-Facing Design
- Examine the integration problem MCP is designed to solve and how it standardizes connections between AI applications and external tools, resources, and workflows.
- Review MCP architecture, including the roles of the host, client, and server.
- Explore how context windows affect tool design and output design.
- Identify the three main server primitives: tools, resources, and prompts.
Module 2: Why Many MCP Servers Perform Poorly
- Analyze why MCP servers should not be designed as one-to-one REST wrappers and the cost of excessive tool discovery for agents.
- Evaluate why agent iteration is slower and more expensive than human trial and error.
- Assess how output format and schema size affect context efficiency.
- Apply principles of outcome-based tool design to improve server performance.
Module 3: Build an MCP Server with FastMCP
- Initialize a new FastMCP project, create a simple tool, and inspect the server with the MCP Inspector.
- Review the SpaceX API and identify likely user workflows for tool design.
- Build a naive version to observe anti-patterns, then refactor into a smaller, more effective toolset.
- Format outputs for LLM consumption using Markdown and improve tool descriptions, matching logic, and error handling.
Taught by
Dan Rodney, Garfield Stinvil, Mourad Kattan, and Christophe Drayton