Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az Azure MCP Server a Model Context Protocol (MCP) használatával szabványosítja az AI-alkalmazások és a külső eszközök és adatforrások közötti integrációt, lehetővé téve az AI-rendszerek számára az Azure-erőforrások környezettudatos műveleteit.
Ebből a cikkből megtudhatja, hogyan végezheti el a következő feladatokat:
- Az Azure MCP Server telepítése és hitelesítése
- Csatlakozás az Azure MCP Serverhez egyéni .NET-ügyfél használatával
- Az Azure MCP Server műveleteinek tesztelésére és az Azure-erőforrások kezelésére vonatkozó kérések futtatása
Előfeltételek
- Aktív előfizetéssel rendelkező Azure-fiók
- A .NET 9.0 vagy újabb verziója telepítve van
- Node.js LTS telepítve
Megjegyzés:
Az Azure MCP Serverrel elérni kívánt Azure-erőforrásoknak már létezniük kell az Azure-előfizetésben. Emellett a felhasználói fióknak rendelkeznie kell az erőforrásokhoz szükséges RBAC-szerepkörök és engedélyek hozzárendelésével .
Bejelentkezés az Azure MCP Serverbe helyi fejlesztés céljából
Az Azure MCP Server a .NET-hez készült Azure Identity Library használatával hitelesíti a Microsoft Entra ID-t. A kiszolgáló két hitelesítési módot támogat:
-
Közvetítő mód: Az operációs rendszer natív hitelesítését használja, így például a Windows Web Account Manageren keresztül
InteractiveBrowserCredential. - Hitelesítőadat-lánc mód: Több hitelesítési módszert próbál meg egymás után: környezeti változók, Visual Studio Code, Visual Studio, Azure CLI, Azure PowerShell, Azure Developer CLI és interaktív böngészőhitelesítés.
Jelentkezzen be az alábbi módszerek bármelyikével:
- Nyissa meg a parancskatalógust (
Ctrl+Shift+PvagyCmd+Shift+PMacen). - Futtassa az Azure-t: Jelentkezzen be , és kövesse az utasításokat.
A bejelentkezés után az Azure MCP Server az Ön engedélyei alapján hitelesítheti és futtathatja az Azure-szolgáltatások műveleteit.
A .NET-gazdagépalkalmazás létrehozása
A .NET-konzolalkalmazás létrehozásához hajtsa végre az alábbi lépéseket. Az alkalmazás egy AI-modellhez csatlakozik, és egy Azure MCP-kiszolgálóhoz csatlakozó MCP-ügyfél gazdagépeként működik.
A projekt létrehozása
Nyisson meg egy terminált egy üres mappába, ahol létre szeretné hozni a projektet.
Futtassa a következő parancsot egy új .NET-konzolalkalmazás létrehozásához:
dotnet new console -n MCPHostAppLépjen az újonnan létrehozott projektmappába:
cd MCPHostAppNyissa meg a projektmappát a választott szerkesztőben, például a Visual Studio Code-ban:
code .
Függőségek hozzáadása
A terminálban futtassa a következő parancsokat a szükséges NuGet-csomagok hozzáadásához:
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 --prereleaseEllenőrizze, hogy a csomagok hozzáadva lettek-e a
MCPHostApp.csprojfájl ellenőrzésével.Futtassa a következő parancsot a projekt létrehozásához, és győződjön meg arról, hogy minden megfelelően van beállítva:
dotnet build
Az alkalmazáskód hozzáadása
Cserélje le a Program.cs tartalmát a következő kódra:
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);
}
Az előző kód a következő feladatokat hajtja végre:
- Egy
IChatClientabsztrakció inicializálása aMicrosoft.Extensions.AIkönyvtárak használatával. - Létrehoz egy MCP-ügyfelet, amely szabványos I/O-átvitel használatával kommunikál az Azure MCP-kiszolgálóval. A megadott
npxparancs és a hozzájuk tartozó argumentumok letöltik és elindítják az Azure MCP-kiszolgálót. - Lekéri és megjeleníti az MCP-kiszolgálóról elérhető eszközök listáját, amely egy szabványos MCP-függvény.
- Olyan beszélgetési hurkot implementál, amely feldolgozza a felhasználók kéréseit, és a válaszok eszközeit használja.
Az alkalmazás futtatása és tesztelése
A .NET-gazdagépalkalmazás teszteléséhez hajtsa végre az alábbi lépéseket:
A projekt gyökeréhez megnyitott terminálablakban futtassa a következő parancsot az alkalmazás elindításához:
dotnet runAz alkalmazás futtatása után adja meg a következő tesztüzenetet:
List all of the resource groups in my subscriptionAz előző parancssor kimenetének a következő szöveghez kell hasonlítania:
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!Az Azure MCP-műveletek megismerése és tesztelése más vonatkozó kérésekkel, például:
List all of the storage accounts in my subscription Get the available tables in my storage accounts