Das vorherige Beispiel zeigt, wie man ein lokales .NET-Projekt mit dem stdio-Typ verwendet und wie man den Server lokal in einem Container startet. Das ist in vielen Situationen eine gute Lösung. Es kann jedoch nützlich sein, den Server remote laufen zu lassen, zum Beispiel in einer Cloud-Umgebung. Hier kommt der http-Typ ins Spiel.
Wenn man sich die Lösung im 04-PracticalImplementation-Ordner anschaut, wirkt sie vielleicht viel komplexer als die vorherige. Tatsächlich ist sie das aber nicht. Wer genau hinsieht, erkennt im Projekt src/Calculator, dass es größtenteils derselbe Code wie im vorherigen Beispiel ist. Der einzige Unterschied ist, dass wir eine andere Bibliothek ModelContextProtocol.AspNetCore für die HTTP-Anfragen verwenden. Außerdem ändern wir die Methode IsPrime auf privat, nur um zu zeigen, dass man private Methoden im Code haben kann. Der Rest des Codes ist wie gehabt.
Die anderen Projekte stammen von .NET Aspire. Die Einbindung von .NET Aspire in die Lösung verbessert die Entwicklererfahrung beim Entwickeln und Testen und unterstützt bei der Beobachtbarkeit. Es ist nicht erforderlich, um den Server zu betreiben, aber es ist eine gute Praxis, es in der Lösung zu haben.
-
Navigiere in VS Code (mit der C# DevKit-Erweiterung) in das Verzeichnis
04-PracticalImplementation/samples/csharp. -
Führe folgenden Befehl aus, um den Server zu starten:
dotnet watch run --project ./src/AppHost
-
Wenn sich im Webbrowser das .NET Aspire Dashboard öffnet, merke dir die
http-URL. Sie sollte ungefähr so aussehen:http://localhost:5058/.
Wenn du Node.js 22.7.5 oder höher installiert hast, kannst du den MCP Inspector verwenden, um deinen Server zu testen.
Starte den Server und führe im Terminal folgenden Befehl aus:
npx @modelcontextprotocol/inspector http://localhost:5058- Wähle
Streamable HTTPas the Transport type. - In the Url field, enter the URL of the server noted earlier, and append
/mcpaus. Es solltehttpsein (nichthttps) something likehttp://localhost:5058/mcp. - select the Connect button.
A nice thing about the Inspector is that it provide a nice visibility on what is happening.
- Try listing the available tools
- Try some of them, it should works just like before.
To use the Streamable HTTP transport with GitHub Copilot Chat, change the configuration of the calc-mcp). Der zuvor erstellte Server sollte so aussehen:
Führe einige Tests durch:
- Frage nach "3 Primzahlen nach 6780". Beachte, wie Copilot die neuen Tools
NextFivePrimeNumbersverwendet und nur die ersten 3 Primzahlen zurückgibt. - Frage nach "7 Primzahlen nach 111", um zu sehen, was passiert.
- Frage nach "John hat 24 Lutscher und möchte sie gleichmäßig auf seine 3 Kinder verteilen. Wie viele Lutscher bekommt jedes Kind?", um zu sehen, was passiert.
Lass uns den Server zu Azure bereitstellen, damit mehr Leute ihn nutzen können.
Wechsle im Terminal in den Ordner 04-PracticalImplementation/samples/csharp und führe folgenden Befehl aus:
azd upNach Abschluss der Bereitstellung solltest du eine Meldung wie diese sehen:
Nimm die URL und verwende sie im MCP Inspector und im GitHub Copilot Chat.
// .vscode/mcp.json
{
"servers": {
"calc-mcp": {
"type": "http",
"url": "https://calc-mcp.gentleriver-3977fbcf.australiaeast.azurecontainerapps.io/mcp"
}
}
}Wir probieren verschiedene Transporttypen und Testwerkzeuge aus. Außerdem stellen wir deinen MCP-Server in Azure bereit. Aber was, wenn unser Server Zugriff auf private Ressourcen benötigt? Zum Beispiel eine Datenbank oder eine private API? Im nächsten Kapitel sehen wir, wie wir die Sicherheit unseres Servers verbessern können.
Haftungsausschluss:
Dieses Dokument wurde mit dem KI-Übersetzungsdienst Co-op Translator übersetzt. Obwohl wir auf Genauigkeit achten, kann es bei automatischen Übersetzungen zu Fehlern oder Ungenauigkeiten kommen. Das Originaldokument in seiner Ausgangssprache ist als maßgebliche Quelle zu betrachten. Für wichtige Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die durch die Nutzung dieser Übersetzung entstehen.


