My GitHub Copilot Journey - Part 9: The Microsoft Learn MCP Server
Overview
What if your AI assistant could read all of Microsoft Learn?
Not a cached snapshot. Not a training cutoff from months ago. The actual, living documentation — updated in real time, searchable by concept, with code samples included.
That's exactly what the Microsoft Learn MCP server does. And it has quietly become one of the most impactful tools in my daily workflow.
In Part 6 I talked about assembling squads of specialized agents. In Part 8 I built a dashboard to visualize my journey. This post is about something more fundamental: giving my AI assistants access to authoritative knowledge — and what happens when you do.
What is MCP?
MCP stands for Model Context Protocol. It's an open standard that lets AI models connect to external tools and data sources through a consistent interface. Think of it as a USB port for AI: plug in a server, and the model gains new capabilities.
An MCP server exposes tools — discrete functions that the AI can call when it needs specific information or capabilities. The model decides when to call them based on the conversation context. Servers can run locally (via stdio) or remotely (via HTTP) — the protocol handles both.
The Microsoft Learn MCP Server
The Microsoft Learn MCP server provides secure, direct access to official Microsoft documentation. Every Azure service, every .NET API, every architecture guide, every code sample — all searchable through three tools:
| Tool | Purpose |
|---|---|
microsoft_docs_search |
Semantic search across all Microsoft official technical documentation |
microsoft_code_sample_search |
Find official Microsoft/Azure code snippets (with optional language filter) |
microsoft_docs_fetch |
Fetch a specific docs page and convert it to markdown |
The server is a remote cloud endpoint at https://learn.microsoft.com/api/mcp — no local installation required, no API key, no sign-up. Your MCP client simply connects to the URL via Streamable HTTP. In GitHub Copilot CLI, it's available as the microsoft-docs skill — always there when you need it.
How I use it in my daily workflow
Quick lookups while coding
The most basic use case is also the most frequent. When I'm working on an Azure deployment and need to know the exact configuration options for a service, I don't leave my terminal. I don't open a browser tab. I just ask, and Copilot queries Learn behind the scenes.
"What are the networking options for Azure Container Apps?" "Show me the Bicep schema for a Key Vault access policy." "What's the difference between system-assigned and user-assigned managed identity?"
The answers come back with the authority of official documentation, not the approximation of training data.
Retrieving partner ecosystem knowledge
As a Partner Solution Architect, I work with Microsoft partners daily. The partner ecosystem has its own world of programs, tools, and frameworks — PAL, DPOR, specializations, MCI incentives, solution designations — all documented on the partner section of Microsoft Learn.
Recently, I was building a presentation about partner transformation and wanted to make sure I had the full picture — all the tools, programs, and how they link together. Instead of manually browsing learn.microsoft.com and hoping I hadn't missed anything, I simply asked Copilot to distill it from the partner documentation:
"A lot of the content can be found on the partner section of Microsoft Learn (for which you have an MCP available). Can you distill the right approach and how everything links together?"
Within seconds, it retrieved the complete framework from the authoritative source: how enablement flows into customer engagement, into recognition, into go-to-market, into incentives — and how each layer maps to specific tools (PAL, DPOR, MCEM stages, Solutions Partner designations). Because it was reading the actual documentation, I could be confident I had everything and that the hierarchy was correct.
This is a pattern I keep coming back to: using the Learn MCP as a research assistant for domain-specific Microsoft knowledge — not just Azure services, but the entire ecosystem including partner programs, licensing, and go-to-market frameworks.
Empowering squad agents with domain knowledge
This is where it gets interesting. In Part 6 I described assembling multi-agent squads. One of the patterns I discovered is that agents become dramatically more effective when they can self-research.
When I needed security expertise for a project, I added two agents to my squad — a Security Engineer and a Security Tester — and explicitly configured them to rely on the Microsoft Learn MCP:
"Add 2 security experts to the squad. Both should be able to rely on the Microsoft Learn skill/MCP."
The result? A Security Engineer who could look up CSP header best practices, CORS configurations, and auth hardening patterns directly from Azure's official guidance. And a Security Tester who could reference OWASP standards and Microsoft's security baselines without me having to feed them documentation manually.
The workflow became: Tester finds vulnerabilities → Engineer looks up best practices → Engineer implements fixes → Tester re-validates. All powered by real-time documentation access.
How I've built it into solutions
Making AI use cases tangible — Architecture lookups
One of the projects I'm working on is a tool that makes AI use cases more tangible for customers. It helps explore AI capabilities, surfaces relevant use cases, and shows which Azure services could power them. Each use case shows technology badges (like "Azure OpenAI" or "Dynamics 365 Field Service").
I had an idea: what if clicking a technology badge showed you the solution architecture? Instead of hardcoding architectures, I connected it to the Learn MCP server. Now when a user clicks a badge, the app queries Microsoft Learn for relevant architectural guidance from the Well-Architected Framework and Azure Architecture Center.
The clever part: the search is context-aware. It doesn't just search for "Azure OpenAI architecture." It includes the AI capability and use case context. So if you're looking at Azure OpenAI in the context of invoice processing for financial services, the architecture results are specific to that scenario.
1Before: "Azure OpenAI Document Intelligence architecture solution"
2After: "Azure OpenAI Document Intelligence invoice processing financial services architecture"
The footer now proudly states: Powered by Microsoft Learn MCP.
Taking it further — An end-to-end AI frontier showcase
Building on the same idea, I'm working on a more ambitious project: a platform that showcases an AI frontier approach end-to-end, making it tangible how you go from discovering AI use cases to generating production-ready architectures and deployment specifications. The Microsoft Learn MCP is woven throughout:
- Architecture step: When generating a solution architecture, the platform queries Learn for Well-Architected Framework alignment, ensuring recommendations follow Microsoft's latest guidance
- Security validation: Architecture proposals are cross-referenced with Azure security baselines
- Service capabilities: When suggesting Azure services, the platform can verify current capabilities and limitations against live documentation
This isn't just "search the docs." It's using documentation as a validation layer — ensuring that AI-generated architectures actually align with what the services can do today.
in this context, the Microsoft learn MCP is one of the default MCP servers, with the option to add more (via the UI):
Integration with the GitHub Copilot SDK
For developers building their own Copilot-powered applications, the pattern is straightforward. The GitHub Copilot SDK's mcp_servers parameter lets you register the Learn MCP server (or any MCP server) at session creation:
1from copilot import CopilotClient
2
3async def main():
4 client = CopilotClient()
5 await client.start()
6
7 session = await client.create_session(
8 model="gpt-5",
9 mcp_servers={
10 "microsoft-learn": {
11 "type": "http",
12 "url": "https://learn.microsoft.com/api/mcp",
13 "tools": ["*"],
14 },
15 }
16 )
17
18 response = await session.send_and_wait(
19 "What's the recommended architecture for a multi-tenant SaaS on Azure?"
20 )
21 print(response.data.content)
The SDK delegates all tool discovery and dispatch to the Copilot CLI runtime. You don't need to handle MCP protocol details — just register the server URL and your application gains access to all of Microsoft Learn.
Why this matters
There's a pattern here that goes beyond Microsoft Learn specifically:
Instead of hardcoding knowledge, connect to living knowledge bases.
AI models have training cutoffs. Documentation evolves daily. Services get new features, APIs change, best practices are updated. By connecting your AI workflows to authoritative, real-time sources, you ensure that:
- Answers are current — not approximations from months-old training data
- Recommendations are authoritative — sourced from official documentation, not hallucinated patterns
- Agents can self-research — they don't depend on you feeding them context; they can go find what they need
This is the difference between an AI assistant that thinks it knows about Azure, and one that can actually look it up.
Getting started
Want to try this yourself? Here's how:
In GitHub Copilot CLI
The Microsoft Learn MCP server is available as the microsoft-docs skill. Just ask questions that require Microsoft documentation knowledge and Copilot will automatically invoke the Learn MCP when relevant.
In any MCP-compatible client
Add the following to your MCP configuration (e.g., .mcp.json):
1{
2 "mcpServers": {
3 "microsoft-learn": {
4 "type": "http",
5 "url": "https://learn.microsoft.com/api/mcp"
6 }
7 }
8}
No API key required. No sign-up. It just works.
The companion CLI
For quick terminal lookups without a full MCP client, there's also a CLI:
1npx @microsoft/learn-cli search "azure functions timeout"
2npx @microsoft/learn-cli fetch "/azure/app-service/overview"
In your own applications
Use the Copilot SDK pattern shown above, or connect via any MCP client library. The server exposes standard MCP tools over Streamable HTTP that any compatible client can discover and invoke.
What's next
The Microsoft Learn MCP server is just one example of the broader pattern. I'm increasingly connecting my workflows to specialized knowledge sources — GitHub's MCP server for repository operations, custom MCP servers for internal tooling, and more.
The key insight from this journey: the most powerful AI workflows aren't the ones with the smartest model. They're the ones with the best connections to authoritative information.
This is Part 9 of my GitHub Copilot Journey series. If you're new here, start with Part 1: The First Ask .