mcp-crash-course Public
Hands-on crash course for the Model Context Protocol (MCP) with project-based branches on Streamable-HTTP, LangChain adapters, and Docker.
Open in github.dev Open in a new github.dev tab Open in codespace
Welcome to the MCP Crash Course! This repository is designed to teach you the fundamentals and advanced concepts of the Model Context Protocol (MCP) in a hands-on way.
The Model Context Protocol (MCP) helps connect AI-agentic applications powered by Large Language Models (LLMs) to external tools and data sources, enabling more capable and context-aware AI systems.
This repository uses a unique branch-based structure for learning:
- Each
project/*branch covers a specific MCP feature or concept. - Within each branch, commits are ordered chronologically. Follow the commits one by one to learn the topic step-by-step.
Simply check out the branch for the topic you want to learn and walk through the commits!
Here are the topics currently available:
project/sse: Learn how to implement Server-Sent Events (SSE) with MCP.project/langchain-mcp-adapters: Explore integrating MCP with LangChain adapters.project/docker-mcp: Understand how to containerize your MCP applications using Docker.project/prompts: Learn how to implement and work with MCP Prompts, featuring FastMCP 2.0.
More topics might be added, so keep an eye out!
Prerequisites 🛠️
Before you start, make sure you have the following installed:
- 🐍 Python (version 3.10 or higher)
- 📦
uv(the fast Python package installer and resolver) - ✨ Cursor IDE
- ☁️ Claude Desktop
- Clone the repository:
git clone https://github.com/emarco177/mcp-crash-course.git cd mcp-crash-course - Choose a topic and check out the branch:
# Example for the SSE topic git checkout project/sse - Follow the commits: Use
git log --oneline --reverseto see the chronological list of commits for the branch. Then, usegit checkout <commit_hash>or your Git client to step through the history and learn.
Contributing 🤝
Contributions are welcome! If you’d like to add a new topic or improve an existing one:
- Fork the repository.
- Create a new branch for your feature following the naming convention:
project/your-mcp-feature-name. - Make your changes, ensuring each commit represents a logical step in the learning process.
- Open a Pull Request against the
mainbranch.
License 📄
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Happy learning! 🎉
Releases
No releases published
Packages
No packages published
