Skip to content

Commit 38790ca

Browse files
authored
Merge pull request #1 from huggingface/basic-structure
Basic-structure
2 parents b507a9f + 9127a3d commit 38790ca

27 files changed

+411
-0
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Build documentation
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
workflow_dispatch:
8+
9+
jobs:
10+
build:
11+
uses: huggingface/doc-builder/.github/workflows/build_main_documentation.yml@main
12+
with:
13+
commit_sha: ${{ github.sha }}
14+
package: mcp-course
15+
path_to_docs: units
16+
build_command: doc-builder build mcp-course units --build_dir build/mcp-course
17+
deploy_to_hub: true
18+
languages: en
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Build PR Documentation
2+
3+
on:
4+
pull_request:
5+
6+
concurrency:
7+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
8+
cancel-in-progress: true
9+
10+
jobs:
11+
build:
12+
uses: huggingface/doc-builder/.github/workflows/build_pr_documentation.yml@main
13+
with:
14+
commit_sha: ${{ github.event.pull_request.head.sha }}
15+
pr_number: ${{ github.event.number }}
16+
package: mcp-course
17+
package_name: mcp-course
18+
path_to_docs: mcp-course/units/
19+
additional_args: --not_python_module
20+
languages: en
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Upload PR Documentation
2+
3+
on:
4+
workflow_run:
5+
workflows: ["Build PR Documentation"]
6+
types:
7+
- completed
8+
9+
permissions:
10+
actions: write
11+
contents: write
12+
deployments: write
13+
pull-requests: write
14+
15+
16+
jobs:
17+
build:
18+
uses: huggingface/doc-builder/.github/workflows/upload_pr_documentation.yml@main
19+
with:
20+
package_name: mcp-course
21+
hub_base_path: https://moon-ci-docs.huggingface.co/learn
22+
secrets:
23+
hf_token: ${{ secrets.HF_DOC_BUILD_PUSH }}
24+
comment_bot_token: ${{ secrets.COMMENT_BOT_TOKEN }}

README.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# The Model Context Protocol (MCP) Course
2+
3+
If you like the course, **don't hesitate to ⭐ star this repository**. This helps us to **make the course more visible 🤗**.
4+
5+
## Content
6+
7+
The course is divided into 4 units. These will take you from **the basics of Model Context Protocol to a final project implementing MCP in an AI application**.
8+
9+
Sign up here (it's free) 👉 [Coming Soon]
10+
11+
You can access the course here 👉 [Coming Soon]
12+
13+
| Unit | Topic | Description |
14+
| ------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
15+
| 0 | Welcome to the Course | Welcome, guidelines, necessary tools, and course overview. |
16+
| 1 | Introduction to Model Context Protocol | Definition of MCP, key concepts, and its role in connecting AI models with external data and tools. |
17+
| 2 | Understanding MCP Architecture and Core Concepts | Explore the MCP architecture, communication protocols, and core primitives. |
18+
| 3 | Building with MCP: Practical Development | Learn to implement MCP clients and servers using available SDKs and frameworks. |
19+
| 4 | Advanced Topics, Security, and the Future of MCP | Explore advanced features, security considerations, and the future roadmap of MCP. |
20+
21+
## Prerequisites
22+
23+
* Basic understanding of AI and LLM concepts
24+
* Familiarity with software development principles and API concepts
25+
* Experience with at least one programming language (Python or TypeScript examples will be emphasized)
26+
27+
## Contribution Guidelines
28+
29+
If you want to contribute to this course, you're welcome to do so. Feel free to open an issue or submit a pull request. For specific contributions, here are some guidelines:
30+
31+
### Small typo and grammar fixes
32+
33+
If you find a small typo or grammar mistake, please fix it yourself and submit a pull request. This is very helpful for students.
34+
35+
### New unit
36+
37+
If you want to add a new unit, **please create an issue in the repository, describe the unit, and why it should be added**. We will discuss it and if it's a good addition, we can collaborate on it.
38+
39+
## Citing the project
40+
41+
To cite this repository in publications:
42+
43+
```
44+
@misc{mcp-course,
45+
author = {Your Name},
46+
title = {The Model Context Protocol Course},
47+
year = {2025},
48+
howpublished = {\url{https://github.com/yourusername/mcp-course}},
49+
note = {GitHub repository},
50+
}
51+
```

requirements.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
hf-doc-builder>=0.5.0
2+
mdx_truly_sane_lists
3+
pyyaml

units/en/_toctree.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
- title: "0. Welcome to the MCP Course"
2+
sections:
3+
- local: unit0/introduction
4+
title: Welcome to the MCP Course
5+
6+
- title: "1. Introduction to Model Context Protocol"
7+
sections:
8+
- local: unit1/introduction
9+
title: Introduction to Model Context Protocol (MCP)
10+
- local: unit1/key-concepts
11+
title: Key Concepts and Terminology
12+
- local: unit1/architectural-components
13+
title: Architectural Components
14+
- local: unit1/communication-protocol
15+
title: The Communication Protocol
16+
- local: unit1/capabilities
17+
title: Understanding MCP Capabilities
18+
- local: unit1/gradio-mcp
19+
title: Gradio MCP Integration
20+
21+
- title: "2. Use Case: Building with MCP"
22+
sections:
23+
- local: unit2/introduction
24+
title: Introduction
25+
- local: unit2/environment-setup
26+
title: Setting Up Your Development Environment & SDKs
27+
- local: unit2/building-server
28+
title: Building Your First MCP Server
29+
- local: unit2/server-capabilities
30+
title: Implementing Server Capabilities
31+
- local: unit2/developing-clients
32+
title: Developing MCP Clients
33+
- local: unit2/configuration
34+
title: Configuration, Authentication, and Debugging
35+
- local: unit2/hub-mcp-servers
36+
title: MCP Servers on Hugging Face Hub
37+
38+
- title: "3. Use Case: Deploying with MCP"
39+
sections:
40+
- local: unit3/introduction
41+
title: Introduction
42+
- local: unit3/advanced-features
43+
title: Exploring Advanced MCP Features
44+
- local: unit3/security
45+
title: Security Deep Dive - Threats and Mitigation Strategies
46+
- local: unit3/limitations
47+
title: Limitations, Challenges, and Comparisons
48+
- local: unit3/huggingface-ecosystem
49+
title: Hugging Face's Tiny Agents and MCP
50+
- local: unit3/final-project
51+
title: Final Project - Building a Complete MCP Application
52+
53+
- title: "Bonus Units"
54+
sections:
55+
- local: unit4/introduction
56+
title: Introduction

units/en/unit0/introduction.mdx

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
# Welcome to the 🤗 Model Context Protocol (MCP) Course
2+
3+
<!-- TODO: @burtenshaw make and add image -->
4+
<!-- ![MCP Course thumbnail](https://placeholder-for-mcp-course-thumbnail.com/image.png) -->
5+
6+
Welcome to the most exciting topic in AI today: **Model Context Protocol (MCP)**!
7+
8+
This free course will take you on a journey, **from beginner to expert**, in understanding, using, and building applications with MCP.
9+
10+
This first unit will help you onboard:
11+
12+
* Discover the **course's syllabus**.
13+
* **Choose the path** you're going to take (either self-audit or certification process).
14+
* **Get more information about the certification process and the deadlines**.
15+
* Get to know the team behind the course.
16+
* Create your **account**.
17+
* **Sign-up to our Discord server**, and meet your classmates and us.
18+
19+
Let's get started!
20+
21+
## What to expect from this course?
22+
23+
In this course, you will:
24+
25+
* 📖 Study Model Context Protocol in **theory, design, and practice.**
26+
* 🧑‍💻 Learn to **use established MCP SDKs and frameworks**.
27+
* 💾 **Share your projects** and explore applications created by the community.
28+
* 🏆 Participate in challenges where you will **evaluate your MCP implementations against other students'.**
29+
* 🎓 **Earn a certificate of completion** by completing assignments.
30+
31+
And more!
32+
33+
At the end of this course, you'll understand **how MCP works and how to build your own AI applications that leverage external data and tools using the latest MCP standards**.
34+
35+
Don't forget to **sign up to the course!**
36+
37+
(We are respectful of your privacy. We collect your email address to be able to **send you the links when each Unit is published and give you information about the challenges and updates**).
38+
39+
## What does the course look like?
40+
41+
The course is composed of:
42+
43+
* _Foundational Units_: where you learn MCP **concepts in theory**.
44+
* _Hands-on_: where you'll learn **to use established MCP SDKs** to build your applications. These hands-on sections will have pre-configured environments.
45+
* _Use case assignments_: where you'll apply the concepts you've learned to solve a real-world problem that you'll choose.
46+
* _The Challenge_: you'll get to put your implementation to compete against other implementations in a challenge. There will also be a leaderboard for you to compare performance.
47+
48+
This **course is a living project, evolving with your feedback and contributions!** Feel free to open issues and PRs in GitHub, and engage in discussions in our Discord server.
49+
50+
After you have gone through the course, you can also send your feedback 👉 using this form [LINK TO FEEDBACK FORM]
51+
52+
## What's the syllabus?
53+
54+
Here is the **general syllabus for the course**. A more detailed list of topics will be released with each unit.
55+
56+
| Chapter | Topic | Description |
57+
| ------- | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
58+
| 0 | Onboarding | Set you up with the tools and platforms that you will use. |
59+
| 1 | MCP Fundamentals | Explain core concepts, architecture, and components of Model Context Protocol. Show a simple use case using MCP. |
60+
| 2 | Architecture and Core Concepts | Understand the MCP architecture, communication protocols, and core primitives like Tools, Resources, and Prompts. |
61+
| 3 | Practical Development | Learn to implement MCP clients and servers using available SDKs and frameworks. |
62+
| 4 | Advanced Topics and Security | Explore advanced features, security considerations, and the future roadmap of MCP. |
63+
64+
## What are the prerequisites?
65+
66+
To be able to follow this course, you should have:
67+
68+
* Basic understanding of AI and LLM concepts
69+
* Familiarity with software development principles and API concepts
70+
* Experience with at least one programming language (Python or TypeScript examples will be emphasized)
71+
72+
## What tools do I need?
73+
74+
You only need 2 things:
75+
76+
* _A computer_ with an internet connection.
77+
* An _Account_: to access the course resources and create projects. If you don't have an account yet, you can create one **here** (it's free).
78+
79+
## The Certification Process
80+
81+
### Two paths
82+
83+
You can choose to follow this course _in audit mode_, or do the activities and _get one of the two certificates we'll issue_.
84+
85+
If you audit the course, you can participate in all the challenges and do assignments if you want, and **you don't need to notify us**.
86+
87+
The certification process is **completely free**:
88+
89+
* _To get a certification for fundamentals_: you need to complete Unit 1 of the course. This is intended for students that want to get up to date with the latest trends in MCP.
90+
* _To get a certificate of completion_: you need to complete Unit 1, one of the use case assignments we'll propose during the course, and the final challenge.
91+
92+
There's a deadline for the certification process: all the assignments must be finished before **July 1st 2025**.
93+
94+
<!-- TODO: @burtenshaw make and add image -->
95+
<!-- ![Deadline](https://placeholder-for-deadline-image.com/image.png) -->
96+
97+
## What is the recommended pace?
98+
99+
Each chapter in this course is designed **to be completed in 1 week, with approximately 3-4 hours of work per week**.
100+
101+
Since there's a deadline, we provide you a recommended pace:
102+
103+
<!-- TODO: @burtenshaw make and add image -->
104+
<!-- ![Recommended Pace](https://placeholder-for-pace-image.com/image.png) -->
105+
106+
## How to get the most out of the course?
107+
108+
To get the most out of the course, we have some advice:
109+
110+
1. Join study groups in Discord: studying in groups is always easier. To do that, you need to join our discord server and verify your account.
111+
2. **Do the quizzes and assignments**: the best way to learn is through hands-on practice and self-assessment.
112+
3. **Define a schedule to stay in sync**: you can use our recommended pace schedule below or create yours.
113+
114+
<!-- TODO: @burtenshaw make and add image -->
115+
<!-- ![Course advice](https://placeholder-for-advice-image.com/image.png) -->
116+
117+
## Who are we
118+
119+
About the authors:
120+
121+
### Ben Burtenshaw
122+
123+
<!-- TODO: @burtenshaw add personal info -->
124+
125+
## Acknowledgments
126+
127+
We would like to extend our gratitude to the following individuals and partners for their invaluable contributions and support:
128+
129+
<!-- TODO: @burtenshaw add contributors and partners -->
130+
131+
## I found a bug, or I want to improve the course
132+
133+
Contributions are **welcome** 🤗
134+
135+
* If you _found a bug 🐛 in a notebook_, please open an issue and **describe the problem**.
136+
* If you _want to improve the course_, you can open a Pull Request.
137+
* If you _want to add a full section or a new unit_, the best is to open an issue and **describe what content you want to add before starting to write it so that we can guide you**.
138+
139+
## I still have questions
140+
141+
Please ask your question in our discord server #mcp-course-questions.
142+
143+
Now that you have all the information, let's get on board
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Architectural Components
2+
3+
This is a placeholder for the Architectural Components section.

units/en/unit1/capabilities.mdx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Understanding MCP Capabilities
2+
3+
This is a placeholder for the Understanding MCP Capabilities section.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# The Communication Protocol
2+
3+
This is a placeholder for the Communication Protocol section.

0 commit comments

Comments
 (0)