关于 .NET OpenAI MCP Agent
.NET OpenAI MCP Agent 是一个示例项目,展示如何用 .NET 和 OpenAI 模型构建 AI Agent,并连接部署在 Azure Container Apps 上的 MCP 服务。它适合希望参考 .NET 与 Azure 集成方式的开发者。
主要功能
- 01基于 .NET Blazor 的 MCP 主机与客户端
- 02连接 TypeScript 编写的待办事项 MCP 服务
- 03客户端与服务均部署于 Azure Container Apps
- 04支持通过 azd 一键部署
适用场景
- 01学习如何在 .NET 中构建 MCP 客户端 Agent
- 02将远程 MCP 服务部署到 Azure Container Apps
- 03参考 Azure OpenAI 与 MCP 的组合方式
MCP 相关
该项目包含 MCP 客户端与 MCP 服务两部分:Blazor 应用作为客户端连接远程 TypeScript 待办事项 MCP 服务,并由 Agent 调用其功能。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
name: .NET OpenAI MCP Agent description: 这是一个使用 Azure OpenAI 编写的 .NET MCP Agent 应用,并搭配一个使用 TypeScript 编写的远程 MCP 服务。 languages:
- csharp
- bicep
- azdeveloper products:
- azure-openai
- azure-container-apps
- azure page_type: sample urlFragment: openai-mcp-agent-dotnet
.NET OpenAI MCP Agent
这是一个使用 Azure OpenAI 编写的 .NET MCP Agent 应用,并搭配一个使用 TypeScript 编写的远程 MCP 服务。
功能
此应用提供以下功能:
- MCP 主机和 MCP 客户端应用使用 .NET Blazor 编写。
- MCP 客户端应用连接到一个使用 TypeScript 编写的待办事项 MCP 服务。
- MCP 客户端和服务应用均运行在 Azure Container Apps (ACA) 上。
- MCP 客户端应用由 ACA 内置的身份验证功能保护。
- MCP 服务应用仅可由 MCP 客户端应用访问。

先决条件
开始使用
现在,你可以使用 GitHub Codespaces 运行此示例应用(打开需要几分钟)!👉 。
获取 Azure AI Foundry 或 GitHub Models
- 要运行此应用,你需要有一个 Azure AI Foundry 实例。
- 如果使用 Azure AI Foundry,请确保已部署 GPT-5-mini 模型。
- 默认情况下,已部署的模型名称为
gpt-5-mini。
获取 AI Agent 应用
-
为应用创建一个目录。
# zsh/bash mkdir -p openai-mcp-agent-dotnet# PowerShell New-Item -ItemType Directory -Path openai-mcp-agent-dotnet -Force -
初始化
azd。cd openai-mcp-agent-dotnet azd init -t openai-mcp-agent-dotnetNOTE:系统会要求你输入环境名称,该名称将作为 Azure 资源组的名称。例如,环境名称可以是
openai-mcp-agent。
在 Azure 上运行
-
检查你是否拥有所需权限:
- 你的 Azure 帐户必须拥有
Microsoft.Authorization/roleAssignments/write权限,例如在订阅级别拥有基于角色的访问控制管理员、用户访问管理员或所有者角色。 - 你的 Azure 帐户还必须在订阅级别拥有
Microsoft.Resources/deployments/write权限。
- 你的 Azure 帐户必须拥有
-
登录 Azure。
azd auth login -
将应用部署到 Azure。系统会自动查找 MCP 服务应用,并同时部署它。
azd up注意:
-
默认情况下,MCP 客户端应用受 ACA 内置身份验证功能保护。运行
azd up之前,可以通过设置以下值关闭此功能:azd env set USE_LOGIN false -
默认情况下,Agent 使用
gpt-5-mini。可以通过设置以下值将其更改为其他模型:azd env set GPT_MODEL_NAME <azure-openai-model-name> -
默认情况下,Agent 使用 Azure OpenAI 无密钥身份验证方式。可以通过设置以下值,将其更改为使用 Azure OpenAI API 密钥:
azd env set AOAI_USE_API_KEY true -
默认情况下,Agent 处于生产模式。可以通过设置以下值,将其更改为
Both或Client开发模式,以显示更详细的日志:azd env set ENABLE_DEVELOPMENT_MODE Both -
默认情况下,MCP 服务应用处于生产模式。可以通过设置以下值,将其更改为
Both或Server开发模式,以显示更详细的日志:azd env set ENABLE_DEVELOPMENT_MODE Both -
部署期间:
- 系统会要求你输入 Azure 订阅以及两个位置:一个用于 Azure AI Foundry,另一个用于其余资源。
-
-
在终端中获取已部署的客户端应用 URL。它可能如下所示:
https://mcptodo-clientapp.{{some-random-string}}.{{location}}.azurecontainerapps.io/ -
打开客户端应用 URL,登录应用并输入如下提示词:
给我待办事项列表。 添加“下午 1 点开会”。 给我待办事项列表。 将 #1 标记为已完成。 从待办事项列表中删除 #1。注意:如果你已将
USE_LOGIN值设为false,系统可能不会要求你登录。 -
清理所有已部署的资源。
azd down --force --prune
资源
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。