返回市场
米艾Azure人工智能铸造MCP示例服务器

米艾Azure人工智能铸造MCP示例服务器

作者:devkimchi4 星标更新:2025-05-27

项目介绍

MEAI, Azure AI Foundry, Foundry Local 和 MCP 示例

你知道吗?.NET 是一种非常灵活的语言,可以用来构建前端和后端应用程序。除此之外,.NET 还能够轻松地构建人工智能增强的应用程序。这个仓库提供了几个使用 Microsoft.Extensions.AI、Azure AI Foundry、Foundry Local 和 MCP 服务器/客户端的示例应用。

预备条件

开始使用

构建 Foundry Local SDK

注意:这是一个临时解决方案,直到官方的 NuGet 包准备好。

  1. 克隆 Foundry Local 仓库。

    git clone https://github.com/microsoft/Foundry-Local.git foundry-local
    
  2. 构建 C# SDK。

    cd foundry-local/sdk/cs
    dotnet restore && dotnet build
    
  3. 获取 NuGet 包的位置。

    # bash/zsh
    FOUNDRY_LOCAL_NUGET_PACKAGE_PATH=$(find $(pwd) -name "*.nupkg" -type f -exec dirname {} \; | sort -u)
    
    # PowerShell
    $FOUNDRY_LOCAL_NUGET_PACKAGE_PATH = $(Get-ChildItem -Path . -Filter *.nupkg -Recurse).Directory.FullName
    

准备在本地机器上运行应用

  1. 克隆此仓库。

    git clone https://github.com/devkimchi/meai-azure-ai-foundry-mcp-sample.git
    
  2. 创建 nuget.config 文件。{{FOUNDRY_LOCAL_NUGET_PACKAGE_PATH}} 是来自 上一节 的值。

    # bash/zsh
    cd meai-azure-ai-foundry-mcp-sample
    cat ./nuget.sample.config \
        | sed 's|/path/to/foundry-local/sdk/cs/src/bin/Debug|{{FOUNDRY_LOCAL_NUGGET_PACKAGE_PATH}}|g' \
        > nuget.config
    
    # PowerShell
    cd me-azure-ai-foundry-mcp-sample
    $(Get-Content -Path ./nuget.sample.config) `
        -replace "/path/to/foundry-local/sdk/cs/src/bin/Debug", "{{FOUNDRY_LOCAL_NUGGET_PACKAGE_PATH}}" `
        | Out-File -Path nuget.config -Force
    

    注意:这一步仅在官方 NuGet 包发布之前需要执行。

运行 Microsoft.Extensions.AI 示例应用

  1. 确保你有 OpenAI、Azure OpenAI、GitHub 模型、Anthropic 和/或 Google Vertex AI 的 API 密钥。

  2. 将这些 API 密钥存储到用户秘密中:

    # OpenAI
    dotnet user-secrets --project ./src/Meai.ClientApp set ConnectionStrings:openai "Endpoint=https://api.openai.com/v1;Key={{OPENAI_API_KEY}}"
    
    # Azure OpenAI
    dotnet user-secrets --project ./src/Meai.ClientApp set ConnectionStrings:openai "Endpoint={{AZURE_OPENAI_ENDPOINT}};Key={{AZURE_OPENAI_API_KEY}}"
    
    # GitHub 模型
    dotnet user-secrets --project ./src/Meai.ClientApp set ConnectionStrings:openai "Endpoint=https://models.inference.ai.azure.com;Key={{GITHUB_PAT}}"
    
    # Anthropic
    dotnet user-secrets --project ./src/Meai.ClientApp set ConnectionStrings:anthropic "Endpoint=https://api.anthropic.com;Key={{ANTHROPIC_API_KEY}}"
    
    # Google Vertex AI
    dotnet user-secrets --project ./src/Meai.ClientApp set ConnectionStrings:google "Endpoint=https://generativelanguage.googleapis.com;Key={{GOOGLE_API_KEY}}"
    
  3. 确认你要使用的 LLM 在 src/Meai.ClientApp/appsettings.json

    // 使用 OpenAI、Azure OpenAI 或 GitHub 模型
    {
      "MEAI": {
        "ChatClient": "openai"
      }
    }
    
    // 使用 Anthropic
    {
      "MEAI": {
        "ChatClient": "anthropic"
      }
    }
    
    // 使用 Google Vertex AI
    {
      "MEAI": {
        "ChatClient": "google"
      }
    }
    
  4. 运行应用。

    dotnet watch run --project ./src/Meai.ClientApp
    

运行 Azure AI Foundry 示例应用

  1. 确保你有 Azure AI Foundry 的 API 密钥。

  2. 将 API 密钥存储到用户秘密中:

    # Azure AI Foundry
    dotnet user-secrets --project ./src/Meai.ClientApp set ConnectionStrings:foundry "Endpoint={{AZURE_AI_FOUNDRY_ENDPOINT}};Key={{AZURE_AI_FOUNDRY_API_KEY}}"
    
  3. 确认你要使用的 LLM 在 src/Foundry.ClientApp/appsettings.json

    {
      "MEAI": {
        "ChatClient": "foundry"
      }
    }
    
  4. 运行应用。

    dotnet watch run --project ./src/Foundry.ClientApp
    

运行 Foundry Local 示例应用

  1. 确保你已安装 Foundry Local CLI。

  2. 向 Foundry Local 添加模型。你可以通过运行 foundry model ls 来添加列表中的任何模型。

    foundry model download qwen2.5-0.5b
    
  3. 确认你要使用的 LLM 在 src/Foundry.ClientApp/appsettings.json

    {
      "MEAI": {
        "ChatClient": "local"
      }
    }
    
  4. 运行应用。

    dotnet watch run --project ./src/Foundry.ClientApp
    

运行 MCP 服务器/客户端示例应用

  1. 确保你有 OpenAI、Azure OpenAI 或 GitHub 模型的 API 密钥。

  2. 将这些 API 密钥存储到用户秘密中:

    # OpenAI
    dotnet user-secrets --project ./src/Meai.ClientApp set ConnectionStrings:openai "Endpoint=https://api.openai.com/v1;Key={{OPENAI_API_KEY}}"
    
    # Azure OpenAI
    dotnet user-secrets --project ./src/Meai.ClientApp set ConnectionStrings:openai "Endpoint={{AZURE_OPENAI_ENDPOINT}};Key={{AZURE_OPENAI_API_KEY}}"
    
    # GitHub 模型
    dotnet user-secrets --project ./src/Meai.ClientApp set ConnectionStrings:openai "Endpoint=https://models.inference.ai.azure.com;Key={{GITHUB_PAT}}"
    
  3. 运行 MCP 服务器应用。

    dotnet run --project ./src/McpTodo.ServerApp
    
  4. 在另一个终端中运行 MCP 客户端应用。

    dotnet watch run --project ./src/mcpTodo.ClientApp
    

已知问题:安装 Foundry Local CLI

在 Windows 上,如果你一直无法在你的机器上安装 Foundry Local CLI,尝试以下方法作为解决办法

# 下载包及其依赖项
$releaseUri = "https://github.com/microsoft/Foundry-Local/releases/download/v0.3.9267/FoundryLocal-x64-0.3.9267.43123.msix"
Invoke-WebRequest -Method Get -Uri $releaseUri -OutFile ./FoundryLocal.msix
$crtUri = "https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx"
Invoke-WebRequest -Method Get -Uri $crtUri -OutFile ./VcLibs.appx

# 安装 Foundry Local 包
Add-AppxPackage ./FoundryLocal.msix -DependencyPath ./VcLibs.appx

更多资源