Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure MCP Server používá protokol Model Context Protocol (MCP) ke standardizaci integrací mezi aplikacemi AI a externími nástroji a zdroji dat, což umožňuje systémům AI provádět operace, které si jsou vědomy kontextu vašich prostředků Azure.
V tomto článku se dozvíte, jak provést následující úlohy:
- Instalace a ověření na serveru Azure MCP
- Připojení k Azure MCP Serveru pomocí vlastního klienta .NET
- Spuštění výzvy k otestování operací serveru Azure MCP a správy prostředků Azure
Požadavky
- Účet Azure s aktivním předplatným
- Nainstalované rozhraní .NET 9.0 nebo vyšší
- Node.js LTS nainstalována
Poznámka:
Prostředky Azure, ke kterým chcete získat přístup pomocí Azure MCP Serveru, už musí existovat v rámci vašeho předplatného Azure. Kromě toho musí mít váš uživatelský účet přiřazené potřebné role a oprávnění RBAC pro tyto prostředky.
Přihlášení k Azure MCP Serveru pro místní vývoj
Azure MCP Server se autentizuje vůči Microsoft Entra ID pomocí knihovny Azure Identity pro .NET. Server podporuje dva režimy ověřování:
-
Režim zprostředkovatele: Používá nativní ověřování operačního systému (například Správce webových účtů systému Windows) s
InteractiveBrowserCredential. - Režim řetězu přihlašovacích údajů: Zkouší více metod ověřování v posloupnosti: proměnné prostředí, Visual Studio Code, Visual Studio, Azure CLI, Azure PowerShell, Azure Developer CLI a interaktivní ověřování v prohlížeči.
Přihlaste se pomocí některé z těchto metod:
- Visual Studio Code
- Visual Studio
- Azure CLI
- Azure PowerShell
- rozhraní příkazového řádku pro vývojáře Azure
- Otevřete paletu příkazů (
Ctrl+Shift+PneboCmd+Shift+Pna Macu). - Spusťte Azure: Přihlaste se a postupujte podle pokynů.
Po přihlášení může Azure MCP Server ověřovat a spouštět operace ve službách Azure na základě vašich oprávnění.
Vytvoření hostitelské aplikace .NET
Provedením následujících kroků vytvořte konzolovou aplikaci .NET. Aplikace se připojí k modelu AI a funguje jako hostitel klienta MCP, který se připojuje k serveru Azure MCP.
Vytvoření projektu
Otevřete terminál do prázdné složky, do které chcete projekt vytvořit.
Spuštěním následujícího příkazu vytvořte novou konzolovou aplikaci .NET:
dotnet new console -n MCPHostAppPřejděte do nově vytvořené složky projektu:
cd MCPHostAppOtevřete složku projektu ve zvoleném editoru, například Visual Studio Code:
code .
Přidejte závislosti
V terminálu spusťte následující příkazy a přidejte potřebné balíčky NuGet:
dotnet add package Azure.AI.OpenAI --prerelease dotnet add package Azure.Identity dotnet add package Microsoft.Extensions.AI --prerelease dotnet add package Microsoft.Extensions.AI.OpenAI --prerelease dotnet add package ModelContextProtocol --prereleaseZkontrolujte soubor
MCPHostApp.csproja ověřte, zda byly balíčky přidány.Spuštěním následujícího příkazu sestavte projekt a ujistěte se, že je vše správně nastavené:
dotnet build
Přidání kódu aplikace
Obsah Program.cs nahraďte následujícím kódem:
using Azure.AI.OpenAI;
using Azure.Identity;
using Microsoft.Extensions.AI;
using ModelContextProtocol.Client;
// Create an IChatClient
IChatClient client =
new ChatClientBuilder(
new AzureOpenAIClient(new Uri("<your-azure-openai-endpoint>"),
new DefaultAzureCredential())
.GetChatClient("gpt-4o").AsIChatClient())
.UseFunctionInvocation()
.Build();
// Create the MCP client
var mcpClient = await McpClient.CreateAsync(
new StdioClientTransport(new()
{
Command = "npx",
Arguments = ["-y", "@azure/mcp@latest", "server", "start"],
Name = "Azure MCP",
}));
// Get all available tools from the MCP server
Console.WriteLine("Available tools:");
var tools = await mcpClient.ListToolsAsync();
foreach (var tool in tools)
{
Console.WriteLine($"{tool}");
}
Console.WriteLine();
// Conversational loop that can utilize the tools
List<ChatMessage> messages = [];
while (true)
{
Console.Write("Prompt: ");
messages.Add(new(ChatRole.User, Console.ReadLine()));
List<ChatResponseUpdate> updates = [];
await foreach (var update in client
.GetStreamingResponseAsync(messages, new() { Tools = [.. tools] }))
{
Console.Write(update);
updates.Add(update);
}
Console.WriteLine();
messages.AddMessages(updates);
}
Předchozí kód provádí následující úlohy:
- Inicializuje
IChatClientabstrakci pomocíMicrosoft.Extensions.AIknihoven. - Vytvoří klienta MCP pro interakci se serverem Azure MCP pomocí standardního přenosu vstupně-výstupních operací. Zadaný
npxpříkaz a odpovídající argumenty stáhne a spustí Azure MCP Server. - Načte a zobrazí seznam dostupných nástrojů ze serveru MCP, což je standardní funkce MCP.
- Implementuje konverzační smyčku, která zpracovává výzvy uživatelů a využívá nástroje pro odpovědi.
Spuštění a otestování aplikace
Provedením následujících kroků otestujte hostitelskou aplikaci .NET:
V okně terminálu otevřete kořen projektu a spusťte aplikaci spuštěním následujícího příkazu:
dotnet runPo spuštění aplikace zadejte následující testovací výzvu:
List all of the resource groups in my subscriptionVýstup předchozí výzvy by měl vypadat podobně jako v následujícím textu:
The following resource groups are available for your subscription: 1. **DefaultResourceGroup-EUS** (Location: `eastus`) 2. **rg-testing** (Location: `centralus`) 3. **rg-azd** (Location: `eastus2`) 4. **msdocs-sample** (Location: `southcentralus`) 14. **ai-testing** (Location: `eastus2`) Let me know if you need further details or actions related to any of these resource groups!Prozkoumejte a otestujte operace Azure MCP pomocí dalších relevantních výzev, například:
List all of the storage accounts in my subscription Get the available tables in my storage accounts