Model Context Protocol (MCP) ist ein neuer Standard, der es Anwendungen ermöglicht, Kontext und Fähigkeiten für Large Language Models (LLMs) bereitzustellen. Ein Hauptmerkmal von MCP ist die Fähigkeit, Tools zu definieren, die KI-Agenten nutzen können, um Aufgaben zu erledigen. Azure Functions MCP überbrückt die Lücke zwischen serverlosem Cloud Computing und KI-Assistenten-Funktionen und ermöglicht es Entwicklern, skalierbare Tools zu erstellen, auf die KI-Agenten zugreifen können.
In diesem Tutorial werden wir untersuchen, was Azure Functions MCP ist, wie man es installiert, wie man einen MCP-Server startet und wie man es mit GitHub Copilot verwendet. Am Ende dieses Leitfadens haben Sie einen funktionierenden MCP-Server, auf den KI-Agenten zugreifen können, um nützliche Aufgaben auszuführen.
Profi-Tipp: Beim Erstellen Ihrer MCP-Server müssen Sie diese API-Endpunkte gründlich testen. Ich empfehle Ihnen, Apidog auszuprobieren – es ist die beste Postman-Alternative, die ich für API-Tests und -Entwicklung gefunden habe.

Im Gegensatz zu herkömmlichen API-Tools bietet Apidog integrierte Mock-Server, automatisierte Tests und einen kollaborativen Arbeitsbereich, der besonders hilfreich ist, wenn Sie mit ereignisgesteuerten Architekturen wie Azure Functions arbeiten.

Die Möglichkeit, SSE-Streams in Echtzeit zu visualisieren, ist von unschätzbarem Wert, wenn Sie Ihre MCP-Server-Implementierungen debuggen. Sie können es unter apidog.com abrufen, um Ihren Entwicklungsworkflow zu optimieren.
Was ist Azure Functions MCP Server?
Azure Functions MCP Server ist eine experimentelle Vorschaufunktion, die Azure Functions, Microsofts serverlose Computing-Lösung, Model Context Protocol (MCP)-Unterstützung hinzufügt. Es führt spezielle Trigger und Bindungen ein, die speziell für die Erstellung von Tools entwickelt wurden, die KI-Agenten über MCP verwenden können.

Diese Integration ermöglicht es Entwicklern, Cloud-basierte Remote-MCP-Server mit Server-Sent Events (SSE) zu erstellen, die von KI-Modellen wie denen in GitHub Copilot genutzt werden können. Azure Functions MCP bietet eine nahtlose Möglichkeit, ereignisgesteuerte, automatisch skalierende KI-unterstützende Tools in Python-, Node.js (TypeScript)- und .NET (C#)-Umgebungen zu entwickeln.
Die Schlüsselkomponente ist der MCP-Tool-Trigger, der Funktionen ermöglicht, als Tools mit definierten Eigenschaften zu fungieren, die KI-Agenten basierend auf dem Kontext entdecken und aufrufen können.
So installieren Sie Azure Functions MCP Server
Gehen wir die Schritte zur Installation und Konfiguration von Azure Functions MCP durch:
Voraussetzungen
- Visual Studio Code
- Azure Functions Core Tools
- .NET SDK 6.0 oder höher (für die C#-Entwicklung)
- Node.js (für die TypeScript-Entwicklung)
- Python 3.8 oder höher (für die Python-Entwicklung)
- Azure CLI (für die Bereitstellung in Azure)
Installationsschritte
Erstellen Sie ein Azure Functions-Projekt: Beginnen Sie mit der Erstellung eines neuen Azure Functions-Projekts in Ihrer bevorzugten Sprache. Sie können der Azure Functions-Dokumentation für Visual Studio Code folgen, um ein Projekt zu erstellen.
Fügen Sie die MCP-Erweiterung hinzu:
Für C#:
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Mcp --version 1.0.0-preview.1
Für Python und Node.js müssen Sie ein experimentelles Erweiterungspaket zu Ihrer host.json-Datei hinzufügen:
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Experimental",
"version": "[4.*, 5.0.0)"
}
Installieren Sie Azurite (für die lokale Entwicklung): Da die MCP-Erweiterung Blob Storage verwendet, müssen Sie Azurite, den Azure Storage-Emulator, lokal ausführen:
Öffnen Sie die Befehlspalette (Umschalt + Strg + P)
Wählen Sie "Azurite: Start"
Aktualisieren Sie Ihre local.settings.json, um sie zu verwenden:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated"
}
}
So starten Sie Azure Functions MCP Server
Nachdem Sie nun die MCP-Erweiterung installiert haben, erstellen und führen wir einen MCP-Server aus:
Erstellen eines MCP-Tools
Hier ist ein Beispiel für die Erstellung eines einfachen Zeitdienstprogramms in C#:
using Microsoft.Azure.Functions.Worker;
using Microsoft.Azure.Functions.Worker.Extensions.Mcp;
using System.Globalization;
using System.Text.Json;
namespace AzfuncMcp;
public class TimeUtil
{
[Function(nameof(GetCurrentTime))]
public string GetCurrentTime(
[McpToolTrigger("getcurrenttime", "Gets the current time. If no timezone is specified, the tool will return the time in UTC.")] ToolInvocationContext context,
[McpToolProperty("timezone", "string", "The name of the timezone.")] string timezone = "UTC")
{
try
{
TimeZoneInfo timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById(timezone);
DateTime currentTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, timeZoneInfo);
var response = new {
timezone = timeZoneInfo.StandardName,
time = currentTime.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture),
displayName = timeZoneInfo.DisplayName
};
return JsonSerializer.Serialize(response);
}
catch (TimeZoneNotFoundException)
{
return $"The timezone '{timezone}' was not found.";
}
catch (InvalidTimeZoneException)
{
return $"The timezone '{timezone}' is invalid.";
}
catch
{
return "Could not get the current time.";
}
}
}
Konfigurieren von Program.cs für MCP
Aktualisieren Sie Ihre Program.cs-Datei, um das MCP-Tool zu registrieren:
using Microsoft.Azure.Functions.Worker.Builder;
using Microsoft.Extensions.Hosting;
using AzfuncMcp;
var builder = FunctionsApplicationBuilder.CreateBuilder(args);
builder.ConfigureFunctionsWebApplication();
builder.EnableMcpToolMetadata();
builder.ConfigureMcpTool(nameof(TimeUtil.GetCurrentTime))
.WithProperty("timezone", "string", "The timezone.");
builder.Build().Run();
Starten des Servers
So starten Sie den MCP-Server lokal:
Stellen Sie sicher, dass Azurite ausgeführt wird.
Öffnen Sie ein Terminal in Ihrem Projektverzeichnis.
Führen Sie diesen Befehl aus:
func start
Oder verwenden Sie die Debugging-Funktionen von Visual Studio Code:
- Öffnen Sie die Ansicht "Ausführen und Debuggen"
- Wählen Sie "An .NET Functions anhängen"
- Drücken Sie F5 oder klicken Sie auf die grüne Wiedergabetaste
Nach dem Start ist Ihr MCP-Server unter folgender Adresse erreichbar: http://localhost:7071/runtime/webhooks/mcp/sse
So verwenden Sie Azure Functions MCP Server mit GitHub Copilot
Nachdem Ihr MCP-Server nun ausgeführt wird, verbinden wir ihn mit GitHub Copilot:
Konfigurieren von GitHub Copilot zur Verwendung Ihres MCP-Servers
Fügen Sie Ihren MCP-Server zu VS Code hinzu:
- Öffnen Sie die Befehlspalette (Umschalt + Strg + P)
- Geben Sie "MCP: Add Server" ein und wählen Sie es aus

- Wählen Sie die Option "HTTP (server sent events)"

- Geben Sie die URL ein:
http://localhost:7071/runtime/webhooks/mcp/sse
- Geben Sie Ihrem Server einen Namen (z. B. "my-azfunc-mcp-server")
Überprüfen Sie die Konfiguration: Die Datei settings.json in Ihrem VS Code-Arbeitsbereich sollte mit etwa Folgendem aktualisiert werden:
"mcp": {
"inputs": [],
"servers": {
"my-azfunc-mcp-server": {
"type": "sse",
"url": "<http://localhost:7071/runtime/webhooks/mcp/sse>"
}
}
}
Entfernen Sie bei Bedarf Beispielserver: Wenn vorkonfigurierte Beispielserver vorhanden sind (z. B. "mcp-server-time"), sollten Sie diese möglicherweise entfernen, um Konflikte mit Ihrer Implementierung zu vermeiden.
Verwenden Ihres MCP-Servers mit GitHub Copilot
- Öffnen Sie GitHub Copilot Chat:
- Stellen Sie sicher, dass der Modus auf "Agent"-Modus eingestellt ist (dies ist für die MCP-Funktionalität unerlässlich)
- Aktivieren Sie Ihren MCP-Server:
- Klicken Sie auf das MCP-Einstellungssymbol (Schraubenschlüssel- und Schraubendrehersymbol)
- Stellen Sie sicher, dass Ihr hinzugefügter MCP-Server aktiviert ist
- Interagieren Sie mit Ihrem Tool:
- Stellen Sie im Chatfenster eine Frage, die Ihr MCP-Tool erfordert
- Mit unserem Zeitdienstprogramm könnten Sie beispielsweise fragen: "Wie spät ist es gerade?" oder "Wie spät ist es in Tokio?"
- GitHub Copilot fordert Sie auf, die Erlaubnis zur Verwendung des externen MCP-Tools zu erteilen
- Nachdem Sie auf "Weiter" geklickt haben, ruft Copilot Ihr MCP-Tool auf und zeigt die Ergebnisse an
- Beobachten Sie Ihre Funktion in Aktion: Wenn Sie sich im Debug-Modus befinden, können Sie Haltepunkte in Ihrer Funktion festlegen und sehen, wie diese getroffen werden, wenn GitHub Copilot Ihr Tool aufruft.
Bereitstellung in Azure
Für den Produktionseinsatz sollten Sie Ihren MCP-Server in Azure bereitstellen:
Stellen Sie Ihre Funktions-App bereit mit Azure Functions Core Tools oder Azure Developer CLI:
func azure functionapp publish <your-function-app-name>
oder
azd up
Konfigurieren Sie den MCP-Client mit Authentifizierung: Beim Zugriff auf eine bereitgestellte Azure Function müssen Sie eine Authentifizierung bereitstellen. Aktualisieren Sie Ihre settings.json:
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "functions-mcp-extension-system-key",
"description": "Azure Functions MCP Extension System Key",
"password": true
}
],
"servers": {
"my-azfunc-mcp-server": {
"type": "sse",
"url": "<your-app-name>.azurewebsites.net/runtime/webhooks/mcp/sse",
"headers": {
"x-functions-key": "${input:functions-mcp-extension-system-key}"
}
}
}
}
Holen Sie sich Ihren Funktionsschlüssel:
- Navigieren Sie im Azure-Portal zu Ihrer Funktions-App
- Gehen Sie zu App Keys
- Kopieren Sie den Systemschlüssel
mcp_extension
Beispielanwendungsfälle
Azure Functions MCP kann für verschiedene Szenarien verwendet werden:
- Code-Snippet-Verwaltung: Erstellen Sie Tools zum Speichern und Abrufen von Code-Snippets
- Datenabruf: Greifen Sie auf Datenbanken oder APIs zu, um bestimmte Informationen abzurufen
- Berechnungen: Führen Sie komplexe Berechnungen durch, die vom LLM nicht einfach durchgeführt werden können
- Integration externer Systeme: Stellen Sie eine Verbindung zu Unternehmenssystemen, APIs oder Diensten her
Einschränkungen und Überlegungen
- Dies ist eine frühe experimentelle Vorschau, daher sind Breaking Changes zu erwarten, wenn sich die Funktion weiterentwickelt.
- Zum Zeitpunkt des Verfassens dieses Artikels können Windows Azure Functions-Hosting Probleme mit MCP haben; Linux-Hosting wird empfohlen.
- Während MCP derzeit Tools unterstützt, werden im Laufe der Zeit weitere Funktionen wie Eingabeaufforderungen hinzugefügt.
- Da es sich um eine Vorschaufunktion handelt, qualifiziert sie sich noch nicht für Standard-Azure-Supportpläne.
Fazit
Azure Functions MCP bietet eine leistungsstarke Möglichkeit, KI-Agenten mit benutzerdefinierten Tools zu erweitern, die die volle Leistung des Azure-Ökosystems nutzen können. Indem Sie diesem Leitfaden folgen, haben Sie gelernt, wie Sie Azure Functions MCP mit GitHub Copilot installieren, konfigurieren und verwenden.
Da MCP immer weiter verbreitet wird, können Sie mit diesen Fähigkeiten zunehmend ausgefeilte KI-gestützte Anwendungen erstellen, die die Denkfähigkeiten großer Sprachmodelle mit den Ausführungsfähigkeiten Ihres benutzerdefinierten Codes kombinieren.
Denken Sie daran, dass MCP ein sich entwickelnder Standard ist und sich Azure Functions MCP in der Vorschau befindet, also behalten Sie die offizielle Dokumentation und die Community-Foren im Auge, um Updates und Best Practices zu erhalten.
Ressourcen
- Offizielle Azure Functions MCP-Ankündigung
- Azure Functions MCP-Beispiele auf GitHub
- MCP-Server-Implementierungsbeispiele
- Azure Functions-Dokumentation
- GitHub Copilot-Dokumentation
Indem Sie diesem Leitfaden folgen, verfügen Sie jetzt über das Wissen, um Azure Functions MCP zu nutzen, um leistungsstarke Tools zu erstellen, die von KI-Agenten über GitHub Copilot und andere MCP-kompatible Schnittstellen verwendet werden können.