🚀 微软学习MCP服务器
微软学习MCP服务器是一个远程MCP服务器,它能让GitHub Copilot等客户端和其他AI代理直接从微软官方文档中获取可靠且最新的信息。该服务器支持可流式传输的HTTP传输,便于客户端轻量级使用。
请注意,此项目处于公开预览阶段,在正式发布之前,其实现可能会有重大更改。
🚀 快速开始
项目概述
✨ 示例提示:权威信息源
你的AI助手应能自动使用这些工具处理与微软相关的主题。借助搜索和获取功能,你可以快速获得答案或进行全面深入的研究。为确保AI助手始终参考官方文档,你可以添加“search Microsoft docs”(搜索微软文档)、“deep dive”(深入研究)、“fetch full doc”(获取完整文档)等短语。
快速搜索与参考
“请给出使用Azure CLI命令创建具有托管标识的Azure容器应用的方法。search Microsoft docs”
“gpt - 4.1 - mini是否在欧盟地区可用?fetch full doc”
代码验证与最佳实践
“在.NET 8最小API中实现IHttpClientFactory的这种方式是否正确?search Microsoft docs and fetch full doc”
“请展示在ASP.NET Core中实现身份验证的完整指南。fetch full doc”
全面学习与深入研究
“我需要全面了解Azure Functions。search Microsoft docs and deep dive”
“请提供将.NET应用程序部署到Azure应用服务的完整分步教程。search Microsoft docs and deep dive”
📊 关键能力
- 高质量内容检索:以Markdown格式从微软官方文档中搜索和检索相关内容。
- 语义理解:使用高级向量搜索为任何查询找到最具上下文相关性的文档。
- 实时更新:在微软发布最新文档时即可访问。
🌐 微软学习MCP服务器端点
任何支持模型上下文协议(MCP)的IDE、代理或工具都可以访问微软学习MCP服务器。任何兼容的客户端都可以连接到以下远程MCP端点:
https://learn.microsoft.com/api/mcp
注意:此URL旨在通过可流式传输的HTTP在兼容的MCP客户端中使用,例如我们安装与入门部分列出的推荐客户端。它不支持从Web浏览器直接访问,如果手动访问可能会返回405 Method Not Allowed错误。对于需要构建自己解决方案的开发人员,请遵循构建自定义客户端部分中的强制指南,以确保你的实现具有弹性并得到支持。
示例JSON配置:
{
"microsoft.docs.mcp": {
"type": "http",
"url": "https://learn.microsoft.com/api/mcp"
}
}
🛠️ 当前支持的工具
| 工具名称 |
描述 |
输入参数 |
microsoft_docs_search |
对微软官方技术文档进行语义搜索 |
query(字符串):用于检索的搜索查询 |
microsoft_docs_fetch |
获取微软文档页面并将其转换为Markdown格式 |
url(字符串):要读取的文档页面的URL |
🔌 安装与入门
微软学习MCP服务器支持在多个开发环境中快速安装。请选择你喜欢的客户端进行简化设置:
| 客户端 |
一键安装 |
MCP指南 |
| VS Code |
 |
VS Code MCP官方指南 |
| Claude Desktop |
查看说明1. 打开Claude Desktop 2. 转到设置 → 集成 3. 点击添加集成 4. 输入URL:https://learn.microsoft.com/api/mcp 5. 点击连接 |
Claude Desktop远程MCP指南 |
| Claude Code |
查看说明1. 打开CLI 2. 输入claude mcp add --transport http microsoft_docs_mcp https://learn.microsoft.com/api/mcp并按回车键 3. (可选)在claude mcp add之后直接输入--scope user,使此MCP服务器在Claude Code的所有项目中可用 |
Claude Code远程MCP指南 |
| Visual Studio |
需要手动配置 使用"type": "http" |
Visual Studio MCP官方指南 |
| Cursor IDE |
 |
Cursor MCP官方指南 |
| Roo Code |
需要手动配置 使用"type": "streamable-http" |
Roo Code MCP官方指南 |
| Cline |
需要手动配置 使用"type": "streamableHttp" |
Cline MCP官方指南 |
| Gemini CLI |
需要手动配置 查看配置注意:在.gemini/settings.json文件中添加一个mcpServer对象
{ "Microsoft Learn MCP Server": { "httpUrl": "https://learn.microsoft.com/api/mcp" } } |
如何设置你的MCP服务器 |
| Qwen Code |
需要手动配置 查看配置注意:在.qwen/settings.json文件中添加一个mcpServer对象
{ "Microsoft Learn MCP Server": { "httpUrl": "https://learn.microsoft.com/api/mcp" } } |
在settings.json中配置MCP服务器 |
| GitHub |
需要手动配置 查看配置注意:导航到设置 → 编码代理
{ "mslearn": { "command": "npx", "args": [ "-y", "mcp-remote", "https://learn.microsoft.com/api/mcp" ], "tools":["*"] } } |
|
| ChatGPT |
需要手动配置 查看说明1. 在浏览器中打开ChatGPT 2. 转到设置 → 连接器 → 高级设置 → 开启开发者模式 3. 返回连接器并点击创建 4. 为连接器命名,输入URL https://learn.microsoft.com/api/mcp,将身份验证设置为No authentication并信任该应用程序 5. 点击创建 |
ChatGPT官方指南 |
替代安装方法(适用于旧版客户端或本地配置)
对于不支持原生远程MCP服务器的客户端,或者你更喜欢本地配置,可以使用mcp-remote作为代理:
| 客户端 |
手动配置 |
MCP指南 |
| Claude Desktop(旧版配置) |
查看配置注意:仅当设置 → 集成不起作用时使用此配置
{ "microsoft.docs.mcp": { "command": "npx", "args": [ "-y", "mcp-remote", "https://learn.microsoft.com/api/mcp" ] } }添加到claude_desktop_config.json |
Claude Desktop MCP指南 |
| Windsurf |
查看配置{ "microsoft.docs.mcp": { "command": "npx", "args": [ "-y", "mcp-remote", "https://learn.microsoft.com/api/mcp" ] } } |
Windsurf MCP指南 |
| Kiro |
查看配置{ "microsoft.docs.mcp": { "command": "npx", "args": [ "-y", "mcp-remote", "https://learn.microsoft.com/api/mcp" ] } } |
Kiro MCP指南 |
▶️ 入门步骤
- 对于VS Code:在VS Code中打开GitHub Copilot并切换到代理模式。
- 对于Claude Desktop:添加集成后,你会在聊天界面中看到MCP工具图标。
- 你应该会在可用工具列表中看到学习MCP服务器。
- 尝试使用一个提示,告诉代理使用MCP服务器,例如“根据微软学习官方文档,创建Azure容器应用的az cli命令有哪些?”
- 代理应该能够使用MCP服务器工具来完成你的查询。
⚠️ 构建自定义客户端
如果你的用例需要直接的编程集成,必须明白MCP是一个动态协议,而不是静态API。可用工具及其架构将会发展。
为了构建一个在服务更新时不会中断的可靠客户端,你应该遵循以下原则:
- 动态发现工具:你的客户端应在运行时从服务器获取当前工具定义(例如,使用
tools/list)。不要硬编码工具名称或参数。
- 失败时刷新:你的客户端应处理
tool/invoke调用期间的错误。如果工具调用失败并返回表示工具缺失或其架构已更改的错误(例如,HTTP 404或400错误),你的客户端应假设其缓存已过期,并通过调用tools/list自动触发刷新。
- 处理实时更新:你的客户端应监听服务器通知(例如,
listChanged)并相应地刷新其工具缓存。
❓ 故障排除
💻 系统提示
即使像Claude Sonnet 4这样对工具友好的模型,有时也默认不会调用MCP工具;可以使用系统提示来鼓励使用。
以下是一个Cursor规则(系统提示)示例,它会使大语言模型更频繁地使用microsoft.docs.mcp:
## 查询微软文档
你可以使用名为`microsoft_docs_search`和`microsoft_docs_fetch`的MCP工具 - 这些工具允许你搜索和获取微软最新的官方文档,这些信息可能比你的训练数据集更详细或更新。
在处理有关如何使用原生微软技术(如C#、F#、ASP.NET Core、Microsoft.Extensions、NuGet、Entity Framework、`dotnet`运行时)的问题时 - 当遇到特定/狭义定义的问题时,请使用此工具进行研究。
⚠️ 常见问题
| 问题 |
可能的解决方案 |
| 连接错误 |
验证你的网络连接,并确保正确输入了服务器URL |
| 未返回结果 |
尝试使用更具体的技术术语重新表述查询 |
| 工具未在VS Code中显示 |
重启VS Code或检查MCP扩展是否正确安装 |
| HTTP状态405 |
当浏览器尝试连接到端点时会出现方法不允许的错误。请尝试通过VS Code GitHub Copilot或MCP检查器使用MCP服务器 |
🆘 获取支持
🔮 未来改进
微软学习MCP服务器团队正在进行多项改进:
microsoft_code_search工具:帮助代理找到准确的微软官方示例代码片段。
- 改进遥测功能,以帮助改进服务器。
- 扩大对其他微软文档源的覆盖范围。
- 改进查询理解,以获得更精确的结果。
📚 额外资源