关于 🚀 Model Context Protocol (MCP) Curriculum for Beginners
这是一门面向初学者的开源 MCP 课程,通过 .NET、Java、TypeScript、JavaScript、Rust 和 Python 的实例讲解 Model Context Protocol 的基础知识。课程关注模块化、可扩展 MCP 服务的实践方法,并包含安全与部署相关内容。
主要功能
- 01MCP 基础概念与协议讲解
- 02多语言的动手代码示例
- 03构建第一个 MCP 服务的分步指南
- 04MCP 安全最佳实践
- 05面向生产环境的部署思路
适用场景
- 01初学者入门 MCP 并理解客户端与服务的关系
- 02学习者使用自己熟悉的语言实现 MCP 服务
- 03开发者在构建 MCP 项目时参考安全与部署内容
MCP 相关
该课程本身不是 MCP 服务或客户端,而是讲解如何构建 MCP 服务与客户端的学习资料。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍

按照以下步骤开始使用这些资源:
🌐 多语言支持
使用 Co-op Translator 维护的翻译
阿拉伯语 | 孟加拉语 | 保加利亚语 | 缅甸语(缅甸) | 中文(简体) | 中文(繁体,香港) | 中文(繁体,澳门) | 中文(繁体,台湾) | 克罗地亚语 | 捷克语 | 丹麦语 | 荷兰语 | 爱沙尼亚语 | 芬兰语 | 法语 | 德语 | 希腊语 | 希伯来语 | 印地语 | 匈牙利语 | 印度尼西亚语 | 意大利语 | 日语 | 卡纳达语 | 高棉语 | 韩语 | 立陶宛语 | 马来语 | 马拉雅拉姆语 | 马拉地语 | 尼泊尔语 | 尼日利亚皮钦语 | 挪威语 | 波斯语(法尔西语) | 波兰语 | 葡萄牙语(巴西) | 葡萄牙语(葡萄牙) | 旁遮普语(古木基文) | 罗马尼亚语 | 俄语 | 塞尔维亚语(西里尔文) | 斯洛伐克语 | 斯洛文尼亚语 | 西班牙语 | 斯瓦希里语 | 瑞典语 | 他加禄语(菲律宾语) | 泰米尔语 | 泰卢固语 | 泰语 | 土耳其语 | 乌克兰语 | 乌尔都语 | 越南语
更倾向于在本地克隆?
此存储库包含 50 多种语言的翻译,会显著增加下载大小。若要在不下载翻译的情况下克隆,请使用稀疏检出:
Bash / macOS / Linux:
git clone --filter=blob:none --sparse https://github.com/microsoft/mcp-for-beginners.git cd mcp-for-beginners git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'CMD(Windows):
git clone --filter=blob:none --sparse https://github.com/microsoft/mcp-for-beginners.git cd mcp-for-beginners git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"这样,你就能以快得多的速度完成课程所需内容的下载。
🚀 面向初学者的模型上下文协议(MCP)课程
通过 C#、Java、JavaScript、Rust、Python 和 TypeScript 的实操代码示例学习 MCP
🧠 模型上下文协议课程概览
欢迎开启模型上下文协议之旅!你是否曾好奇,AI 应用如何与不同的工具和服务通信?现在,你即将了解这个优雅的解决方案,以及它如何改变开发者构建智能系统的方式。
可以把 MCP 想象成 AI 应用的通用翻译器——就像 USB 接口让你可以将任何设备连接到电脑一样,MCP 让 AI 模型可以通过标准化的方式连接到任何工具或服务。无论你是在构建自己的第一个聊天机器人,还是在处理复杂的 AI 工作流,了解 MCP 都能让你有能力打造更强大、更灵活的应用。
本课程为你的学习之旅倾注了耐心与心力。我们将从你已经熟悉的简单概念开始,通过喜欢的编程语言进行实践,逐步提升你的专业能力。每一步都包含清晰的讲解、实用的示例,以及一路上的充分鼓励。
完成这段旅程后,你将有信心构建自己的 MCP 服务,将它们与热门 AI 平台集成,并了解这项技术如何重塑 AI 开发的未来。让我们一起开启这场激动人心的冒险吧!
官方文档和规范
当前的协议修订版本为 MCP Specification 2026-07-28。MCP 规范使用基于日期的版本号(YYYY-MM-DD 格式),以明确协议兼容性。
**版本说明:**本课程讲解当前的
2026-07-28概念,包括无状态请求、Extensions 框架,以及 Roots、Sampling 和 Logging 的弃用。部分实践示例仍明确使用2025-11-25版本,以等待 SDK 支持跟上。有关变更和迁移指南,请参阅 MCP 的变更:2026-07-28 规范。
随着理解不断加深,这些资源会越来越有用,但不必急着马上全部阅读。先从最感兴趣的内容开始吧!
- 📘 MCP 文档 – 这是你查阅分步教程和用户指南的首选资源。文档面向初学者编写,提供清晰的示例,你可以按照自己的节奏跟着实践。
- 📜 MCP 规范 – 可以把它看作全面的参考手册。学习本课程时,你会经常回到这里查阅具体细节、探索高级功能。
- 📜 MCP 规范版本管理 – 这里介绍了协议版本历史,以及 MCP 如何使用基于日期的版本号(YYYY-MM-DD 格式)。
- 🧑💻 MCP GitHub 仓库 – 在这里,你可以找到多种编程语言的 SDK、工具和代码示例。这里就像一座宝库,汇集了实用示例和可直接使用的组件。
- 🌐 MCP 社区 – 加入其他学习者和经验丰富的开发者,一起讨论 MCP。这里的社区氛围友好,欢迎提问,也乐于分享知识。
学习目标
完成本课程后,你将对自己的新能力充满信心与期待。以下是你将达成的目标:
• 了解 MCP 基础知识:你将理解 Model Context Protocol 是什么,以及它为何正在改变 AI 应用协作的方式,并通过易于理解的类比和示例掌握相关概念。
• 构建你的第一个 MCP 服务:你将使用自己偏好的编程语言创建一个可运行的 MCP 服务,从简单示例开始,一步步提升技能。
• 将 AI 模型连接到真实工具:你将学习如何打通 AI 模型与实际服务之间的壁垒,为应用赋予强大的新能力。
• 实施安全最佳实践:你将了解如何确保 MCP 实现安全可靠,保护应用和用户。
• 自信地部署:你将了解如何将 MCP 项目从开发环境部署到生产环境,并掌握适用于真实场景的实用部署策略。
• 加入 MCP 社区:你将成为不断壮大的开发者社区的一员,与大家共同塑造 AI 应用开发的未来。
必备基础知识
在深入了解 MCP 的具体内容之前,让我们先确保你熟悉一些基础概念。如果你还不是这些领域的专家,也不用担心——我们会在学习过程中讲解你需要了解的一切!
理解协议(基础)
可以把协议想象成对话规则。给朋友打电话时,你们都知道接通时要说“你好”,轮流交谈,并在结束时说“再见”。计算机程序也需要类似的规则,才能有效地进行通信。
MCP 是一种协议——一套约定俗成的规则,帮助 AI 模型和应用与工具及服务进行高效的“对话”。正如对话规则能让人类沟通更顺畅,MCP 也能让 AI 应用之间的通信更加可靠、强大。
客户端-服务器关系(程序如何协同工作)
你每天都在使用客户端-服务器关系!当你使用 Web 浏览器(客户端)访问网站时,就是在连接一个向你发送页面内容的 Web 服务。浏览器知道如何请求信息,服务也知道如何响应。
在 MCP 中,也存在类似的关系:AI 模型充当客户端,请求信息或操作;MCP 服务则提供相应的能力。这就像有一位乐于助人的助手(服务),AI 可以请它执行特定任务。
标准化为何重要(让事物协同工作)
想象一下,如果每家汽车制造商都使用形状不同的加油泵——你就需要为每辆车准备不同的适配器!标准化意味着就通用方法达成一致,让各种事物能够无缝协作。
MCP 为 AI 应用提供了这种标准化。AI 模型不必再为使用每种工具都编写定制代码,MCP 为它们提供了一种通用的通信方式。这意味着开发者可以一次性构建工具,并让这些工具适用于许多不同的 AI 系统。
🧭 学习路径概览
你的 MCP 学习之旅经过精心规划,将循序渐进地建立你的信心并提升技能。每个阶段都会引入新概念,同时巩固你已经学到的内容。
🌱 基础阶段:了解基础知识(模块 0-2)
冒险从这里开始!我们会用熟悉的类比和简单的示例向你介绍 MCP 概念。你将了解什么是 MCP、它为何存在,以及它如何融入更广阔的 AI 开发生态。
• 模块 0 - MCP 简介:我们将从了解什么是 MCP,以及它为何对现代 AI 应用至关重要开始。你会看到 MCP 在实际场景中的应用示例,并了解它如何解决开发者面临的常见问题。
• 模块 1 - 核心概念详解:在这里,你将学习 MCP 的基本构成要素。我们会使用大量类比和可视化示例,让这些概念变得自然易懂。
• 模块 2 - MCP 安全:安全听起来可能有些令人望而生畏,但我们会向你展示 MCP 内置的安全功能,并教你一些最佳实践,帮助你从一开始就保护应用。
🔨 构建阶段:创建你的第一个实现(模块 3)
现在,真正有趣的部分开始了!你将亲手构建真正的 MCP 服务和客户端。别担心——我们会从简单内容开始,一步步引导你完成。
本模块包含多个动手指南,你可以使用自己偏好的编程语言进行练习。你将创建自己的第一个服务,构建一个与之连接的客户端,甚至还能将其集成到 VS Code 等热门开发工具中。
每份指南都包含完整的代码示例、故障排查技巧,以及我们做出特定设计选择的原因说明。完成这一阶段后,你将拥有可以引以为豪的可用 MCP 实现!
🚀 进阶阶段:高级概念与实际应用(模块 4-5)
掌握基础知识后,你就可以探索更复杂的 MCP 功能了。我们将介绍实用的实现策略、调试技巧,以及多模态 AI 集成等高级主题。
你还将学习如何扩展 MCP 实现以用于生产环境,并与 Azure 等云平台集成。这些模块将帮助你构建能够满足现实需求的 MCP 解决方案。
🌟 精通阶段:社区与专业方向(模块 6-11)
最后一个阶段将聚焦于加入 MCP 社区,并在你最感兴趣的领域深入发展。你将学习如何为开源 MCP 项目贡献力量、实现高级身份验证模式,以及构建全面的数据库集成解决方案。
模块 11 值得特别介绍——它是一套完整的动手学习路径,包含 13 个实验,教你构建集成 PostgreSQL 的生产就绪型 MCP 服务。它就像一个综合性结业项目,将你学到的所有内容融会贯通!
📚 完整课程结构
| 模块 | 主题 | 描述 | 链接 |
|---|---|---|---|
| 模块 0-3:基础知识 | |||
| 00 | MCP 简介 | 概述模型上下文协议及其在 AI 流水线中的重要性 | 阅读更多 |
| 01 | 核心概念详解 | 深入探索 MCP 核心概念 | 阅读更多 |
| 1.1 | MCP 的变更(2026-07-28) | 当前规范中的无状态协议、Extensions 框架和功能弃用 | 指南 |
| 02 | MCP 安全 | 安全威胁和最佳实践 | 阅读更多 |
| 2.1 | CIMD 和 DCR 授权 | 使用受保护的 MCP 服务,对比优先采用的 CIMD 注册方式与已弃用的 DCR 后备方案 | 示例 |
| 03 | MCP 入门 | 环境设置、基础服务端/客户端、集成 | 阅读更多 |
| 模块 3:构建你的首个服务端和客户端 | |||
| 3.1 | 首个服务端 | 创建你的首个 MCP 服务端 | 指南 |
| 3.2 | 首个客户端 | 开发基础 MCP 客户端 | 指南 |
| 3.3 | 使用大模型的客户端 | 集成大模型 | 指南 |
| 3.4 | VS Code 集成 | 在 VS Code 中使用 MCP 服务 | 指南 |
| 3.5 | stdio 服务端 | 使用 stdio 传输创建服务端 | 指南 |
| 3.6 | HTTP 流式传输 | 在 MCP 中实现 HTTP 流式传输 | 指南 |
| 3.7 | Microsoft Foundry Toolkit | 在 MCP 中使用 Microsoft Foundry Toolkit | 指南 |
| 3.8 | 测试 | 测试 MCP 服务端实现 | 指南 |
| 3.9 | 部署 | 将 MCP 服务端部署到生产环境 | 指南 |
| 3.10 | 高级服务端用法 | 使用高级服务端来启用高级功能并改进架构 | 指南 |
| 3.11 | 简单身份验证 | 介绍身份验证入门和 RBAC 的章节 | 指南 |
| 3.12 | MCP 宿主 | 配置 Claude Desktop、Cursor、Cline 和其他 MCP 宿主 | 指南 |
| 3.13 | MCP Inspector | 使用 Inspector 工具调试和测试 MCP 服务端 | 指南 |
| 3.14 | 采样 | 使用采样与客户端协作 | 指南 |
| 3.15 | MCP Apps | 构建 MCP Apps | 指南 |
| 模块 4-5:实践与进阶 | |||
| 04 | 实践实现 | SDK、调试、测试、可复用提示词模板 | 阅读更多 |
| 4.1 | 分页 | 使用基于游标的分页处理大量结果集 | 指南 |
| 05 | MCP 高级主题 | 多模态 AI、扩展和企业应用 | 阅读更多 |
| 5.1 | Azure 集成 | 将 MCP 与 Azure 集成 | 指南 |
| 5.2 | 多模态 | 使用多种模态 | 指南 |
| 5.3 | OAuth2 演示 | 实现 OAuth2 身份验证 | 指南 |
| 5.4 | 根上下文 | 了解并实现根上下文 | 指南 |
| 5.5 | 路由 | MCP 路由策略 | 指南 |
| 5.6 | 采样 | MCP 中的采样技术 | 指南 |
| 5.7 | 扩展 | 扩展 MCP 实现 | 指南 |
| 5.8 | 安全 | 高级安全注意事项 | 指南 |
| 5.9 | Web 搜索 | 实现 Web 搜索功能 | 指南 |
| 5.10 | 实时流式传输 | 构建实时流式传输功能 | 指南 |
| 5.11 | 实时搜索 | 实现实时搜索 | 指南 |
| 5.12 | Entra ID 身份验证 | 使用 Microsoft Entra ID 进行身份验证 | 指南 |
| 5.13 | Foundry 集成 | 与 Microsoft Foundry 集成 | 指南 |
| 5.14 | 上下文工程 | 有效进行上下文工程的技巧 | 指南 |
| 5.15 | MCP 自定义传输 | 自定义传输实现 | 指南 |
| 5.16 | 协议功能 | 进度通知、取消、资源模板 | 指南 |
| 5.17 | 对抗式多 Agent 推理 | 两个 Agent 使用共享 MCP 工具分别论证对立观点,并由裁判 Agent 评估 | 指南 |
| 模块 6-10:社区与最佳实践 | |||
| 06 | 社区贡献 | 如何为 MCP 生态系统作出贡献 | 指南 |
| 07 | 早期采用经验 | 真实世界的实现案例 | 指南 |
| 08 | MCP 最佳实践 | 性能、容错能力、弹性 | 指南 |
| 09 | MCP 案例研究 | 实践实现示例 | 指南 |
| 10 | 实践工作坊 | 使用 Microsoft Foundry Toolkit 构建 MCP 服务端 | 实验 |
| 模块 11:MCP 服务端实践实验 | |||
| 11 | MCP 服务端数据库集成 | 全面的 13 个实验动手学习路径,涵盖 PostgreSQL 集成 | 实验 |
| 11.1 | 简介 | MCP 数据库集成概述及零售分析用例 | 实验 00 |
| 11.2 | 核心架构 | 了解 MCP 服务端架构、数据库层和安全模式 | 实验 01 |
| 11.3 | 安全与多租户 | 行级安全、身份验证和多租户数据访问 | 实验 02 |
| 11.4 | 环境设置 | 设置开发环境、Docker 和 Azure 资源 | 实验 03 |
| 11.5 | 数据库设计 | PostgreSQL 设置、零售架构设计和示例数据 | 实验 04 |
| 11.6 | MCP 服务端实现 | 构建集成数据库的 FastMCP 服务端 | 实验 05 |
| 11.7 | 工具开发 | 创建数据库查询工具并进行架构自省 | 实验 06 |
| 11.8 | 语义搜索 | 使用 Azure OpenAI 和 pgvector 实现向量嵌入 | 实验 07 |
| 11.9 | 测试与调试 | 测试策略、调试工具和验证方法 | 实验 08 |
| 11.10 | VS Code 集成 | 配置 VS Code MCP 集成并使用 AI Chat | 实验 09 |
| 11.11 | 部署策略 | Docker 部署、Azure Container Apps 和扩展注意事项 | 实验 10 |
| 11.12 | 监控 | Application Insights、日志记录、性能监控 | 实验 11 |
| 11.13 | 最佳实践 | 性能优化、安全加固和生产环境建议 | 实验 12 |
| 模块 12:MCP 工具链 | |||
| 12.1 | 工具链 | 在 Copilot App 中使用 MCP | 指南 |
💻 示例代码项目
学习 MCP 最令人兴奋的一点,是看到自己的编码技能逐步提升。我们设计的代码示例从简单入手,并随着你理解的深入逐渐变得更加复杂。我们通过易于理解、同时又能展现真实 MCP 原则的代码来介绍各种概念。这样,你不仅能了解代码的功能,还能明白它为何采用这样的结构,以及它如何融入更大的 MCP 应用。
基础 MCP 计算器示例
| 语言 | 描述 | 链接 |
|---|---|---|
| C# | MCP 服务示例 | 查看代码 |
| Java | MCP 计算器 | 查看代码 |
| JavaScript | MCP 演示 | 查看代码 |
| Python | MCP 服务 | 查看代码 |
| TypeScript | MCP 示例 | 查看代码 |
| Rust | MCP 示例 | 查看代码 |
高级 MCP 实现
| 语言 | 描述 | 链接 |
|---|---|---|
| C# | 高级示例 | 查看代码 |
| Java with Spring | 容器应用示例 | 查看代码 |
| JavaScript | 高级示例 | 查看代码 |
| Python | 复杂实现 | 查看代码 |
| TypeScript | 容器示例 | 查看代码 |
🎯 学习 MCP 的先决条件
为了从本课程中获得最大收益,你应具备:
-
至少掌握以下一种语言的基础编程知识:C#、Java、JavaScript、Python 或 TypeScript
-
了解客户端-服务端模型和 API
-
熟悉 REST 和 HTTP 概念
-
(可选)具备 AI/ML 相关知识
-
加入我们的社区讨论,获取支持
📚 学习指南与资源
此仓库包含多种资源,帮助你有效地浏览和学习:
学习指南
我们提供了一份全面的学习指南,帮助你有效地浏览此仓库。这份可视化课程地图展示了各个主题之间的联系,并指导你如何有效使用示例项目。如果你喜欢通过整体视图来学习,这份指南会特别有用。
指南包括:
- 展示所有涵盖主题的可视化课程地图
- 对仓库各个部分的详细说明
- 如何使用示例项目的指导
- 针对不同技能水平的推荐学习路径
- 补充学习过程的其他资源
更新日志
我们维护了一份详细的更新日志,记录课程材料的所有重要更新,让你及时了解最新的改进和新增内容。
- 新增内容
- 结构变更
- 功能改进
- 文档更新
🛠️ 如何有效使用本课程
本指南中的每节课都包含:
- 对 MCP 概念的清晰讲解
- 多种语言的实时代码示例
- 构建真实 MCP 应用的练习
- 面向进阶学习者的额外资源
🎓 你的 MCP 旅程即将开始
恭喜!你刚刚迈出了激动人心的旅程中的第一步。这段旅程将拓展你的编程能力,帮助你接触 AI 开发的前沿领域。
你已取得的成就
读完这篇介绍后,你已经开始构建自己的 MCP 知识基础。你了解了 MCP 是什么、它为何重要,以及本课程将如何支持你的学习之旅。这是一项重要的成就,也是你掌握这项重要技术的开端。
前方的冒险
在学习各个模块的过程中,请记住,每位专家都曾是初学者。现在看起来可能很复杂的概念,随着你不断练习和应用,终将变得驾轻就熟。每一小步都在积累强大的能力,这些能力将在你的整个开发生涯中助你一臂之力。
你的支持网络
你将加入一个由学习者和专家组成的社区,他们热衷于 MCP,也乐于帮助他人取得成功。无论你是在编码挑战中遇到困难,还是迫不及待地想分享新发现,社区都会一路支持你。
如果你在构建 AI 应用时遇到困难或有任何问题,可以加入讨论,与其他学习者和经验丰富的开发者一起交流 MCP。这是一个友善互助的社区,欢迎大家提问,也乐于分享知识。
如果你在构建过程中有产品反馈或遇到错误,请访问:
准备好开始了吗?
你的 MCP 探险现在就开始!从模块 0 开始,体验首次动手实践 MCP;也可以浏览示例项目,了解你将构建什么。请记住,每位专家都曾与你一样从零起步,只要耐心练习,你会惊叹于自己能够取得的成就。
欢迎来到模型上下文协议开发的世界。让我们一起打造精彩的作品!
🤝 为学习社区贡献力量
有了像你这样的学习者参与贡献,这套课程体系会变得更完善!无论是修正错别字、建议更清晰的解释,还是添加新示例,你的贡献都能帮助其他初学者取得成功。
感谢 Microsoft 杰出专业人士 Shivam Goyal 提供代码示例。
贡献流程旨在营造友好互助的氛围。大多数贡献都需要签署贡献者许可协议(CLA),但自动化工具会引导你顺利完成流程。
📜 开源学习
整套课程体系均基于 MIT LICENSE 提供,这意味着你可以自由使用、修改和分享。这有助于我们实现使命,让世界各地的开发者都能获取 MCP 知识。
🤝 贡献指南
本项目欢迎贡献和建议。大多数贡献都要求你同意贡献者许可协议(CLA),声明你有权授予并确实授予我们使用你所提交贡献的权利。详情请访问 https://cla.opensource.microsoft.com。
提交拉取请求时,CLA 机器人会自动判断你是否需要提供 CLA,并对 PR 进行相应标记(例如,状态检查、评论)。只需按照机器人提供的说明操作即可。对于所有使用我们 CLA 的代码仓库,你只需完成一次此流程。
本项目已采用 Microsoft 开源行为准则。 如需了解更多信息,请参阅行为准则常见问题,或通过 [email protected] 联系我们,提出其他问题或意见。
准备好开启 MCP 之旅了吗?从 模块 00 - MCP 简介 开始,迈出进入模型上下文协议开发世界的第一步!
🎒 其他课程
我们的团队还制作了其他课程!快来看看:
LangChain
Azure / Edge / MCP / Agents
Generative AI Series
Core Learning
Copilot Series
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。