README
🚀 微软学习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 Desktop2. 转到设置 → 集成
3. 点击添加集成
4. 输入URL:
https://learn.microsoft.com/api/mcp5. 点击连接
查看说明
1. 打开CLI2. 输入
claude mcp add --transport http microsoft_docs_mcp https://learn.microsoft.com/api/mcp并按回车键3. (可选)在
claude mcp add之后直接输入--scope user,使此MCP服务器在Claude Code的所有项目中可用使用
"type": "http" | Visual Studio MCP官方指南 |
| Cursor IDE | 使用
"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"
}
}查看配置
注意:在.qwen/settings.json文件中添加一个mcpServer对象{
"Microsoft Learn MCP Server": {
"httpUrl": "https://learn.microsoft.com/api/mcp"
}
}查看配置
注意:导航到设置 → 编码代理{
"mslearn": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://learn.microsoft.com/api/mcp"
],
"tools":["*"]
}
}查看说明
1. 在浏览器中打开ChatGPT2. 转到设置 → 连接器 → 高级设置 → 开启开发者模式
3. 返回连接器并点击创建
4. 为连接器命名,输入URL
https://learn.microsoft.com/api/mcp,将身份验证设置为No authentication并信任该应用程序5. 点击创建
替代安装方法(适用于旧版客户端或本地配置)
对于不支持原生远程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查看配置
{
"microsoft.docs.mcp": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://learn.microsoft.com/api/mcp"
]
}
} 查看配置
{
"microsoft.docs.mcp": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://learn.microsoft.com/api/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工具:帮助代理找到准确的微软官方示例代码片段。- 改进遥测功能,以帮助改进服务器。
- 扩大对其他微软文档源的覆盖范围。
- 改进查询理解,以获得更精确的结果。
扫码加入微信群