按照以下步骤开始使用这些资源:
🌐 多语言支持
通过 GitHub Action 支持(自动且始终保持最新)
阿拉伯语 | 孟加拉语 | 保加利亚语 | 缅甸语(Myanmar) | 中文(简体) | 中文(繁体,香港) | 中文(繁体,澳门) | 中文(繁体,台湾) | 克罗地亚语 | 捷克语 | 丹麦语 | 荷兰语 | 爱沙尼亚语 | 芬兰语 | 法语 | 德语 | 希腊语 | 希伯来语 | 印地语 | 匈牙利语 | 印度尼西亚语 | 意大利语 | 日语 | 卡纳达语 | 高棉语 | 韩语 | 立陶宛语 | 马来语 | 马拉雅拉姆语 | 马拉地语 | 尼泊尔语 | 尼日利亚俚语 | 挪威语 | 波斯语(法尔西语) | 波兰语 | 葡萄牙语(巴西) | 葡萄牙语(葡萄牙) | 旁遮普语(古尔穆奇) | 罗马尼亚语 | 俄语 | 塞尔维亚语(西里尔字母) | 斯洛伐克语 | 斯洛文尼亚语 | 西班牙语 | 斯瓦希里语 | 瑞典语 | 他加禄语(菲律宾语) | 泰米尔语 | 泰卢固语 | 泰语 | 土耳其语 | 乌克兰语 | 乌尔都语 | 越南语
更喜欢本地克隆?
此仓库包含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 规范 2025-11-25(最新稳定版)保持一致。MCP 规范使用基于日期的版本控制(YYYY-MM-DD 格式)以确保协议版本的清晰追踪。
这些资源随着您的理解加深而更有价值,但不必急于全部阅读。先从您最感兴趣的部分开始!
- 📘 MCP 文档 – 这是您的分步教程和用户指南的首选资源。文档针对初学者编写,提供了您可以跟随自学的清晰示例。
- 📜 MCP 规范 – 把它当作您的综合参考手册。随着课程进展,您会经常回到这里查找具体细节和探索高级功能。
- 📜 MCP 规范版本说明 – 包含协议版本历史以及 MCP 如何使用日期格式版本控制的信息。
- 🧑💻 MCP GitHub 仓库 – 这里有多种编程语言的 SDK、工具和代码样例,是实用示例和可直接使用组件的宝库。
- 🌐 MCP 社区 – 加入同行学习者和经验开发者的讨论社区。这里是互助支持、问题答疑和自由分享知识的好地方。
学习目标
完成本课程后,您会对自己的新能力充满信心和兴趣。您将实现以下目标:
• 理解 MCP 基础知识:您将掌握模型上下文协议是什么,以及为什么它正在革新 AI 应用协作,借助形象类比和示例帮助理解。
• 构建您的第一个 MCP 服务器:使用您喜欢的编程语言创建一个可工作的 MCP 服务器,从简单例子开始,逐步提升技能。
• 连接 AI 模型与真实工具:学习如何搭建 AI 模型与实际服务之间的桥梁,为应用赋予强大新功能。
• 实施安全最佳实践:掌握如何保障 MCP 实现的安全,保护您的应用和用户。
• 自信部署:了解如何将 MCP 项目从开发环境带入生产,掌握实用的部署策略。
• 加入 MCP 社区:成为不断发展的 MCP 开发者群体一员,共同推动 AI 应用开发的未来。
基础知识准备
在深入 MCP 细节前,让我们确认您对一些基础概念感到熟悉。即使您还不是这些领域的专家,也无需担心——我们会在适当时候解释所需内容!
理解协议(基础)
把协议想象成对话规则。您给朋友打电话时,双方都知道接通时说“你好”,轮流说话,结束时说“再见”。计算机程序也需要类似规则才能有效交流。
MCP 是一种协议——一套约定规则,帮助 AI 模型和应用与工具和服务进行有成效的“对话”。就像对话规则让人类沟通更顺畅一样,MCP 让 AI 应用通信更可靠、更强大。
客户端-服务器关系(程序协作方式)
您每天都在使用客户端-服务器关系!当您用浏览器(客户端)访问网站时,就是连接到发送网页内容的服务器。浏览器知道怎样请求信息,服务器知道怎样回应。
在 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 核心概念 | 阅读更多 |
| 02 | MCP 安全 | 安全威胁与最佳实践 | 阅读更多 |
| 03 | MCP 入门 | 环境搭建,基础服务器/客户端,集成 | 阅读更多 |
| 模块 3:构建您的第一个服务器和客户端 | |||
| 3.1 | 第一个服务器 | 创建您的第一个 MCP 服务器 | 指南 |
| 3.2 | 第一个客户端 | 开发基本的 MCP 客户端 | 指南 |
| 3.3 | 带 LLM 的客户端 | 集成大型语言模型 | 指南 |
| 3.4 | VS Code 集成 | 在 VS Code 中使用 MCP 服务器 | 指南 |
| 3.5 | stdio 服务器 | 使用 stdio 传输创建服务器 | 指南 |
| 3.6 | HTTP 流式传输 | 在 MCP 中实现 HTTP 流式传输 | 指南 |
| 3.7 | Microsoft Foundry 工具包 | 使用 Microsoft Foundry 工具包与 MCP | 指南 |
| 3.8 | 测试 | 测试您的 MCP 服务器实现 | 指南 |
| 3.9 | 部署 | 将 MCP 服务器部署到生产环境 | 指南 |
| 3.10 | 高级服务器使用 | 使用高级服务器实现高级功能与改进架构 | 指南 |
| 3.11 | 简单认证 | 从基础展示认证和基于角色的访问控制(RBAC) | 指南 |
| 3.12 | MCP 主机 | 配置 Claude Desktop、Cursor、Cline 及其他 MCP 主机 | 指南 |
| 3.13 | MCP 检查器 | 使用检查器工具调试和测试 MCP 服务器 | 指南 |
| 3.14 | 采样 | 使用采样与客户端协作 | 指南 |
| 3.15 | MCP 应用 | 构建 MCP 应用 | 指南 |
| 模块 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 | 网络搜索 | 实现网络搜索功能 | 指南 |
| 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 | 对抗性多代理推理 | 两个代理使用共享 MCP 工具辩论对立观点,由评审代理评估 | 指南 |
| 模块 6-10:社区与最佳实践 | |||
| 06 | 社区贡献 | 如何为 MCP 生态系统贡献 | 指南 |
| 07 | 早期采用经验 | 真实实现案例 | 指南 |
| 08 | MCP 最佳实践 | 性能、容错、弹性 | 指南 |
| 09 | MCP 案例研究 | 实践实现示例 | 指南 |
| 10 | 动手研讨会 | 使用 Microsoft Foundry 工具包构建 MCP 服务器 | 实验 |
| 模块 11:MCP 服务器动手实验 | |||
| 11 | MCP 服务器数据库集成 | 结合 PostgreSQL 的完整 13 课动手学习路径 | 实验 |
| 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 聊天使用 | 实验 09 |
| 11.11 | 部署策略 | Docker 部署,Azure 容器应用及扩展考虑 | 实验 10 |
| 11.12 | 监控 | 应用洞察、日志记录、性能监控 | 实验 11 |
| 11.13 | 最佳实践 | 性能优化、安全加固及生产建议 | 实验 12 |
| 模块 12:MCP 工具集 | |||
| 12.1 | 工具集 | MCP 在 Copilot 应用中的使用 | 指南 |
💻 示例代码项目
学习 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 应用的练习
- 高级学习者的额外资源
用 C# 学 MCP - 教程系列
让我们学习用于标准化 AI 模型与客户端应用交互的前沿框架——模型上下文协议(MCP)。通过此面向初学者的课程,我们将介绍 MCP 并指导你创建第一个 MCP 服务器。
C#: https://aka.ms/letslearnmcp-csharp
Java: https://aka.ms/letslearnmcp-java
JavaScript: https://aka.ms/letslearnmcp-javascript
Python: https://aka.ms/letslearnmcp-python
🎓 你的 MCP 之旅开始了
恭喜你!你迈出了令人兴奋的一步,将拓宽你的编程能力,连接 AI 开发的前沿。
你已经完成的部分
通过阅读本介绍,你已经开始建立 MCP 知识基础。你了解了 MCP 是什么、它的重要性,以及本课程如何支持你的学习旅程。这是一个重要成就,也是你在这一关键技术领域迈出的第一步。
前方的冒险
随着你逐步学习,记住每位专家都曾是初学者。现在可能觉得复杂的概念,随着练习和应用会变得如同第二天性。每个小步骤都构建你强大的能力,将为你整个开发生涯服务。
你的支持网络
你将加入一个充满热情的学习者和专家社区,他们致力于 MCP 并乐于帮助他人成功。无论你是在编程挑战中遇到困难,还是想分享突破,这个社区都支持你的旅程。
如果你遇到困难或有关于构建 AI 应用的问题,加入志同道合的学习者和经验丰富开发者的讨论。这里是一个欢迎提问且自由分享知识的支持社区。
如果在开发中遇到产品反馈或错误,请访问:
准备好开始了吗?
你的 MCP 冒险现在开始!从模块 0 开始,亲身体验 MCP,或者探索示例项目,看看你将构建什么。记住——每位专家都是从你现在所在的位置开始的,只要耐心和练习,你会对自己的成就感到惊讶。
欢迎来到模型上下文协议开发的世界。让我们一起构建非凡的东西!
🤝 贡献给学习社区
本课程因像你这样的学习者贡献而不断壮大!无论你是修正错别字、提出更清晰的解释,还是添加新示例,你的贡献都帮助其他初学者成功。
感谢微软杰出专家 Shivam Goyal 贡献代码示例。
贡献流程旨在欢迎并支持所有人。大部分贡献需要签署贡献者许可协议(CLA),自动工具会顺利引导你完成流程。
📜 开源学习
整个课程根据 MIT 许可证 开源,意味着你可以自由使用、修改、分享。这支持我们让 MCP 知识普及给全球开发者的使命。
🤝 贡献指南
我们欢迎贡献和建议。大部分贡献要求你同意一份贡献者许可协议(CLA),声明你有权且实际授予我们使用你贡献的权利。详情请访问 https://cla.opensource.microsoft.com。
当你提交拉取请求时,CLA bot 会自动判断你是否需要提供 CLA,并给 PR 添加相应状态(如状态检查、评论)。请按照机器人提供的指引操作。在所有使用我们 CLA 的仓库中,你只需完成一次此步骤。
本项目采用了 微软开源行为准则。更多信息请参见行为准则常见问题或联系 opencode@microsoft.com 咨询。
准备好开始你的 MCP 之旅了吗?从 模块 00 - MCP 介绍 开始,迈入模型上下文协议开发的世界!
🎒 其他课程
我们团队还制作了其他课程!敬请查看:
LangChain
Azure / Edge / MCP / Agents
生成式 AI 系列
核心学习
Copilot 系列
免责声明: 本文件由 AI 翻译服务 Co-op Translator 翻译完成。尽管我们力求准确,但请注意,自动翻译可能包含错误或不准确之处。原始语言版文件应视为权威来源。对于重要信息,建议使用专业人工翻译。我们对因使用本翻译而产生的任何误解或误释不承担责任。
