Modell / Datensatz
MicrosoftDocs/mcp avatar
MicrosoftDocs/mcp

Microsoft Learn MCP Server: offizielle Doku als Werkzeug für Coding-Agenten

Official Microsoft Learn MCP Server and CLI tool – powering LLMs and AI agents with real-time, trusted Microsoft docs & code samples.

1.889 Sterne248 ForksTypeScriptCC-BY-4.0

Auf einen Blick

Was ist das?
Ein gehosteter MCP-Endpunkt unter learn.microsoft.com/api/mcp plus die npm-CLI @microsoft/learn-cli liefern drei Werkzeuge: Dokusuche, Seitenabruf als Markdown und Codesuche. Wer Microsoft-Stack-Code schreibt, bekommt damit offizielle Quellen statt Trainingsdaten. Die Lizenz des Repositories ist CC-BY-4.0, das ist für Code ungewöhnlich und sollte vor dem Forken geklärt werden.
Für wen ist es gedacht?
Für Teams, die täglich mit Azure SDKs, .NET, Copilot oder Fabric arbeiten, ist der gehostete Endpunkt die günstigste Option: keine Authentifizierung, keine eigene Indexierung, ein Eintrag in der MCP-Konfiguration. Wer nicht im Microsoft-Ökosystem arbeitet, gewinnt hier nichts, und wer die Antworten in eigene Produkte einbettet, muss die CC-BY-4.0-Lizenz des Repositories vorher prüfen.
Darf ich es kommerziell nutzen?
Ja, mit Namensnennung. CC-BY-4.0 erlaubt die kommerzielle Nutzung, wenn Sie die Urheber nennen und Ihre Änderungen kennzeichnen. Die Lizenz ist für kreative Inhalte gedacht; prüfen Sie daher, wie sie für Code gilt.
Wird es noch gepflegt?
Ja. Die letzten Commits kamen vor 6 Tagen.
In welcher Sprache ist es geschrieben?
Hauptsächlich TypeScript, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Welches Problem der Endpunkt actually löst

Sprachmodelle kennen Azure SDKs, .NET-APIs und Microsoft-Produktfunktionen nur bis zum Ende ihres Trainingsdatenstands. Die README formuliert das Ziel direkt: "Stop AI Hallucinations." Der Vorschlag ist, dem Assistenten stattdessen einen Kanal zu offiziellen Microsoft-Dokumenten zu geben, statt ihn raten oder im offenen Web suchen zu lassen. Die Zielgruppe sind Entwickler, die in Claude, Cursor, Copilot oder Codex arbeiten und dabei ständig gegen veraltete Signaturen, umbenannte CLI-Befehle oder Produktfeatures laufen, die es in der Trainingsversion noch nicht gab. Die README nennt als Beispielprompts Azure-CLI-Befehle für Container Apps mit Managed Identity, die Verfügbarkeit eines Modells in Azure-EU-Regionen und die Frage nach dem korrekten Muster für IHttpClientFactory in einer .NET-8-Minimal-API. Das sind typische Fälle, in denen ein Modell aus dem Gedächtnis plausibel klingende, aber falsche Antworten produziert. Bemerkenswert ist die Abgrenzung gegen generische Websuche: Der Server greift laut README ausschließlich auf Microsoft-Dokumentation erster Hand zu. Das ist ein Argument über die Herkunft der Quellen, nicht über deren Korrektheit. Eine veraltete oder fehlerhafte Microsoft-Seite wird durch diesen Kanal nicht besser.

Drei Werkzeuge, ein Streamable-HTTP-Endpunkt

Der Server läuft nicht lokal. Er ist ein entfernter MCP-Endpunkt unter https://learn.microsoft.com/api/mcp, den jeder MCP-kompatible Client über Streamable HTTP anspricht. Die README listet drei Tools. microsoft_docs_search nimmt einen Suchstring und führt eine semantische Suche gegen die technische Dokumentation aus. microsoft_docs_fetch nimmt eine URL und wandelt die Seite in Markdown um. microsoft_code_sample_search nimmt einen Suchstring plus optional einen Sprachfilter und liefert offizielle Codebeispiele. Der Datenfluss ist damit zweistufig: erst suchen, dann die Trefferseite abrufen, um vollständigen Inhalt statt Snippet zu bekommen. Wer den Endpunkt direkt im Browser aufruft, bekommt laut README einen 405 Method Not Allowed. Das ist kein Fehler, sondern die Folge davon, dass der Endpunkt nur das MCP-Protokoll spricht und keinen HTTP-GET-Pfad für Menschen anbietet. Für eigene Clients verweist die README auf einen Abschnitt mit verbindlichen Vorgaben, ohne deren Inhalt hier wiederzugeben. Wer einen eigenen Client baut, sollte diesen Abschnitt lesen, bevor er Retry-Logik oder Fehlerbehandlung selbst erfindet.

Installation: ein JSON-Block oder ein npx-Aufruf

Die Standardkonfiguration ist ein Eintrag in der MCP-Konfigurationsdatei des Clients. Der Server heißt microsoft-learn, type ist http, url ist der Endpunkt. Für VS Code und VS Code Insiders bietet die README Installationslinks, die diese Konfiguration automatisch setzen. Es gibt keine API-Schlüssel, keine Anmeldung und laut README keine Registrierung. Für die Kommandozeile existiert das npm-Paket @microsoft/learn-cli. Der schnellste Weg ist npx @microsoft/learn-cli search "azure functions timeout". Nach npm install -g @microsoft/learn-cli steht der Befehl mslearn bereit, etwa mslearn search "azure functions timeout". Wichtig ist die Trennung: Das npm-Paket allein installiert keine Agent-Erkennung. Wer die CLI als Skill in Copilot, Claude Code oder Codex sichtbar machen will, braucht mslearn setup --cli. Ohne Zieloption erkennt der Befehl installierte Agenten an ihren bekannten Verzeichnissen. Explizite Ziele wie --copilot, --claude oder --codex überschreiben die Erkennung und lassen sich kombinieren, etwa mslearn setup --cli --copilot --claude --codex. Der Schalter --project schreibt in das aktuelle Repository statt in das Benutzerprofil. Die Ablageorte sind dokumentiert: ~/.copilot/skills/ und .github/skills/ für Copilot, ~/.claude/skills/ und .claude/skills/ für Claude Code, ~/.agents/skills/ und .agents/skills/ für Codex. Zum Rückbau dient mslearn remove --cli, ebenfalls mit optionalen Zielen und --project. Die README stellt klar, dass dieser Weg MCP nicht konfiguriert und Agenten außerhalb dieser drei Ökosysteme, etwa Cursor, nicht einrichtet.

maxTokenBudget und der OpenAI-kompatible Pfad

Zwei Funktionen sind laut README ausdrücklich experimentell und können sich ändern. Die erste ist die Token-Begrenzung: Über den Query-Parameter maxTokenBudget lässt sich die Antwortlänge der Suchwerkzeuge deckeln, indem der Inhalt abgeschnitten wird. Das Beispiel lautet https://learn.microsoft.com/api/mcp?maxTokenBudget=2000. Der Parameter sitzt in der URL des MCP-Servers, nicht in einem Tool-Aufruf, gilt also für alle Antworten dieser Verbindung. Wer das Budget zu knapp setzt, verliert genau die Passagen, die eine Halluzination verhindert hätten, denn das Abschneiden erfolgt mechanisch und nicht danach, welcher Absatz die Antwort trägt. Die zweite Funktion ist ein OpenAI-kompatibler Endpunkt unter https://learn.microsoft.com/api/mcp/openai-compatible, der laut README die Spezifikation für OpenAI Deep Research Modelle befolgt. Das ist ein zweiter Einstiegspunkt für Anwendungen, die nicht über einen klassischen MCP-Client angebunden sind. Beide Funktionen sind als instabil markiert. Wer sie produktiv einsetzt, sollte die URL als Konfigurationswert behandeln und nicht im Code verstreuen, weil sich der Pfad oder das Verhalten ändern kann.

Wo der Ansatz an seine Grenzen stößt

Der Server ersetzt keine Versionsprüfung. Er liefert Dokumentation, wie sie auf learn.microsoft.com steht, und die README macht keine Aussage darüber, wie schnell eine geänderte API dort nachgezogen wird. Wer gegen eine Preview-Version eines SDK arbeitet, kann also weiterhin auf Beschreibungen stoßen, die nicht zum installierten Paket passen. Dazu kommt die Abhängigkeit von einem fremden Dienst: Fällt der Endpunkt aus oder blockiert ein Firmennetzwerk die Verbindung, hat der Agent keine Quelle mehr und fällt still auf sein Modellwissen zurück. Die README beschreibt keine lokale Zwischenspeicherung und keinen Offline-Modus. Ein weiterer Punkt ist die Reichweite. Der Katalog deckt Microsoft-Produkte ab. Für eine Bibliothek außerhalb dieses Ökosystems liefert die semantische Suche nichts Brauchbares, und der Agent hat keinen Anlass, das zu erkennen. Schließlich die CLI-Skills: Sie werden in Verzeichnisse wie .github/skills/ oder .claude/skills/ geschrieben. In einem geteilten Repository landen diese Dateien im Versionsverlauf, und die README beschreibt zwar mslearn remove --cli, aber keine Strategie, wie mehrere Teammitglieder mit unterschiedlich installierten Agenten damit umgehen. Das ist ein Punkt, den man vor dem Einchecken entscheiden muss.

Was Context7 und ähnliche Ansätze anders machen

Die naheliegende Alternative ist ein Dokumentations-Proxy, der viele Quellen indexiert, statt eines Anbieters, der nur seine eigene Dokumentation ausliefert. Solche Dienste nehmen typischerweise Paketnamen oder Repository-URLs entgegen, bauen daraus einen Index und liefern Snippets für beliebige Bibliotheken. Der Unterschied liegt nicht in der Suchqualität, sondern in der Kontrolle: Beim Learn-Server bestimmt Microsoft, was im Katalog steht, wie gerankt wird und wann Inhalte verschwinden. Dafür braucht man keinen Schlüssel und keine eigene Indexierung. Ein selbst betriebener Vektorindex über heruntergeladene Dokumentation wäre die dritte Variante. Er funktioniert offline und lässt sich auf das eigene Versionspinning zuschneiden, kostet aber laufende Pflege für Chunking, Embeddings und Aktualisierung, und genau diese Pflege ist der Grund, warum ein gehosteter Endpunkt überhaupt attraktiv ist. Die Wahl ist damit keine Frage der technischen Überlegenheit, sondern der Frage, ob man die Aktualisierung selbst tragen will oder sie an den Dokumentationsanbieter abgibt.

Lizenz, Wartung und der Blick auf das Repository

Das Repository trägt die Lizenz CC-BY-4.0. Das ist eine Inhaltslizenz, keine typische Softwarelizenz, und sie verlangt Namensnennung bei der Weitergabe. Für die Nutzung des gehosteten Endpunkts ist das ohne Bedeutung, für das Forken des Repositorys oder das Weiterverbreiten von Teilen daraus schon. Das ist keine Rechtsberatung, aber der Punkt gehört vor einem Fork auf die Liste. Zum Wartungsaufwand lässt sich aus dem Material wenig Belastbares sagen. Es wurden keine Releases abgerufen, die README verweist für Feedback auf GitHub Discussions, und die experimentellen Funktionen sind ausdrücklich als veränderlich markiert. Wer maxTokenBudget oder den OpenAI-kompatiblen Pfad einsetzt, übernimmt damit ein Upgrade-Risiko, das er selbst tragen muss. Die CLI-Seite ist dagegen stabiler: Das npm-Paket @microsoft/learn-cli wird über npm verteilt, und die Skill-Verzeichnisse sind pro Agent dokumentiert, sodass ein Wechsel des Zielpfads sichtbar wäre.

Redaktionelles Fazit

Für Teams, die täglich mit Azure SDKs, .NET, Copilot oder Fabric arbeiten, ist der gehostete Endpunkt die günstigste Option: keine Authentifizierung, keine eigene Indexierung, ein Eintrag in der MCP-Konfiguration. Wer nicht im Microsoft-Ökosystem arbeitet, gewinnt hier nichts, und wer die Antworten in eigene Produkte einbettet, muss die CC-BY-4.0-Lizenz des Repositories vorher prüfen. Vor dem Rollout würde ich eine einzige Frage klären, die die README offen lässt: ob der Endpunkt eine Verfügbarkeitszusage hat oder ob ein Ausfall still auf die Trainingsdaten des Modells zurückfällt.

Offizielle Quellen

  1. Issues
  2. License: CC-BY-4.0
  3. MicrosoftDocs/mcp on GitHub
  4. Project website
  5. README
Community-Notizen

Community-Notizen