关于 Aspire.MCP.Sample
Aspire.MCP.Sample 是一个基于 Aspire 的示例项目,包含 MCP 服务与 Blazor 聊天客户端。它面向希望使用 C# 学习 MCP 通信与 Azure 部署的开发者。
主要功能
- 01使用 Aspire 编排服务与容器
- 02实现 MCP 服务端处理客户端通信
- 03Blazor 聊天客户端连接 MCP 服务
- 04可选择 Azure AI Foundry、Ollama 或 GitHub Models
- 05通过 azd 命令部署到 Azure
适用场景
- 01学习使用 C# 与 Aspire 搭建 MCP 服务与客户端
- 02在本地使用 Ollama 模型测试函数调用
- 03将 MCP 服务通过 azd 部署到 Azure
MCP 相关
该项目包含一个 MCP 服务和一个 MCP 客户端示例。客户端通过聊天界面调用服务的函数,并展示工具返回结果。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Aspire.MCP.Sample
使用 Aspire 的 MCP 服务和 MCP 客户端示例。
概述
此示例演示如何使用 Aspire 设置模型上下文协议(MCP)服务和客户端。它展示了如何在结构化的 Aspire 环境中使用 C# 建立和管理 MCP 通信。
快速演示
观看这段 5 分钟的视频概览,了解项目的运行效果。
观看这段 5 分钟的视频概览,了解如何将解决方案部署到 Azure,以及如何在 Visual Studio Code 中使用部署到 Azure 的 MCP 服务。
功能
- **Aspire 集成:**使用 Aspire 进行容器化编排和服务管理。
- **MCP 服务:**实现 MCP 服务以管理客户端通信。
- **MCP 客户端:**Blazor Chat 客户端示例,演示如何连接 MCP 服务并与其通信。
- **模型选择:**Chat 客户端可以使用来自 Azure AI Foundry、Ollama 或 GitHub Models 的大模型。所选模型必须支持函数调用,才能调用 MCP 服务的函数。
- **函数调用:**演示如何使用所选模型调用 MCP 服务中的函数。
- **工具结果:**在聊天界面中显示函数调用的结果。
- **Azure 部署:**可使用
azd命令轻松将项目部署到 Azure。
入门
先决条件
- .NET SDK 9.0 或更高版本
- Visual Studio 2022 或 Visual Studio Code
- 支持函数调用的大模型或小语言模型(SLM)。
- 使用 Azure AI Foundry 在云端运行模型。例如:gpt-4o-mini
- 使用 GitHub Models 在云端运行模型。例如:gpt-4o-mini
- 使用 Ollama 运行本地模型。推荐:phi4-mini、llama3.2 或 Qwq
本地运行
-
克隆仓库:
-
进入 Aspire 项目目录:
cd .\src\McpSample.AppHost\ -
运行项目:
dotnet run -
在 Aspire 仪表板中,导航到 Blazor Chat 客户端项目。

-
在 Chat Settings 页面中,指定要使用的模型。你可以选择 Azure AI Foundry 中的模型(推荐 gpt-4o-mini)、GitHub Models,或在本地使用 ollama(推荐 llama3.2)。

-
现在可以与模型聊天了。每次调用 MCP 服务中的某个函数时,聊天中都会显示
Tool Result部分。
架构图

GitHub Codespaces
(进行中)
- 即将添加 Codespaces 配置。
部署
在 Codespaces 或本地打开项目后,即可将其部署到 Azure。
在终端窗口中,打开克隆了此仓库的文件夹,然后运行以下命令。
-
登录 Azure:
azd auth login -
配置并部署所有资源:
azd up系统会提示你提供一个
azd环境名称(例如“aspiremcp”)、选择 Azure 帐户中的订阅,并选择一个位置。 -
azd完成部署后,你会在命令输出中看到已在 Azure 中创建的资源列表和一组 URI。 -
访问 blazorchat URI,即可看到 MCP 聊天应用!🎉
***注意:*部署文件位于 ./src/McpSample.AppHost/infra/ 文件夹中。它们由 Aspire AppHost 项目生成。
贡献
欢迎贡献!欢迎提交问题和拉取请求。
许可证
此项目采用 MIT 许可证。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。

