MCP通信服务

基于Aspire的模型上下文协议(MCP)服务器和客户端示例,用于管理和演示MCP通信,支持Azure部署和多种模型选择。

  • by elbruno
  • HTML
  • 本地部署
  • 48 星标
  • 更新于
在 GitHub 查看 elbruno/Aspire.MCP.Sample

使用说明

向往。MCP。样品

使用Aspire的MCP服务器和MCP客户端示例。

概述

此示例演示了使用Aspire的模型上下文协议(MCP)服务器和客户端设置。它展示了如何在结构化的Aspire环境中使用C#建立和管理MCP通信。

快速演示

查看这段5分钟的视频概述,了解项目的实际情况。

查看这段5分钟的视频概述,了解如何将解决方案部署到Azure,以及如何从Visual Studio代码中使用Azure中部署的MCP服务器。

特性

  • Aspire集成: 使用Aspire进行容器化编排和服务管理。
  • MCP服务器: 实现MCP服务器来管理客户端通信。
  • MCP客户端: 示例GetChat客户端演示如何连接和通信MCP服务器。
  • 型号选择: 聊天客户端可以使用Azure AI Foundry、Ollama或GitHub模型中的LLM。所选模型必须支持函数调用,才能调用MCP服务器函数。
  • 函数调用: 演示如何使用所选模型从MCP服务器调用函数。
  • 工具结果: 在聊天界面中显示函数调用的结果。
  • Azure部署: 该项目可以使用以下方式轻松部署到Azure azd 命令。

入门指南

先决条件

  • .NET SDK 9.0或更高版本
  • Visual Studio 2022或Visual Studio代码
  • 支持函数调用的LLM或SLM。
    • Azure AI Foundry 在云中运行模型。IE:gpt-4o-mini
    • GitHub模型 在云中运行模型。IE:gpt-4o-mini
    • 没有 用于运行本地模型。建议:phi4-mini、llama3.2或Qwq

在本地运行

  1. 克隆存储库:

  2. 导航到Aspire项目目录:

    cd .\src\McpSample.AppHost\
    
  3. 运行项目:

    dotnet run
    
  4. 在Aspire仪表板中,导航到JsonChat客户端项目。

  5. 在聊天设置页面中,定义要使用的模型。您可以选择使用Azure AI Foundry中的模型(建议使用gpt-4o-mini)、GitHub模型或本地使用ollama(建议使用llama3.2)

  6. 现在你可以和模特聊天了。每次调用MCP服务器的某个功能时 Tool Result 聊天中将显示该部分。

架构图

GitHub代码空间

(WIP)

  • 代码空间配置将很快添加。

部署

在中打开项目后 代码空间,或 本地,您可以将其部署到Azure。

在终端窗口中,打开包含此仓库克隆的文件夹,并运行以下命令。

  1. 登录到Azure:

    azd auth login
    
  2. 提供和部署所有资源:

    azd up
    

    它将提示您提供 azd 环境名称(如“aspiremcp”),从Azure帐户中选择一个订阅,然后选择一个位置。

  3. 当 azd 部署完成后,您将在命令输出中看到在Azure中创建的资源列表和一组URI。

  4. 访问 blazorchat URI,您应该看到 MCP聊天应用程序! 🎉

注: 部署文件位于 ./src/McpSample.AppHost/infra/ 文件夹。它们是由 Aspire AppHost 项目。

贡献

欢迎投稿!请随时提交问题和拉取请求。

许可证

该项目根据MIT许可证获得许可。