入门:模型上下文协议(MCP)
Dometrain课程的源代码 模型上下文协议(MCP)入门.
本课程分为编号的部分。每一节都建立在前一节的基础上。每个文件夹中的代码是该部分末尾的最终版本。
| 第节 | 说明 |
|---|---|
| 01 mcp服务器stdio | MCP服务器使用sdtio传输-通过stdin/stdout与客户端启动的进程通信。 |
| 02-mcp服务器本地http | 使用StremableHTTP传输的MCP服务器-在以下位置作为web服务器运行 /mcp 本地主机:8080。 |
| 03 mcp服务器待办事项列表 | Todo-list MCP服务器,带有Azure表存储支持的工具(AddTodo、GetTodoList、DeleteTodo)。 |
| 04聊天代理 | 对话人工智能聊天API使用。NET代理框架和OpenAI(还没有MCP)。 |
| 05 mcp客户端本地主机 | 连接到本地主机服务器并向AI代理公开MCP工具的MCP客户端。 |
| 06 mcp服务器已通过身份验证 | 使用Azure AD(Entra ID)和JWT承载身份验证的经过身份验证的MCP服务器。 |
| 07 mcp客户端已通过身份验证 | 具有承载令牌身份验证的MCP客户端,连接到经过身份验证的服务器。 |
| 08 mcp服务器工具 | 基于意图的工具,为人工智能和用户意图设计的更丰富的工具(CompleteTodo、SetPriority、FindTodos等)。 |
| 09 mcp服务器资源 | 将MCP资源添加到服务器。 |
| azure的10 mcp服务器 | 使用Docker和Azure容器应用程序将MCP服务器部署到Azure。 |
先决条件
Azure帐户
有几个部分使用Azure服务:
- Azure表存储 -用于待办事项列表持久化(第03、06、08、09、10节)
- Azure AD(登录 ID) -用于身份验证(第06-10节)
- Azure容器应用 -部署(第10节)
开始:
- 创建免费Azure帐户
- 按照中的Azure表存储设置进行操作 03 mcp服务器待办事项列表README
- 对于经过身份验证的部分,您需要注册Entra ID应用程序(说明见README部分)
OpenAI API密钥
MCP客户端部分(04、05、07)使用OpenAI API为聊天代理供电。您将需要一个API密钥。
- 在以下网址创建帐户 OpenAI
- 创建API密钥
- 添加到
appsettings.json或.vscode/launch.json在相关部分中(或使用用户机密/环境变量OpenAI__ApiKey)
前端
这 前端 文件夹包含一个React聊天UI,可与MCP客户端API对话。 你在课程中没有构建这个 -提供它是为了测试您构建的MCP服务器和客户端。前端运行在 http://localhost:5173 并期望MCP客户API https://localhost:5001。请参阅 前端README 用于设置。
运行项目
每个部分都有自己的README,其中包含运行说明和设置。从您正在处理的部分开始,并按照其“跑步前”步骤进行操作。
