OpenAI MCP代理

一个基于.NET和Azure OpenAI的MCP代理应用,提供与TypeScript编写的远程MCP服务器的交互功能。

  • by Azure-Samples
  • JavaScript
  • 本地部署
  • 29 星标
  • 更新于
在 GitHub 查看 Azure-Samples/openai-mcp-agent-dotnet

使用说明


名称:。NET OpenAI MCP代理 description:这是一个用编写的MCP代理应用程序。NET,使用OpenAI,使用TypeScript编写的远程MCP服务器。 语言:

  • C#
  • 二头肌
  • azdeveloper 产品:
  • 蔚蓝大海
  • azure容器应用程序
  • 蔚蓝 page_type:示例 url片段:openai mcp代理

.NET OpenAI MCP代理

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

特性

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

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

先决条件

入门指南

现在,您可以使用GitHub Codespace运行此示例应用程序(打开它需要几分钟)! 👉 .

获取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-mcp-agent-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. 默认情况下,代理处于生产模式。您可以将其更改为开发模式 Both 或 Client 通过设置显示更详细的日志:

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

      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,登录应用程序并输入以下提示:

    Give me list of to do.
    Set "meeting at 1pm".
    Give me list of to do.
    Mark #1 as completed.
    Delete #1 from the to-do list.
    

    备注:如果您设置了 USE_LOGIN 价值到 false.

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

    azd down --force --prune
    

资源