关于 Microsoft Learn
Microsoft Learn 是面向开发者和 AI 编码工具的文档 MCP 服务,可搜索官方 Microsoft 技术文档、获取页面内容并查找代码示例。它还提供命令行工具和 Agent 技能。
主要功能
- 01语义搜索 Microsoft 官方文档
- 02将文档页面转换为 Markdown
- 03搜索官方代码示例
- 04提供 Microsoft Learn 命令行工具
- 05附带文档与代码参考技能
适用场景
- 01核实 Azure 或 .NET API 用法
- 02查找 Microsoft 技术文档与教程
- 03检索特定语言的官方代码示例
MCP 相关
它通过远程 MCP 服务向兼容客户端提供文档搜索、页面获取和代码示例搜索工具。端点为 https://learn.microsoft.com/api/mcp。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://learn.microsoft.com/api/mcpclaude mcp add --transport http microsoft-learn https://learn.microsoft.com/api/mcp{"mcpServers":{"microsoft-learn":{"type":"http","url":"https://learn.microsoft.com/api/mcp"}}}在 Cursor 中打开{"servers":{"microsoft-learn":{"type":"http","url":"https://learn.microsoft.com/api/mcp"}}}在 VS Code 中打开{"mcpServers":{"microsoft-learn":{"type":"http","url":"https://learn.microsoft.com/api/mcp"}}}{"mcpServers":{"microsoft-learn":{"serverUrl":"https://learn.microsoft.com/api/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
3| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| query | string | 否 | 有关 Microsoft/Azure 产品、服务、平台、开发者工具、框架或 API 的查询或主题 |
详细介绍
🌟 Microsoft Learn MCP Server
杜绝 AI 幻觉。 让你的 AI 助手(Claude、Cursor、Copilot、Codex 等)直接访问最新的 Microsoft 官方文档。
✨ 免费。一键安装。无需密钥。
🎯 为什么要安装?
别再依赖过时的训练数据或有风险的网络搜索。Learn MCP 服务可安全、直接地访问 Microsoft 官方文档。
-
🧠 杜绝幻觉。 不要让 AI 编造不存在的 Azure SDK 方法或臆造库包。获取真正能够编译的代码。
-
🔌 即插即用(无需身份验证)。 无需 API 密钥、登录或注册。一键安装后即可立即开始编码。
-
🛡️ 100% 可信且安全。 保护你的供应链。与可能抓取不安全博客或恶意网站的通用网络搜索不同,此工具仅访问 Microsoft 官方一方文档。
-
💸 完全免费。 搜索能力强大,专为流畅、密集的编码工作流打造。
✨ 提示词示例
“给我创建具有托管标识的 Azure Container App 所需的 Azure CLI 命令。”
“Azure 欧盟区域是否提供 gpt-5.4?”
“你确定这是在 .NET 8 minimal API 中实现
IHttpClientFactory的正确方法吗?”
“给我展示可运行的 Python 代码,使用 Azure AI Foundry evaluation SDK 进行危害评估。”
🌐 Microsoft Learn MCP 服务端点
Microsoft Learn MCP Server 可供任何支持 Model Context Protocol(MCP)的 IDE、Agent 或工具使用。任何兼容的客户端都可以连接到以下远程 MCP 端点:
https://learn.microsoft.com/api/mcp
注意: 此 URL 仅供符合规范的 MCP 客户端通过 Streamable HTTP 使用,例如入门部分中列出的推荐客户端。它不支持通过 Web 浏览器直接访问,手动访问时可能会返回
405 Method Not Allowed错误。需要构建自定义解决方案的开发者,请遵循构建自定义客户端部分中的强制指南,确保实现具有韧性且受支持。
标准配置适用于大多数客户端:
{
"servers": {
"microsoft-learn": {
"type": "http",
"url": "https://learn.microsoft.com/api/mcp"
}
}
}
实验性功能请参阅下文的实验性功能部分。
🧪 实验性功能
Microsoft Learn MCP Server 提供仍在积极开发中的实验性功能。这些功能可能会根据用户反馈和使用模式进行更改或调整。
兼容 OpenAI 的端点
对于需要与 OpenAI Deep Research 模型兼容的应用程序,可以使用兼容 OpenAI 的端点:
https://learn.microsoft.com/api/mcp/openai-compatible
此端点支持 OpenAI Deep Research 模型,并遵循 OpenAI MCP 规范。
Token 预算控制
若要管理 Token 用量并控制成本,可以在 MCP 端点 URL 后附加 maxTokenBudget 查询参数。此参数会截断搜索工具响应中的内容,以限制 Token 数量,使其符合指定的预算。
https://learn.microsoft.com/api/mcp?maxTokenBudget=2000
注意: 这些实验性功能可能会发生变化。欢迎通过我们的 GitHub Discussions 提供反馈。
🛠️ 当前支持的工具
| 工具名称 | 描述 | 输入参数 |
|---|---|---|
microsoft_docs_search | 对 Microsoft 官方技术文档执行语义搜索 | query(字符串):用于检索的搜索查询 |
microsoft_docs_fetch | 获取 Microsoft 文档页面并将其转换为 markdown 格式 | url(字符串):要读取的文档页面 URL |
microsoft_code_sample_search | 搜索 Microsoft/Azure 官方代码片段和示例 | query(字符串):用于搜索 Microsoft/Azure 代码片段的查询language(字符串,可选):编程语言筛选条件。 |
💻 Microsoft Learn CLI
@microsoft/learn-cli 包让你可以在终端中使用相同的工具——搜索文档、获取页面和查找代码示例——无需 MCP 客户端。
# 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"
仅安装 npm 包不会安装 Agent 发现功能。CLI 可以为本仓库插件支持的相同生态系统安装 CLI 优先技能:GitHub Copilot、Claude Code 和 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 --codex
仅移除受管理的发现内容:
mslearn remove --cli
mslearn remove --cli --copilot
mslearn remove --cli --claude --codex --project
| Agent | 用户范围 | 项目范围 |
|---|---|---|
| GitHub Copilot | ~/.copilot/skills/ | .github/skills/ |
| Claude Code | ~/.claude/skills/ | .claude/skills/ |
| Codex | ~/.agents/skills/ | .agents/skills/ |
未指定目标时,安装程序会根据已知的用户或项目目录检测已安装的 Agent。移除操作只会检测由 Microsoft Learn CLI 管理的发现产物。显式指定的目标(--copilot、--claude 或 --codex)会覆盖检测结果,且可以组合使用。此工作流不会配置 MCP,也不会在 Cursor 等插件生态系统之外安装 Agent。当两种集成都已安装时,Agent 应优先使用 Microsoft Learn MCP 工具,并仅将独立 CLI 技能用作备用方案。
传入 --json 可获取结构化 JSON 输出,便于程序化处理:
mslearn search "azure openai" --json | jq '.results[].title'
完整命令参考请参阅 cli/README.md。
🤖 Agent 技能
Agent Skills 是可移植的指令包,可帮助 AI Agent 更有效地使用工具。我们提供三种技能,用于指导 Agent 何时以及如何使用 Microsoft Learn MCP 工具:
| 技能 | 用途 | 最适用场景 |
|---|---|---|
microsoft-docs | 理解概念、教程、架构和限制 | “X 是如何工作的?”,学习、配置指南 |
microsoft-code-reference | API 查询、代码示例、验证、错误修复 | 编写代码、查找正确的方法、排查问题 |
microsoft-skill-creator | 元技能,可为任何 Microsoft 技术生成自定义 Agent 技能 | 创建技能,教 Agent 使用新的 Azure 库、.NET 功能或其他 Microsoft 技术 |
快速设置
选择符合你希望 Agent 检索 Microsoft Learn 内容方式的集成:
| 模式 | 安装方式 | Agent 行为 |
|---|---|---|
| 独立 CLI 优先 | 安装/运行 @microsoft/learn-cli,然后运行 mslearn setup --cli [agent-target] | 检测到或选定的 Agent 会调用 npx @microsoft/learn-cli@latest;不会配置 MCP |
| 仓库插件,MCP 优先 | 为 GitHub Copilot、Claude Code 或 Codex 安装仓库插件 | 该插件提供 Learn MCP 端点和面向 MCP 的技能 |
仓库插件也支持 Claude Code。运行以下命令并重启 Claude Code:
/plugin install microsoft-docs@claude-plugins-official
对于面向 MCP 的 GitHub Copilot CLI 插件,请运行:
/plugin install microsoftdocs/mcp
否则:
- 先安装 MCP 服务 — 请参阅下方的安装
- 将技能文件夹复制到项目的
.github/skills/或.claude/skills/目录:microsoft-docs— 用于概念、教程和事实查询microsoft-code-reference— 用于 API 查询、代码示例和故障排除microsoft-skill-creator— 用于生成 Microsoft 技术自定义技能的元技能
支持的 Agent
Agent Skills 可在多种 AI Agent 中使用:
- VS Code(Insiders)— 启用
chat.useAgentSkills设置 - GitHub Copilot CLI 和 Copilot 编码 Agent
- Claude Code、Cursor、OpenAI Codex 等更多产品
我需要哪种技能?
| 如果你想要…… | 安装 |
|---|---|
| 覆盖所有 Microsoft 文档场景 | 全部三种技能 |
| 专注于编码(API、示例、错误) | 仅 microsoft-code-reference |
| 专注于事实和概念(限制、配置、教程) | 仅 microsoft-docs |
| 为特定 Microsoft 技术生成自定义技能 | 仅 microsoft-skill-creator |
🔌 安装与开始使用
Microsoft Learn MCP 服务支持在多种开发环境中快速安装。选择下方首选的客户端,以便快速完成设置:
| 客户端 | 一键安装 | MCP 指南 |
|---|---|---|
| VS Code | 或在扩展中搜索 "@mcp learn",即可显示 "Microsoft Learn" MCP | VS Code MCP 官方指南 |
| GitHub Copilot CLI | /plugin install microsoftdocs/mcp | |
| Claude Desktop | 按照官方指南中的“添加自定义连接器”说明操作。 | Claude Desktop 远程 MCP 指南 |
| Claude Code | /plugin install microsoft-docs@claude-plugins-official(包含 MCP 服务和技能) | Claude Code 远程 MCP 指南 |
| Visual Studio | 升级到最新的 VS 2022 或 2026,内置了 "Microsoft Learn" MCP | Visual Studio MCP 官方指南 |
| Cursor IDE | Cursor MCP 官方指南 | |
| Codex | codex mcp add "microsoft-learn" --url "https://learn.microsoft.com/api/mcp" | Codex MCP 文档 |
| Roo Code | 打开 Roo Code Marketplace,搜索 Microsoft Learn,然后点击 Install | Roo Code MCP 官方指南 |
| Cline | 需要手动配置 使用 "type": "streamableHttp" | Cline MCP 官方指南 |
| Gemini CLI | 需要手动配置查看配置注意:将mcpServer 对象添加到 .gemini/settings.json 文件中{ | 如何设置 MCP 服务 |
| Qwen Code | 需要手动配置查看配置注意:将mcpServer 对象添加到 .qwen/settings.json 文件中{ | 在 settings.json 中配置 MCP 服务 |
| GitHub | 需要手动配置查看配置注意:前往 Settings → Coding agent{ | |
| ChatGPT | 需要手动配置查看说明1. 在浏览器中打开 ChatGPT2. 前往 Settings → Connectors → Advanced settings → Turn Developer mode on 3. 返回连接器并点击 create 4. 为连接器设置一个 名称,输入 URL https://learn.microsoft.com/api/mcp,将 authentication 设为 No authentication,并 信任 此应用5. 点击 create | ChatGPT 官方指南 |
| Windsurf | 需要手动配置查看配置{ | Windsurf MCP 指南 |
| Kiro | 查看配置{ | Kiro MCP 指南 |
⚠️ 构建自定义客户端
如果你的用例需要直接以编程方式集成,务必了解 MCP 是一种动态协议,而非静态 API。可用工具及其架构会不断演变。
为了构建一个不会因服务更新而中断的可靠客户端,你应遵循以下原则:
- 动态发现工具: 客户端应在运行时从服务端获取当前的工具定义(例如,使用
tools/list)。不要对工具名称或参数进行硬编码。- 出错时刷新: 客户端应处理
tool/invoke调用期间的错误。如果工具调用失败,并且错误表明工具缺失或其架构已更改(例如,HTTP 404 或 400 错误),客户端应假定缓存已过期,并自动调用tools/list来触发刷新。- 处理实时更新: 客户端应监听服务端通知(例如,
listChanged),并据此刷新工具缓存。
❓ 故障排除
💻 系统提示词
即使是 Claude Sonnet 4 这样支持工具的模型,有时也不会默认调用 MCP 工具;请使用系统提示词来鼓励其调用。
以下是 Cursor 规则(系统提示词)的示例,可促使大模型更频繁地使用 microsoft-learn:
## 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.
⚠️ 常见问题
| 问题 | 可能的解决方案 |
|---|---|
| 连接错误 | 检查网络连接,并确认输入的服务端 URL 正确 |
| 未返回结果 | 尝试使用更具体的技术术语重新表述查询 |
| 工具未显示在 VS Code 中 | 重启 VS Code,或检查 MCP 扩展是否已正确安装 |
| HTTP 状态码 405 | 浏览器尝试连接端点时会出现“方法不允许”错误。请尝试通过 VS Code GitHub Copilot 或 MCP Inspector 使用 MCP 服务。 |
| 在 Visual Studio 中,MCP 服务“Microsoft Learn”被标记为不可用(原因:Eclipsed) | Visual Studio 2022(17.13+)将“Microsoft Learn”作为内置 MCP 服务随附,并处于更高优先级的作用域中。“Eclipsed”表示已存在更高优先级的定义,因此重复的低优先级条目会被抑制。系统会根据服务名称进行屏蔽匹配,因此请从 ~/.mcp.json 或工作区 .mcp.json 中删除任何与内置服务同名的手动添加条目(通常为 microsoft-learn 或 Microsoft Learn)。之后,内置服务将自动启用。Visual Studio 用户无需进行其他配置。 |
🆘 获取支持
📚 更多资源
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。