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 MCP (Model Context Protocol) pro standardizaci integrace mezi aplikacemi AI a externími nástroji a datovými zdroji, což umožňuje systémům AI provádět operace s kontextovým povědomím o vašich prostředcích 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 serveru Azure MCP pomocí režimu agenta GitHub Copilot v editoru Visual Studio Code
- Spuštění výzvy k otestování operací serveru Azure MCP a interakce s prostředky Azure
Požadavky
- Účet Azure s aktivním předplatným
- Visual Studio Code
- GitHub Copilot Rozšíření editoru Visual Studio Code
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.
Instalace Serveru Azure MCP
Vyberte jednu z následujících možností instalace Serveru Azure MCP v editoru Visual Studio Code:
Pokud chcete nainstalovat Azure MCP Server pro Visual Studio Code v uživatelském nastavení, vyberte následující odkaz:
Otevře se seznam možností instalace v editoru Visual Studio Code. Vyberte Nainstalovat server a přidejte konfiguraci serveru do uživatelského nastavení.
Otevřete GitHub Copilot a vyberte Režim agenta. Další informace o režimu agenta najdete v dokumentaci k editoru Visual Studio Code.
Aktualizujte seznam nástrojů a podívejte se na Azure MCP Server jako dostupnou možnost:
Použití výzev k otestování serveru Azure MCP
Otevřete GitHub Copilot a vyberte Režim agenta.
Zadejte výzvu, která způsobí, že agent bude používat nástroje Azure MCP Serveru, jako je Seznam skupin prostředků Azure.
Aby bylo možné ověřit Azure MCP Server, copilot vás vyzve k přihlášení k Azure pomocí prohlížeče.
Poznámka:
Nebude vás Copilot vyzývat k přihlášení k Azure, pokud jste již ověřeni prostřednictvím jiných místních nástrojů, jako je Azure CLI.
Copilot žádá o oprávnění ke spuštění potřebné operace na serveru Azure MCP pro váš požadavek. Vyberte Pokračovat nebo pomocí šipky vyberte konkrétnější chování:
- Aktuální relace vždy provádí operaci v aktuální relaci režimu GitHub Copilot Agent.
- Aktuální pracovní prostor vždy spustí příkaz pro aktuální pracovní prostor v editoru Visual Studio Code.
- Vždy povolte nastaví operaci, aby vždy běžela pro libovolnou relaci s režimem agenta GitHub Copilot nebo pro jakýkoli pracovní prostor v editoru Visual Studio Code.
Vý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
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
- .NET 9.0
- Node.js
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í pro místní vývoj
Azure MCP Server poskytuje bezproblémové ověřování pomocí ověřování založeného na tokenech přes Microsoft Entra ID. Azure MCP Server interně používá DefaultAzureCredential
k ověřování uživatelů z knihovny identit Azure .
Abyste mohli pracovat s Azure MCP Serverem DefaultAzureCredential
, musíte se přihlásit k některému z nástrojů podporovaných místně pomocí účtu Azure. Přihlaste se pomocí okna terminálu, jako je terminál editoru Visual Studio Code:
az login
Po úspěšném přihlášení k některému z předchozích nástrojů může Azure MCP Server automaticky zjišťovat vaše přihlašovací údaje a používat je k ověřování a provádění operací se službami Azure.
Poznámka:
K Azure se můžete také přihlásit prostřednictvím sady Visual Studio. Azure MCP Server dokáže spouštět jenom operace, které má přihlášený uživatel oprávnění provádět.
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 MCPHostApp
Přejděte do nově vytvořené složky projektu:
cd MCPHostApp
Otevřete složku projektu ve zvoleném editoru, například Visual Studio Code:
code .
Přidání závislostí
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 --prerelease
Ověřte, že balíčky byly přidány, zkontrolováním souboru
MCPHostApp.csproj
.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;
using ModelContextProtocol.Protocol.Transport;
// 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 McpClientFactory.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
IChatClient
abstrakci pomocíMicrosoft.Extensions.AI
knihoven. - Vytvoří klienta MCP pro interakci se serverem Azure MCP pomocí standardního přenosu vstupně-výstupních operací. Zadaný
npx
pří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 run
Po spuštění aplikace zadejte následující testovací výzvu:
List all of the resource groups in my subscription
Vý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
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 Pythonu
- 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
- Python 3.9 nebo vyšší nainstalovaný místně
- Node.js nainstalované místně
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í pro místní vývoj
Azure MCP Server poskytuje bezproblémové ověřování pomocí ověřování založeného na tokenech přes Microsoft Entra ID. Azure MCP Server interně používá DefaultAzureCredential
k ověřování uživatelů z knihovny identit Azure .
Abyste mohli pracovat s Azure MCP Serverem DefaultAzureCredential
, musíte se přihlásit k některému z nástrojů podporovaných místně pomocí účtu Azure. Přihlaste se pomocí okna terminálu, jako je terminál editoru Visual Studio Code:
az login
Po úspěšném přihlášení k některému z předchozích nástrojů může Azure MCP Server automaticky zjišťovat vaše přihlašovací údaje a používat je k ověřování a provádění operací se službami Azure.
Poznámka:
K Azure se můžete také přihlásit prostřednictvím sady Visual Studio. Azure MCP Server dokáže spouštět jenom operace, které má přihlášený uživatel oprávnění provádět.
Vytvoření aplikace v Pythonu
Provedením následujících kroků vytvořte aplikaci v Pythonu. Aplikace se připojí k modelu AI a funguje jako hostitel klienta MCP, který se připojuje k serveru Azure MCP.
Vytvoření projektu
Ve zvoleném editoru otevřete prázdnou složku.
Vytvořte nový soubor s názvem
requirements.txt
a přidejte následující závislosti knihovny:mcp azure-identity openai logging
Ve stejné složce vytvořte nový soubor s názvem
.env
a přidejte následující proměnné prostředí:AZURE_OPENAI_ENDPOINT=<your-azure-openai-endpoint> AZURE_OPENAI_MODEL=<your-model-deployment-name>
Vytvořte prázdný soubor s názvem
main.py
pro uložení kódu pro vaši aplikaci.
Vytvoření prostředí a instalace závislostí
Otevřete terminál v nové složce a vytvořte pro aplikaci virtuální prostředí Pythonu:
python -m venv venv
Aktivujte virtuální prostředí:
venv\Scripts\activate
Nainstalujte závislosti z
requirements.txt
:pip install -r requirements.txt
Přidání kódu aplikace
Aktualizujte obsah Main.py
následujícím kódem:
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
from openai import AzureOpenAI
from mcp import ClientSession, StdioServerParameters, types
from mcp.client.stdio import stdio_client
import json, os, logging, asyncio
from dotenv import load_dotenv
# Setup logging and load environment variables
logger = logging.getLogger(__name__)
load_dotenv()
# Azure OpenAI configuration
AZURE_OPENAI_ENDPOINT = os.getenv("AZURE_OPENAI_ENDPOINT")
AZURE_OPENAI_MODEL = os.getenv("AZURE_OPENAI_MODEL", "gpt-4o")
# Initialize Azure credentials
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
async def run():
# Initialize Azure OpenAI client
client = AzureOpenAI(
azure_endpoint=AZURE_OPENAI_ENDPOINT,
api_version="2024-04-01-preview",
azure_ad_token_provider=token_provider
)
# MCP client configurations
server_params = StdioServerParameters(
command="npx",
args=["-y", "@azure/mcp@latest", "server", "start"],
env=None
)
async with stdio_client(server_params) as (read, write):
async with ClientSession(read, write) as session:
await session.initialize()
# List available tools
tools = await session.list_tools()
for tool in tools.tools: print(tool.name)
# Format tools for Azure OpenAI
available_tools = [{
"type": "function",
"function": {
"name": tool.name,
"description": tool.description,
"parameters": tool.inputSchema
}
} for tool in tools.tools]
# Start conversational loop
messages = []
while True:
try:
user_input = input("\nPrompt: ")
messages.append({"role": "user", "content": user_input})
# First API call with tool configuration
response = client.chat.completions.create(
model = AZURE_OPENAI_MODEL,
messages = messages,
tools = available_tools)
# Process the model's response
response_message = response.choices[0].message
messages.append(response_message)
# Handle function calls
if response_message.tool_calls:
for tool_call in response_message.tool_calls:
function_args = json.loads(tool_call.function.arguments)
result = await session.call_tool(tool_call.function.name, function_args)
# Add the tool response to the messages
messages.append({
"tool_call_id": tool_call.id,
"role": "tool",
"name": tool_call.function.name,
"content": result.content,
})
else:
logger.info("No tool calls were made by the model")
# Get the final response from the model
final_response = client.chat.completions.create(
model = AZURE_OPENAI_MODEL,
messages = messages,
tools = available_tools)
for item in final_response.choices:
print(item.message.content)
except Exception as e:
logger.error(f"Error in conversation loop: {e}")
print(f"An error occurred: {e}")
if __name__ == "__main__":
import asyncio
asyncio.run(run())
Předchozí kód provádí následující úlohy:
- Nastaví protokolování a načte proměnné prostředí ze souboru
.env
. - Konfiguruje klienta Azure OpenAI pomocí
azure-identity
aopenai
knihoven. - Inicializuje klienta MCP pro interakci se serverem Azure MCP pomocí standardního přenosu vstupně-výstupních operací.
- Načte a zobrazí seznam dostupných nástrojů ze serveru MCP.
- Implementuje konverzační smyčku pro zpracování výzev uživatelů, využití nástrojů a zpracování volání nástrojů.
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:
python main.py
Po spuštění aplikace zadejte následující testovací výzvu:
List all of the resource groups in my subscription
Vý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