Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym przewodniku wyjaśniono, jak skonfigurować zestaw GITHub Copilot SDK do korzystania z narzędzi protokołu MCP (Azure Model Context Protocol) do interakcji z zasobami platformy Azure.
Usługa Azure MCP udostępnia zestaw narzędzi, które umożliwiają asystentom sztucznej inteligencji bezpośrednią interakcję z zasobami platformy Azure. Po zintegrowaniu z zestawem SDK Copilot można tworzyć aplikacje korzystające z języka naturalnego do zarządzania subskrypcjami platformy Azure, grupami zasobów, kontami magazynu i nie tylko.
Wymagania wstępne
- Zainstalowano GitHub Copilot CLI.
-
Node.js zainstalowany (na potrzeby uruchamiania serwera za pośrednictwem programu
npx). - Zainstalowany i uwierzytelniony interfejs wiersza polecenia platformy Azure (
az login).
Zaloguj się do serwera Azure MCP na potrzeby programowania lokalnego
Serwer MCP platformy Azure uwierzytelnia się w usłudze Microsoft Entra ID przy użyciu biblioteki tożsamości platformy Azure dla platformy .NET. Serwer obsługuje dwa tryby uwierzytelniania:
-
Tryb brokera: Używa natywnego uwierzytelniania systemu operacyjnego (na przykład Menedżera kont sieci Web systemu Windows) razem z
InteractiveBrowserCredential. - Tryb łańcucha poświadczeń: Próbuje sekwencji wielu metod uwierzytelniania: zmienne środowiskowe, Visual Studio Code, Visual Studio, Azure CLI, Azure PowerShell, Azure Developer CLI i uwierzytelnianie interakcyjne przeglądarki.
Zaloguj się przy użyciu dowolnej z następujących metod:
- Otwórz paletę poleceń (
Ctrl+Shift+PlubCmd+Shift+Pna komputerze Mac). - Uruchom platformę Azure: zaloguj się i postępuj zgodnie z monitami.
Po zalogowaniu serwer MCP platformy Azure może uwierzytelniać i uruchamiać operacje na usługach platformy Azure na podstawie Twoich uprawnień.
Przykład konfiguracji serwera MCP platformy Azure
Niezależnie od używanego zestawu SDK programowania serwer usługi Azure MCP musi być skonfigurowany w kontekście aplikacji, aby można było korzystać z narzędzi. Podstawowa konfiguracja jest podobna do następującej:
{
"mcp_servers": {
"azure-mcp": {
"type": "local",
"command": "npx",
"args": ["-y", "@azure/mcp@latest", "server", "start"],
"tools": ["*"]
}
}
}
Parametr tools: ["*"] jest niezbędny — włącza wszystkie narzędzia z serwera MCP dla sesji.
Przykłady integracji
W poniższych przykładach pokazano, jak zintegrować zestaw SDK w różnych językach.
Uwaga / Notatka
W celu szybszego uruchamiania można zainstalować serwer Azure MCP w skali globalnej przy użyciu polecenia npm install -g @azure/mcp@latest.
Instalacja
Zainstaluj pakiet zestawu SDK języka Python przy użyciu narzędzia pip.
pip install github-copilot-sdk
Przykładowy kod
Poniższy kod przedstawia pełny przepływ:
import asyncio
from copilot import CopilotClient
from copilot.generated.session_events import SessionEventType
async def main():
# Initialize the Copilot client
client = CopilotClient({
"cli_args": [
"--allow-all-tools",
"--allow-all-paths",
]
})
await client.start()
# Configure Azure MCP server in session config
azure_mcp_config = {
"azure-mcp": {
"type": "local",
"command": "npx",
"args": ["-y", "@azure/mcp@latest", "server", "start"],
"tools": ["*"], # Enable all Azure MCP tools
}
}
# Create session with MCP servers
session = await client.create_session({
"model": "gpt-4.1", # Default model; BYOK can override
"streaming": True,
"mcp_servers": azure_mcp_config,
})
# Handle events
def handle_event(event):
if event.type == SessionEventType.ASSISTANT_MESSAGE_DELTA:
if hasattr(event.data, 'delta_content') and event.data.delta_content:
print(event.data.delta_content, end="", flush=True)
elif event.type == SessionEventType.TOOL_EXECUTION_START:
tool_name = getattr(event.data, 'tool_name', 'unknown')
print(f"\n[TOOL: {tool_name}]")
session.on(handle_event)
# Send prompt
await session.send_and_wait({
"prompt": "List all resource groups in my Azure subscription"
})
await client.stop()
if __name__ == "__main__":
asyncio.run(main())
Poprzedni kod:
- Inicjuje aplikację Copilot.
- Konfiguruje serwer mcp platformy Azure przy użyciu polecenia
npx. - Tworzy sesję dla modelu GPT-4.1 z włączonym przesyłaniem strumieniowym.
- Obsługuje zdarzenia dotyczące wydruków odpowiedzi asystenta i dzienników wykonywania narzędzi.
- Wysyła monit o wyświetlenie listy grup zasobów platformy Azure.