Microsoft Learn MCP server
Endpoint: https://learn.microsoft.com/api/mcp · Authentication: No auth
Searches and fetches Microsoft Learn documentation and official code samples for Azure, .NET, Microsoft 365, and other Microsoft products. No authentication is required.
How do I authenticate?
Add the endpoint directly in your client. The catalog records no authentication requirement; no OAuth sign-in or API key is configured in this setup. The live server may change.
Authentication and connection guideConnection specification
- Remote endpoint
https://learn.microsoft.com/api/mcp- Browser access
- Not yet measured
- Declared MCP transport
- Streamable HTTP
- Live-validated MCP transport
- Streamable HTTP — Observed by the latest catalog validation
- Declared authentication
- No authentication
- Detected authentication
- No authentication detected or retained from publisher evidence
- Protocol lifecycle
- Stateful MCP · 2025-06-18
- Category
- Documentation
Product documentation · Source repository · Official listing documentation
More Documentation MCP servers · Browse all MCP servers · Test this endpoint in the MCP Playground
Connect it
Live-validated endpoint: https://learn.microsoft.com/api/mcp · Streamable HTTP. No authentication is required by the catalog listing.
Agent prompt for Claude Code or Codex
Add the Microsoft Learn MCP server to my MCP client configuration and verify that it works. What it is: Searches and fetches Microsoft Learn documentation and official code samples for Azure, .NET, Microsoft 365, and other Microsoft products. No authentication is required. Server URL: https://learn.microsoft.com/api/mcp Transport: Streamable HTTP (remote MCP server, no local install). Authentication: none. The server accepts connections without credentials. Tools (3, as last observed by mcptest): microsoft_code_sample_search, microsoft_docs_fetch, microsoft_docs_search. Reference: https://mcptest.io/servers/microsoft-learn/ Steps: 1. Work out which MCP client I use (Claude Code, Codex, Cursor, VS Code or another) and add the server under the name "microsoft-learn" in that client's MCP configuration, user scope unless I ask otherwise. Claude Code: claude mcp add --transport http --scope user 'microsoft-learn' 'https://learn.microsoft.com/api/mcp' Codex: codex mcp add 'microsoft-learn' --url 'https://learn.microsoft.com/api/mcp' Other clients: use the setup for that client on the reference page. 2. Never write a credential value into a file that could be committed; reference an environment variable or the client's secret store, and ask me for any value you need. 3. Verify: connect to the server and call tools/list. Confirm the tools above are listed, and report any sign-in step I still have to complete.
Claude Code setup
Run in a terminal. This user-scoped entry is available across projects.
claude mcp add --transport http --scope user 'microsoft-learn' 'https://learn.microsoft.com/api/mcp'Codex CLI setup
Run in a terminal; Codex stores the entry in ~/.codex/config.toml.
codex mcp add 'microsoft-learn' --url 'https://learn.microsoft.com/api/mcp'Cursor setup
Add to .cursor/mcp.json for this project, or ~/.cursor/mcp.json for all projects.
{
"mcpServers": {
"microsoft-learn": {
"url": "https://learn.microsoft.com/api/mcp"
}
}
}VS Code setup
Add to .vscode/mcp.json, or run “MCP: Open User Configuration” for a private user-level entry.
{
"servers": {
"microsoft-learn": {
"type": "http",
"url": "https://learn.microsoft.com/api/mcp"
}
}
}Claude setup
Add the endpoint above in Claude:
- Customize > Connectors > Add custom connector
- Team/Enterprise: Organization settings > Connectors > Add > Custom > Web
Claude Desktop setup
Add the endpoint above in Claude Desktop:
- Remote: Customize > Connectors (same as claude.ai)
- Local: Settings > Developer > Edit Config, or Settings > Extensions for .mcpb files
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) or%APPDATA%\Claude\claude_desktop_config.json(Windows), local servers only
ChatGPT setup
Add the endpoint above in ChatGPT:
- ChatGPT web: Plugins > Add custom MCP server, then configure authentication and accept the risk warning
Windsurf setup
Add the endpoint above in Windsurf:
~/.config/devin/mcp_config.json(%APPDATA%\devin\mcp_config.jsonon Windows),serverUrlorurl- Cascade panel > ... > MCPs > Open MCP config file
Gemini CLI setup
Add the endpoint above in Gemini CLI:
gemini mcp add --transport http <name> <url>~/.gemini/settings.json(user) or.gemini/settings.json(project),mcpServers
MCP SDK setup
Add the endpoint above in MCP SDK:
- Programmatic:
new Client(...).connect(new StreamableHTTPClientTransport(url))
Client compatibility
| Client | Status | Why |
|---|---|---|
| Claude Code | Supported | Claude Code supports Streamable HTTP servers and servers without authentication. |
| Codex | Partial | Codex's documentation does not state support for servers without authentication. |
| Cursor | Supported | Cursor supports Streamable HTTP servers and servers without authentication. |
| VS Code | Supported | VS Code supports Streamable HTTP servers and servers without authentication. |
| Claude | Supported | Claude supports Streamable HTTP servers and servers without authentication. |
| Claude Desktop | Supported | Claude Desktop supports Streamable HTTP servers and servers without authentication. |
| ChatGPT | Partial | Stateful routing needs operational care: ChatGPT can preserve MCP sessions, but the deployment must route a session consistently and retain its state. |
| Windsurf | Partial | Windsurf's documentation does not state support for servers without authentication. |
| Gemini CLI | Supported | Gemini CLI supports Streamable HTTP servers and servers without authentication. |
| MCP SDK | Supported | MCP SDK supports Streamable HTTP servers and servers without authentication. |
Computed from this server's validated transport, protocol and authentication against documented client support. Checks the catalog has not observed are not counted.
Latest validation evidence
- Validation status
- Online when last tested
- Validation checked at
- Oct 26, 2026 at 11:06 AM
- Validation detail
- Negotiated stateful MCP 2025-06-18 at https://learn.microsoft.com/api/mcp; detected transport streamable-http; authentication none
Tool inventory
What the catalog validator observed on at https://learn.microsoft.com/api/mcp without credentials. The live server may have changed since; connect in the Playground for the current list.
Tools provided by Microsoft Learn 3
Some details were sanitized for public display.
microsoft_code_sample_searchoutputSchema declaredSearch for code snippets and examples in official Microsoft Learn documentation. This tool retrieves relevant code samples from Microsoft documentation pages providing developers with practical implementation examples and best practices for Microsoft/Azure products and services related coding tasks. This tool will help you use the **LATEST OFFICIAL** code snippets to empower coding capabilities. ## When to Use This Tool - When you are going to provide sample Microsoft/Azure related code snippets in your answers. - When you are **generating any Microsoft/Azure related code**. ## Usage Pattern I
Input
language?: string, query: stringlanguage?: stringoptionalOptional parameter specifying the programming language of code snippets to retrieve. Can significantly improve search quality if provided. Eligible values: csharp javascript typescript python powershell azurecli al sql java kusto cpp go rust ruby php
query: stringrequireda descriptive query, SDK name, method name or code snippet related to Microsoft/Azure products, services, platforms, developer tools, frameworks, APIs or SDKs
microsoft_docs_fetchNo outputSchemaFetch and convert a Microsoft Learn documentation webpage to markdown format. This tool retrieves the latest complete content of Microsoft documentation webpages including Azure, .NET, Microsoft 365, and other Microsoft technologies. ## When to Use This Tool - When search results provide incomplete information or truncated content - When you need complete step-by-step procedures or tutorials - When you need troubleshooting sections, prerequisites, or detailed explanations - When search results reference a specific page that seems highly relevant - For comprehensive guides that require full con
Input
url: stringurl: stringrequiredURL of the Microsoft documentation page to read
microsoft_docs_searchoutputSchema declaredSearch official Microsoft/Azure documentation to find the most relevant and trustworthy content for a user's query. This tool returns up to 10 high-quality content chunks (each max 500 tokens), extracted from Microsoft Learn and other official sources. Each result includes the article title, URL, and a self-contained content excerpt optimized for fast retrieval and reasoning. Always use this tool to quickly ground your answers in accurate, first-party Microsoft/Azure knowledge. ## Follow-up Pattern To ensure completeness, use microsoft_docs_fetch when high-value pages are identified by search.
Input
query?: stringquery?: stringoptionala query or topic about Microsoft/Azure products, services, platforms, developer tools, frameworks, or APIs