返回市场
开放AI-MCP代理-点网

开放AI-MCP代理-点网

作者:Azure-Samples26 星标更新:2025-10-29

项目介绍


name: .NET OpenAI MCP Agent description: 这是一个使用.NET编写的MCP代理应用程序,使用Azure OpenAI,并且有一个用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

这是一个使用.NET编写的MCP代理应用程序,使用Azure Open-OpenAI,并且有一个用TypeScript编写的远程MCP服务器。

功能

此应用程序提供以下功能:

  • MCP主机+MCP客户端应用是用.NET Blazor编写的。
  • MCP客户端应用连接到一个用TypeScript编写的待办事项MCP服务器。
  • MCP客户端和服务器应用都在Azure容器应用(ACA)上运行。
  • MCP客户端应用通过ACA内置的身份验证进行保护。
  • MCP服务器应用只能从MCP客户端应用访问。

整体架构图

先决条件

开始使用

现在你可以使用GitHub Codespaces来运行这个示例应用(打开它可能需要几分钟)!👉 在GitHub Codespaces中打开

获取Azure AI Foundry或GitHub模型

  • 要运行此应用,你需要一个Azure AI Foundry实例。
  • 如果你使用Azure AI Foundry,请确保已部署GPT-5-mini模型
  • 默认情况下,部署的模型名称为gpt-5-mini

获取AI代理应用

  1. 为应用创建一个目录。

    # zsh/bash
    mkdir -p openai-mcp-agent-dotnet
    
    # PowerShell
    New-Item -ItemType Directory -Path openai-m-agnet-dotnet -Force
    
  2. 初始化azd

    cd openai-mcp-agent-dotnet
    azd init -t openai-mcp-agent-dotnet
    

    注意:你会被要求输入环境名称,这将是你的Azure资源组名称。例如,环境名称可能是openai-mcp-agent

在Azure上运行

  1. 检查你是否具有必要的权限:

  2. 登录Azure。

    azd auth login
    
  3. 部署应用到Azure。它会自动找到MCP服务器应用并同时部署它。

    azd up
    

    注意

    1. 默认情况下,MCP客户端应用受到ACA内置身份验证功能的保护。你可以在运行azd up之前通过设置关闭此功能:

      azd env set USE_LOGIN false
      
    2. 默认情况下,代理使用gpt-5-mini。你可以通过设置将其更改为其他内容:

      azd env set GPT_MODEL_NAME <azure-openai-model-name>
      
    3. 默认情况下,代理使用无密钥方法进行Azure OpenAI身份验证。你可以通过设置更改以使用Azure OpenAI API密钥

      azd env set AOAI_USE_API_KEY true
      
    4. 默认情况下,代理处于生产模式。你可以通过设置将其更改为开发模式,显示更多详细日志:

      azd env set ENABLE_DEVELOPMENT_MODE Both
      
    5. 默认情况下,MCP服务器应用处于生产模式。你可以通过设置将其更改为开发模式,显示更多详细日志:

      azd env set ENABLE_DEVELOPMENT_MODE Both
      
    6. 在部署过程中,

      • 你将被要求输入Azure订阅和两个位置——一个用于Azure AI Foundry,另一个用于其余资源。
  4. 在终端中获取已部署的客户端应用URL。它可能看起来像这样:

    https://mcptodo-clientapp.{{some-random-string}}.{{location}}.azurecontainerapps.io/
    
  5. 导航到客户端应用URL,登录应用并输入提示,例如:

    给我一个待办事项列表。
    设置“下午1点会议”。
    给我一个待办事项列表。
    标记#1已完成。
    从待办事项列表中删除#1。
    

    注意:如果你已将USE_LOGIN值设置为false,则可能不会被要求登录。

  6. 清理所有已部署的资源。

    azd down --force --prune
    

资源