Skip to content

[TRANSLATION] add zh docs #22

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 22 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,46 @@
# The Model Context Protocol (MCP) Course
# 模型上下文协议 (MCP) 课程

![1](https://github.com/user-attachments/assets/d26dcc5e-46cb-449e-aecb-49ece10d342a)

If you like the course, **don't hesitate to ⭐ star this repository**. This helps us to **make the course more visible 🤗**.
如果您喜欢这个课程,**请不要犹豫给这个仓库点个 ⭐ star**。这有助于我们**提高课程的可见度 🤗**

<img src="https://huggingface.co/datasets/agents-course/course-images/resolve/main/en/communication/please_star.gif" alt="Star the repo" />

## Content
## 内容

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**.
本课程分为 4 个单元。这些单元将带您从**模型上下文协议的基础知识到最终在 AI 应用中实现 MCP 的项目**。

Sign up here (it's free) 👉 [Coming Soon]
在这里注册(免费)👉 [即将推出]

You can access the course here 👉 [Coming Soon]
您可以在这里访问课程 👉 [即将推出]

| Unit | Topic | Description |
| 单元 | 主题 | 描述 |
| ------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| 0 | Welcome to the Course | Welcome, guidelines, necessary tools, and course overview. |
| 1 | Introduction to Model Context Protocol | Definition of MCP, key concepts, and its role in connecting AI models with external data and tools. |
| 2 | Building with MCP: Practical Development | Learn to implement MCP clients and servers using available SDKs and frameworks. |
| 0 | 欢迎来到课程 | 欢迎、指南、必要工具和课程概述。 |
| 1 | 模型上下文协议简介 | MCP 的定义、关键概念及其在连接 AI 模型与外部数据和工具中的作用。 |
| 2 | 使用 MCP 进行开发:实践开发 | 学习使用可用的 SDK 和框架实现 MCP 客户端和服务器。 |

## Prerequisites
## 先决条件

* Basic understanding of AI and LLM concepts
* Familiarity with software development principles and API concepts
* Experience with at least one programming language (Python or TypeScript examples will be emphasized)
* AI LLM 概念的基本理解
* 熟悉软件开发原则和 API 概念
* 至少掌握一种编程语言(将重点介绍 Python TypeScript 示例)

## Contribution Guidelines
## 贡献指南

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:
如果您想为这个课程做出贡献,我们非常欢迎。您可以随时提出 issue 或提交 pull request。对于具体的贡献,以下是一些指南:

### Small typo and grammar fixes
### 小错误和语法修正

If you find a small typo or grammar mistake, please fix it yourself and submit a pull request. This is very helpful for students.
如果您发现小错误或语法错误,请自行修复并提交 pull request。这对学生非常有帮助。

### New unit
### 新单元

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.
如果您想添加新单元,**请在仓库中创建一个 issue,描述该单元以及为什么应该添加它**。我们将讨论它,如果这是一个好的补充,我们可以一起合作。

## Citing the project
## 引用项目

To cite this repository in publications:
在出版物中引用此仓库:

```
@misc{mcp-course,
Expand Down
Binary file added units/zh-CN/.DS_Store
Binary file not shown.
46 changes: 46 additions & 0 deletions units/zh-CN/_toctree.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
- title: "0. 欢迎来到 MCP 课程"
sections:
- local: unit0/introduction
title: 欢迎来到 MCP 课程

- title: "1. 模型上下文协议简介"
sections:
- local: unit1/introduction
title: 模型上下文协议 (MCP) 简介
- local: unit1/key-concepts
title: 关键概念和术语
- local: unit1/architectural-components
title: 架构组件
- local: unit1/communication-protocol
title: 通信协议
- local: unit1/capabilities
title: 理解 MCP 能力
- local: unit1/sdk
title: MCP SDK
- local: unit1/mcp-clients
title: MCP 客户端
- local: unit1/gradio-mcp
title: Gradio MCP 集成

- title: "2. 用例:端到端 MCP 应用"
sections:
- local: unit2/introduction
title: MCP 应用开发简介
- local: unit2/gradio-server
title: 构建 Gradio MCP 服务器
- local: unit2/clients
title: 在应用中使用 MCP 客户端
- local: unit2/gradio-client
title: 使用 Gradio 构建 MCP 客户端
- local: unit2/tiny-agents
title: 使用 TypeScript 构建微型代理

- title: "3. 用例:高级 MCP 开发"
sections:
- local: unit3/introduction
title: 即将推出

- title: "额外单元"
sections:
- local: unit4/introduction
title: 即将推出
139 changes: 139 additions & 0 deletions units/zh-CN/unit0/introduction.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
# 欢迎来到 🤗 模型上下文协议 (MCP) 课程

![MCP课程缩略图](https://huggingface.co/datasets/mcp-course/images/resolve/main/unit0/1.png)

欢迎来到当今AI领域最激动人心的主题:**模型上下文协议(MCP)**!

这门免费课程将带您踏上一段旅程,**从初学者到专业人士**,帮助您理解、使用并构建MCP应用程序。

第一单元将帮助您入门:

* 了解**课程大纲**。
* **获取更多关于认证流程和时间安排的信息**。
* 认识课程背后的团队。
* 创建您的**账户**。
* **加入我们的Discord服务器**,与同学和我们见面。

让我们开始吧!

## 这门课程会带给您什么?

在本课程中,您将:

* 📖 在**理论、设计和实践**方面学习模型上下文协议。
* 🧑‍💻 学习**使用成熟的MCP SDK和框架**。
* 💾 **分享您的项目**并探索社区创建的应用。
* 🏆 参与挑战,在其中**将您的MCP实现与其他学生的进行评估**。
* 🎓 通过完成作业**获得结业证书**。

以及更多!

在课程结束时,您将理解**MCP如何工作,以及如何构建利用外部数据和工具的AI应用,并使用最新MCP标准**。

别忘了[**注册课程!**](https://huggingface.co/mcp-course)

## 课程内容是什么样的?

课程由以下部分组成:

* _基础单元_:在这里您将学习MCP的**理论概念**。
* _实践操作_:您将学习**使用成熟的MCP SDK**来构建应用程序。这些动手部分将有预配置的环境。
* _用例作业_:您将应用所学概念来解决您选择的真实世界问题。
* _合作项目_:我们与Hugging Face的合作伙伴协作,为您提供最新的MCP实现和工具。

这门**课程是一个不断发展的项目,将根据您的反馈和贡献而演进!**欢迎在GitHub上提出问题和PR,并参与我们Discord服务器上的讨论。

学完课程后,您也可以 👉 使用此表单[反馈表单链接]发送您的反馈

## 课程大纲是什么?

以下是**课程的总体大纲**。每个单元发布时会有更详细的主题列表。

| 章节 | 主题 | 描述 |
| ------- | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| 0 | 入门 | 为您设置将要使用的工具和平台。 |
| 1 | MCP基础、架构和核心概念 | 解释模型上下文协议的核心概念、架构和组件。展示使用MCP的简单用例。 |
| 2 | 端到端用例:MCP实战 | 构建一个简单的端到端MCP应用程序,您可以与社区分享。 |
| 3 | 部署用例:MCP实战 | 使用Hugging Face生态系统和合作伙伴服务构建部署的MCP应用程序。 |
| 4 | 附加单元 | 帮助您更好地利用课程的附加单元,与合作伙伴的库和服务一起工作。 |

## 课程有哪些先决条件?

要能够跟上这门课程,您应该具备:

* 对AI和LLM概念的基本理解
* 熟悉软件开发原则和API概念
* 至少一种编程语言的经验(将展示Python或TypeScript示例)

如果您不具备这些条件,不用担心!以下是一些可以帮助您的资源:

* [LLM课程](https://huggingface.co/learn/llm-course/)将指导您了解使用和构建LLM的基础知识。
* [Agents课程](https://huggingface.co/learn/agents-course/)将指导您使用LLM构建AI代理。

<Tip>

上述课程本身并非先决条件,所以如果您理解LLM和代理的概念,您现在就可以开始这门课程!

</Tip>

## 我需要哪些工具?

您只需要2样东西:

* _一台电脑_,带有互联网连接。
* 一个_账户_:用于访问课程资源和创建项目。如果您还没有账户,可以在[这里](https://huggingface.co/join)创建一个(免费)。

## 认证流程

您可以选择_以审核模式_学习本课程,或者完成活动并_获得我们将颁发的两种证书之一_。如果您以审核模式学习,您可以参与所有挑战并完成作业(如果您想的话),并且**您不需要通知我们**。

认证流程**完全免费**:

* _获得基础认证_:您需要完成课程的第1单元。这适用于想了解MCP最新趋势的学生,而不需要构建完整应用程序。
* _获得结业证书_:您需要完成用例单元(2和3)。这适用于想构建完整应用并与社区分享的学生。

## 推荐的学习节奏是什么?

本课程的每个章节设计为**在1周内完成,每周大约需要3-4小时的工作**。

由于有截止日期,我们为您提供推荐的学习节奏:

![推荐节奏](https://huggingface.co/datasets/mcp-course/images/resolve/main/unit0/2.png)

## 如何充分利用这门课程?

要充分利用这门课程,我们有一些建议:

1. 加入Discord的学习小组:小组学习总是更容易。为此,您需要加入我们的discord服务器并验证您的账户。
2. **做测验和作业**:学习的最佳方式是通过动手实践和自我评估。
3. **制定计划保持同步**:您可以使用下面我们推荐的节奏安排或创建您自己的计划。

![课程建议](https://huggingface.co/datasets/mcp-course/images/resolve/main/unit0/3.png)

## 我们是谁

关于作者:

### Ben Burtenshaw

Ben是Hugging Face的机器学习工程师,专注于构建LLM应用程序,使用后训练和代理方法。

<!-- ## 致谢 -->

<!-- 我们要向以下个人和合作伙伴致以诚挚的感谢,感谢他们宝贵的贡献和支持: -->

<!-- TODO: @burtenshaw 添加贡献者和合作伙伴 -->

## 我发现了bug,或者我想改进课程

欢迎**贡献** 🤗

* 如果您_在笔记本中发现了bug 🐛_,请提出问题并**描述问题**。
* 如果您_想改进课程_,您可以提交Pull Request。
* 如果您_想添加完整的章节或新单元_,最好的方法是提出问题并**在开始编写之前描述您想添加的内容,以便我们可以指导您**。

## 我还有问题

请在我们的discord服务器 #mcp-course-questions 中提问。

现在您已经掌握了所有信息,让我们开始吧 ⛵
85 changes: 85 additions & 0 deletions units/zh-CN/unit1/architectural-components.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# MCP的架构组件

在上一节中,我们讨论了MCP的关键概念和术语。现在,让我们深入了解组成MCP生态系统的架构组件。

## 宿主、客户端和服务器

模型上下文协议(MCP)建立在客户端-服务器架构上,实现了AI模型与外部系统之间的结构化通信。

![MCP架构](https://huggingface.co/datasets/mcp-course/images/resolve/main/unit1/4.png)

MCP架构由三个主要组件组成,每个组件都有明确定义的角色和职责:宿主、客户端和服务器。我们在上一节中简要提到了这些,但现在让我们深入了解每个组件及其职责。

### 宿主

**宿主**是面向用户的AI应用程序,终端用户直接与其交互。

例子包括:
- AI聊天应用,如OpenAI ChatGPT或Anthropic的Claude Desktop
- AI增强的IDE,如Cursor,或像Continue.dev这样的工具集成
- 在LangChain或smolagents等库中构建的自定义AI代理和应用

宿主的职责包括:
- 管理用户交互和权限
- 通过MCP客户端发起与MCP服务器的连接
- 协调用户请求、LLM处理和外部工具之间的整体流程
- 以连贯的格式向用户呈现结果

在大多数情况下,用户将根据自己的需求和偏好选择宿主应用。例如,开发人员可能会选择Cursor来利用其强大的代码编辑功能,而领域专家可能会使用在smolagents中构建的自定义应用。

### 客户端

**客户端**是宿主应用程序内部的一个组件,负责管理与特定MCP服务器的通信。其主要特点包括:

- 每个客户端与单个服务器保持1:1连接
- 处理MCP通信的协议级细节
- 充当宿主逻辑和外部服务器之间的中介

### 服务器

**服务器**是通过MCP协议向AI模型公开功能的外部程序或服务。服务器:

- 提供对特定外部工具、数据源或服务的访问
- 作为现有功能的轻量级包装器
- 可以在本地(与宿主在同一台机器上)或远程(通过网络)运行
- 以客户端可以发现和使用的标准化格式公开其功能

## 通信流程

让我们来研究一下在典型的MCP工作流程中这些组件是如何交互的:

<Tip>

在下一节中,我们将通过实际示例深入了解实现这些组件的通信协议。

</Tip>

1. **用户交互**:用户与**宿主**应用程序交互,表达意图或查询。

2. **宿主处理**:**宿主**处理用户的输入,可能使用LLM来理解请求并确定可能需要哪些外部功能。

3. **客户端连接**:**宿主**指示其**客户端**组件连接到适当的服务器。

4. **功能发现**:**客户端**查询**服务器**以发现它提供的功能(工具、资源、提示)。

5. **功能调用**:根据用户需求或LLM的判断,宿主指示**客户端**调用**服务器**的特定功能。

6. **服务器执行**:**服务器**执行请求的功能并将结果返回给**客户端**。

7. **结果整合**:**客户端**将这些结果返回给**宿主**,后者将它们整合到LLM的上下文中或直接呈现给用户。

此架构的一个关键优势是其模块化。单个**宿主**可以通过不同的**客户端**同时连接到多个**服务器**。新的**服务器**可以添加到生态系统中,而不需要对现有**宿主**进行更改。不同**服务器**的功能可以轻松组合。

<Tip>

正如我们在上一节中讨论的,这种模块化将传统的M×N集成问题(M个AI应用程序连接到N个工具/服务)转变为更易管理的M+N问题,其中每个宿主和服务器只需实现MCP标准一次。

</Tip>

这种架构看起来可能很简单,但其力量在于通信协议的标准化和组件之间责任的明确分离。这种设计允许形成一个凝聚力强的生态系统,AI模型可以与不断增长的外部工具和数据源无缝连接。

## 结论

这些交互模式受到几个关键原则的指导,这些原则塑造了MCP的设计和演进。协议强调**标准化**,提供AI连接的通用协议,同时保持**简洁性**,保持核心协议简单但启用高级功能。优先考虑**安全性**,要求用户明确批准敏感操作,并使功能可发现。协议设计具有**可扩展性**,通过版本控制和功能协商支持演进,并确保跨不同实现和环境的**互操作性**。

在下一节中,我们将探讨使这些组件能够有效协同工作的通信协议。
Loading