Offers official documentation for F# programming language, enabling access to the latest syntax, usage patterns, and best practices from Microsoft Learn.
Provides integration with GitHub's coding agent, allowing it to access official Microsoft documentation for more accurate assistance.
Enables GitHub Copilot to retrieve and incorporate trusted Microsoft documentation directly into its suggestions and responses.
Provides access to up-to-date documentation about .NET technologies, including usage examples and implementation guidance for .NET 8 and other versions.
Provides access to official documentation about NuGet package management, including usage examples and best practices from Microsoft Learn.
🌟 Microsoft Learn MCP Server
The Microsoft Learn MCP Server is a cloud-hosted service that enables clients like GitHub Copilot and other AI agents to bring trusted and up-to-date information directly from Microsoft's official documentation. It is a remote MCP Server using streamable http, which is lightweight for clients to use.
Please note that this project is in Public Preview and implementation may significantly change prior to our General Availability.
📑 Table of contents
- 🎯 Overview
- 🌐 The Microsoft Learn MCP Server Endpoint
- 🛠️ Currently Supported Tools
- 🔌 Installation & Getting Started
- ❓ Troubleshooting
- 🔮 Future Enhancements
- 📚 Additional Resources
🎯 Overview
✨ Example Prompts: Your Source of Truth
Your AI assistant should automatically use this tool for Microsoft-related topics. To ensure that it always consults the official documentation, you can add a phrase like:
Generate Azure CLI Commands
"Give me the Azure CLI commands to create an Azure Container App with a managed identity. search Microsoft docs"
Get Correct .NET Code
"Are you sure this is the right way to implement
IHttpClientFactory
in a .NET 8 minimal API? search Microsoft docs"
Factual Q&A
"Is gpt-4.1-mini available in EU regions? search Microsoft docs"
📊 Key Capabilities
- High-Quality Content Retrieval: Search and retrieve relevant content from Microsoft Learn, Azure documentation, Microsoft 365 documentation, and other official Microsoft sources.
- Semantic Understanding: Uses advanced vector search to find the most contextually relevant documentation for any query.
- Optimized Chunking: Returns up to 10 high-quality content chunks (each max 500 tokens), with article titles, URLs, and self-contained content excerpts.
- Real-time Updates: Access the latest Microsoft documentation as it's published.
🌐 The Microsoft Learn MCP Server Endpoint
The Microsoft Learn MCP Server is accessible to any IDE, agent, or tool that supports the Model Context Protocol (MCP). Any compatible client can connect to the following remote MCP endpoint:
Note: This endpoint is designed for programmatic access by MCP clients via Streamable HTTP. It does not support direct access from a web browser and may return a
405 Method Not Allowed
error if accessed manually.
Example JSON configuration:
🛠️ Currently Supported Tools
Tool Name | Description | Input Parameters |
---|---|---|
microsoft_docs_search | Performs semantic search against Microsoft official technical documentation | query (string): The search query for retrieval |
🔌 Installation & Getting Started
The Microsoft Learn MCP Server supports quick installation across multiple development environments. Choose your preferred client below for streamlined setup:
Client | One-click Installation | MCP Guide |
---|---|---|
VS Code | VS Code MCP Official Guide | |
Claude Desktop | View Instructions1. Open Claude Desktop2. Go to Settings → Integrations3. Click Add Integration4. Enter URL: https://learn.microsoft.com/api/mcp 5. Click Connect | Claude Desktop Remote MCP Guide |
Visual Studio | Manual configuration requiredUse "type": "http" | Visual Studio MCP Official Guide |
Cursor IDE | Cursor MCP Official Guide | |
Roo Code | Manual configuration requiredUse "type": "streamable-http" | Roo Code MCP Official Guide |
Cline | Manual configuration requiredUse "type": "streamableHttp" | Cline MCP Official Guide |
GitHub | Manual configuration required View ConfigNote: Navigate to Settings → Coding agent{ "mslearn": { "command": "npx", "args": [ "-y", "mcp-remote", "https://learn.microsoft.com/api/mcp" ], "tools":["*"] }} |
Alternative Installation (for legacy clients or local configuration)
For clients that don't support native remote MCP servers or if you prefer local configuration, you can use mcp-remote
as a proxy:
Client | Manual Configuration | MCP Guide |
---|---|---|
Claude Desktop (legacy config) | View ConfigNote: Only use this if Settings → Integrations doesn't work{ "microsoft.docs.mcp": { "command": "npx", "args": [ "-y", "mcp-remote", "https://learn.microsoft.com/api/mcp" ] }}Add to claude_desktop_config.json | Claude Desktop MCP Guide |
Windsurf | View Config{ "microsoft.docs.mcp": { "command": "npx", "args": [ "-y", "mcp-remote", "https://learn.microsoft.com/api/mcp" ] }} | Windsurf MCP Guide |
Kiro | View Config{ "microsoft.docs.mcp": { "command": "npx", "args": [ "-y", "mcp-remote", "https://learn.microsoft.com/api/mcp" ] }} | Kiro MCP Guide |
▶️ Getting Started
- For VS Code: Open GitHub Copilot in VS Code and switch to Agent mode
- For Claude Desktop: After adding the integration, you'll see the MCP tools icon in the chat interface
- You should see the Learn MCP Server in the list of available tools
- Try a prompt that tells the agent to use the MCP Server, such as "what are the az cli commands to create an Azure container app according to official Microsoft Learn documentation?"
- The agent should be able to use the MCP Server tools to complete your query
❓ Troubleshooting
💻 System Prompt
Even tool-friendly models like Claude Sonnet 4 sometimes fail to call MCP tools by default; use system prompts to encourage usage.
Here's an example of a Cursor rule (a system prompt) that will cause the LLM to utilize microsoft.docs.mcp
more frequently:
⚠️ Common Issues
Issue | Possible Solution |
---|---|
Connection errors | Verify your network connection and that the server URL is correctly entered |
No results returned | Try rephrasing your query with more specific technical terms |
Tool not appearing in VS Code | Restart VS Code or check that the MCP extension is properly installed |
HTTP status 405 | Method not allowed happens when a browser tries to connect to the endpoint. Try using the MCP Server through VS Code GitHub Copilot or MCP Inspector instead. |
🆘 Getting Support
🔮 Future Enhancements
The Microsoft Learn MCP Server team is working on several enhancements:
- Expanding coverage to additional Microsoft documentation sources
- Improved query understanding for more precise results
📚 Additional Resources
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
The Microsoft Learn Docs MCP Server is a cloud-hosted service that enables clients like GitHub Copilot and other AI agents to bring trusted and up-to-date information directly from Microsoft's official documentation. It is a remote MCP Server using streamable http, which is lightweight for clients t
Related MCP Servers
- -securityAlicense-qualityThe MCP server provides access to Clever Cloud's documentation, allowing users to query and interact with it through Model Context Protocol clients like Claude Desktop.Last updated -TypeScriptMIT License
- -securityFlicense-qualityA customized MCP server that enables integration between LLM applications and documentation sources, providing AI-assisted access to LangGraph and Model Context Protocol documentation.Last updated -1Python
- AsecurityAlicenseAqualityA documentation server based on MCP protocol designed for various development frameworks that provides multi-threaded document crawling, local document loading, keyword searching, and document detail retrieval.Last updated -251JavaScriptMIT License
- -securityFlicense-qualityAn MCP server that enables searching and retrieving content from Confluence documentation systems, providing capabilities for both document searches and full page content retrieval.Last updated -1Python