mcp
Official Microsoft Learn MCP Server and CLI tool – powering LLMs and AI agents with real-time, trusted Microsoft docs & code samples.
Documentation
🌟 Microsoft Learn MCP Server
> Stop AI Hallucinations. Give your AI assistant (Claude, Cursor, Copilot, Codex, ...) direct access to the latest official Microsoft documentation.
>
> ✨ Free. One-click install. No key needed.
🎯 Why install this?
Stop relying on outdated training data or risky web searches. Learn MCP server provides secure, direct access to Microsoft official docs.
- 🧠 Eliminate Hallucinations.
Stop your AI from inventing non-existent Azure SDK methods or hallucinating library packages. Get code that actually compiles.
- 🔌 Plug & Play (No Auth).
No API keys, no logins, no sign-ups required. Just one-click install and start coding immediately.
- 🛡️ 100% Trusted & Safe.
Protect your supply chain. Unlike generic web searches that may scrape insecure blogs or malicious sites, this tool only accesses official 1st-party Microsoft documentation.
- 💸 Completely Free. High search capacity tailored for seamless, heavy coding sessions.
✨ Example Prompts
> "Give me the Azure CLI commands to create an Azure Container App with a managed identity."
> "Is gpt-5.4 available in Azure EU regions?"
> "Are you sure this is the right way to implement `IHttpClientFactory` in a .NET 8 minimal API?"
> "Show me runnable Python code to do harms eval using the Azure AI Foundry evaluation SDK."
🌐 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:
https://learn.microsoft.com/api/mcp> Note: This URL is intended for use within a compliant MCP client via Streamable HTTP, such as the recommended clients listed in our Getting Started section. It does not support direct access from a web browser and may return a `405 Method Not Allowed` error if accessed manually. For developers who need to build their own solution, please follow the mandatory guidelines in the Building a Custom Client section to ensure your implementation is resilient and supported.
Standard config works in most clients:
{
"servers": {
"microsoft-learn": {
"type": "http",
"url": "https://learn.microsoft.com/api/mcp"
}
}
}For experimental features, see the Experimental Features section below.
🧪 Experimental Features
The Microsoft Learn MCP Server offers experimental features that are under active development. These features may change or be refined based on user feedback and usage patterns.
OpenAI-Compatible Endpoint
For applications that require OpenAI Deep Research model compatibility, you can use the OpenAI-compatible endpoint:
https://learn.microsoft.com/api/mcp/openai-compatibleThis endpoint supports OpenAI Deep Research models and follows the OpenAI MCP specification.
Token Budget Control
To manage token usage and control costs, you can append the `maxTokenBudget` query parameter to the MCP endpoint URL. This parameter limits the token count in search tool responses by truncating the content to meet your specified budget.
https://learn.microsoft.com/api/mcp?maxTokenBudget=2000> Note: These experimental features are subject to change. We welcome feedback through our GitHub Discussions.
🛠️ 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 |
| `microsoft_docs_fetch` | Fetch and convert a Microsoft documentation page into markdown format | `url` (string): URL of the documentation page to read |
| `microsoft_code_sample_search` | Search for official Microsoft/Azure code snippets and examples | `query` (string): Search query for Microsoft/Azure code snippets`language` (string, optional): Programming language filter. |
💻 Microsoft Learn CLI
The `@microsoft/learn-cli` package gives you terminal access to the same tools — search docs, fetch pages, and find code samples — without an MCP client.
# Run instantly (no install)
npx @microsoft/learn-cli search "azure functions timeout"
# Or install globally
npm install -g @microsoft/learn-cli
# then use `mslearn`
mslearn search "azure functions timeout"Installing the npm package alone does not install agent discovery. The CLI can install a CLI-first
skill for the same ecosystems supported by this repository's plugins: GitHub Copilot, Claude Code,
and Codex.
# User profile (default)
mslearn setup --cli
# Current repository
mslearn setup --cli --project
# Override auto-detection with explicit targets
mslearn setup --cli --copilot
mslearn setup --cli --claude
mslearn setup --cli --codex
mslearn setup --cli --copilot --project
mslearn setup --cli --claude --project
mslearn setup --cli --codex --project
# Multiple agents
mslearn setup --cli --copilot --claude --codexRemove only managed discovery content with:
mslearn remove --cli
mslearn remove --cli --copilot
mslearn remove --cli --claude --codex --project| Agent | User scope | Project scope |
|---|---|---|
| GitHub Copilot | `~/.copilot/skills/` | `.github/skills/` |
| Claude Code | `~/.claude/skills/` | `.claude/skills/` |
| Codex | `~/.agents/skills/` | `.agents/skills/` |
When no target is specified, setup detects installed agents from their well-known user or project
directories. Removal detects only agents with Microsoft Learn CLI-managed discovery artifacts.
Explicit targets (`--copilot`, `--claude`, or `--codex`) override detection and can be combined. This
workflow does not configure MCP or install agents outside the plugin ecosystems such as Cursor.
When both integrations are installed, agents should prefer the Microsoft Learn MCP tools and use
the standalone CLI skill only as a fallback.
Pass `--json` to get structured JSON output, useful for programmatic processing:
mslearn search "azure openai" --json | jq '.results[].title'See `cli/README.md` for the full command reference.
🤖 Agent Skills
Agent Skills are portable instruction packages that help AI agents use tools more effectively. We provide three skills that guide agents on when and how to use the Microsoft Learn MCP tools:
| Skill | Purpose | Best For |
|---|---|---|
| `microsoft-docs` | Understanding concepts, tutorials, architecture, limits | "How does X work?", learning, configuration guides |
| `microsoft-code-reference` | API lookups, code samples, verification, error fixing | Implementing code, finding correct methods, troubleshooting |
| `microsoft-skill-creator` | Meta-skill that generates custom agent skills for any Microsoft technology | Creating a skill to teach agents about a new Azure library, .NET feature, or other Microsoft tech |
Quick Setup
Choose the integration that matches how you want the agent to retrieve Microsoft Learn content:
| Mode | Installation | Agent behavior |
|---|---|---|
| Standalone CLI-first | Install/run `@microsoft/learn-cli`, then run `mslearn setup --cli [agent-target]` | Detected or selected agents invoke `npx @microsoft/learn-cli@latest`; MCP is not configured |
| Repository plugin, MCP-first | Install the repository plugin for GitHub Copilot, Claude Code, or Codex | The plugin supplies the Learn MCP endpoint and MCP-oriented skills |
The repository plugin also supports Claude Code. Run the following command and restart Claude Code:
/plugin install microsoft-docs@claude-plugins-officialFor the MCP-first GitHub Copilot CLI plugin, run:
/plugin install microsoftdocs/mcpOtherwise:
1. Install the MCP Server first — See Installation below
2. Copy the skill folders to your project's `.github/skills/` or `.claude/skills/` directory:
Supported Agents
Agent Skills work across multiple AI agents:
- VS Code (Insiders) — enable `chat.useAgentSkills` setting
- GitHub Copilot CLI & Copilot coding agent
- Claude Code, Cursor, OpenAI Codex, and more
Which Skill Do I Need?
| If you want to... | Install |
|---|---|
| Cover all Microsoft docs scenarios | All three skills |
| Focus on coding (APIs, samples, errors) | `microsoft-code-reference` only |
| Focus on facts & concepts (limits, config, tutorials) | `microsoft-docs` only |
| Generate a custom skill for a specific Microsoft technology | `microsoft-skill-creator` only |
🔌 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 |  or search "@mcp learn" in Extensions to show "Microsoft Learn" MCP | VS Code MCP Official Guide |
| GitHub Copilot CLI | `/plugin install microsoftdocs/mcp` | |
| Claude Desktop | Follow "Add custom connector" instructions in official guide. | Claude Desktop Remote MCP Guide |
| Claude Code | `/plugin install microsoft-docs@claude-plugins-official` (includes MCP server + skills) | Claude Code Remote MCP Guide |
| Visual Studio | Upgrade to latest VS 2022 or 2026, "Microsoft Learn" MCP is already built-in | Visual Studio MCP Official Guide |
| Cursor IDE |  | Cursor MCP Official Guide |
| Codex | `codex mcp add "microsoft-learn" --url "https://learn.microsoft.com/api/mcp"` | Codex MCP documentation |
| Roo Code | Open Roo Code Marketplace, search for `Microsoft Learn`, and click `Install` | Roo Code MCP Official Guide |
| Cline | Manual configuration requiredUse `"type": "streamableHttp"` | Cline MCP Official Guide |
| Gemini CLI | Manual configuration required View ConfigNote: Add an `mcpServer` object to `.gemini/settings.json` file{ "Microsoft Learn MCP Server": { "httpUrl": "https://learn.microsoft.com/api/mcp" }} | How to set up your MCP server |
| Qwen Code | Manual configuration required View ConfigNote: Add an `mcpServer` object to `.qwen/settings.json` file{ "Microsoft Learn MCP Server": { "httpUrl": "https://learn.microsoft.com/api/mcp" }} | Configure the MCP server in settings.json |
| GitHub | Manual configuration required View ConfigNote: Navigate to Settings → Coding agent{ "mslearn": { "type": "http", "url": "https://learn.microsoft.com/api/mcp", "tools": [ "*" ] }} | |
| ChatGPT | Manual configuration required View Instructions1. Open ChatGPT in the browser2. Go to Settings → Connectors → Advanced settings → Turn Developer mode on3. Go back to connectors and click create4. Give the connector a name, enter URL `https://learn.microsoft.com/api/mcp`, set authentication to `No authentication` and trust the application5. Click create | ChatGPT Official Guide |
| Windsurf | Manual configuration required View Config{ "mcpServers": { "microsoft-learn": { "serverUrl": "https://learn.microsoft.com/api/mcp" } }} | Windsurf MCP Guide |
| Kiro | View Config{ "microsoft-learn": { "url": "https://learn.microsoft.com/api/mcp" }} | Kiro MCP Guide |
> ### ⚠️ Building a Custom Client
>
> If your use case requires a direct, programmatic integration, it is essential to understand that MCP is a dynamic protocol, not a static API. The available tools and their schemas will evolve.
>
> To build a resilient client that will not break as the service is updated, you should adhere to the following principles:
>
> 1. Discover Tools Dynamically: Your client should fetch current tool definitions from the server at runtime (e.g., using `tools/list`). Do not hard-code tool names or parameters.
> 2. Refresh on Failure: Your client should handle errors during `tool/invoke` calls. If a tool call fails with an error indicating it is missing or its schema has changed (e.g., an HTTP 404 or 400 error), your client should assume its cache is stale and automatically trigger a refresh by calling `tools/list`.
> 3. Handle Live Updates: Your client should listen for server notifications (e.g., `listChanged`) and refresh its tool cache accordingly.
❓ 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-learn` more frequently:
## Querying Microsoft Documentation
You have access to MCP tools called `microsoft_docs_search`, `microsoft_docs_fetch`, and `microsoft_code_sample_search` - these tools allow you to search through and fetch Microsoft's latest official documentation and code samples, and that information might be more detailed or newer than what's in your training data set.
When handling questions around how to work with native Microsoft technologies, such as C#, F#, ASP.NET Core, Microsoft.Extensions, NuGet, Entity Framework, the `dotnet` runtime - please use these tools for research purposes when dealing with specific / narrowly defined questions that may occur.⚠️ 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. |
| MCP server 'Microsoft Learn' marked as unavailable in Visual Studio (Reason: Eclipsed) | Visual Studio 2022 (17.13+) ships "Microsoft Learn" as a built-in MCP server at a higher-priority scope. "Eclipsed" means a higher-priority definition already exists and the duplicate lower-priority entry is suppressed. Eclipsing is matched on the server name, so remove any manually added entry with the same name as the built-in server (commonly `microsoft-learn` or `Microsoft Learn`) from your `~/.mcp.json` or workspace `.mcp.json`. The built-in server will then become active automatically. No additional configuration is required for Visual Studio users. |
🆘 Getting Support
📚 Additional Resources
Frequently asked questions
What is mcp?
mcp is Official Microsoft Learn MCP Server and CLI tool – powering LLMs and AI agents with real-time, trusted Microsoft docs & code samples.
How do I install mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is mcp open source?
Yes — it is hosted on GitHub at https://github.com/MicrosoftDocs/mcp and has 1,872 stars.
Related MCP tools
Universal AI context generator. Saves thousands of tokens per conversation in Claude Code, Cursor, Copilot, Codex, and more.
superglue (YC W25) builds integrations and tools from natural language. Get production-grade tools for long tail and enterprise systems.
The go-to web for your AI coding agent — local-first search, fetch, crawl & research over MCP. No API keys, no cloud, $0/query. Public beta.
MCP server and Claude plugin for Postgres skills and documentation. Helps AI coding tools generate better PostgreSQL code.
Official remote MCP server for Atlassian. Securely connect Jira, Confluence, Jira Service Management, Bitbucket, and Compass to Claude, ChatGPT, Cursor, VS Code, and other AI tools using OAuth 2.1 or API tokens.
Code research platform for AI agents; find, understand, and prove context across your code and all of GitHub, in a fraction of the tokens. One toolset, MCP or CLI
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP