Back to MCP directory
publicPublicdnsLocal runtime

mcp

微软官方MCP服务器,为AI助手提供最新微软技术文档的搜索和获取功能

article

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 | Install in VS Code Install in VS Code Insiders | 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 | Install in Cursor | 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指南 |

▶️ 入门步骤

  1. 对于VS Code:在VS Code中打开GitHub Copilot并切换到代理模式
  2. 对于Claude Desktop:添加集成后,你会在聊天界面中看到MCP工具图标。
  3. 你应该会在可用工具列表中看到学习MCP服务器。
  4. 尝试使用一个提示,告诉代理使用MCP服务器,例如“根据微软学习官方文档,创建Azure容器应用的az cli命令有哪些?”
  5. 代理应该能够使用MCP服务器工具来完成你的查询。

⚠️ 构建自定义客户端

如果你的用例需要直接的编程集成,必须明白MCP是一个动态协议,而不是静态API。可用工具及其架构将会发展。

为了构建一个在服务更新时不会中断的可靠客户端,你应该遵循以下原则:

  1. 动态发现工具:你的客户端应在运行时从服务器获取当前工具定义(例如,使用tools/list)。不要硬编码工具名称或参数
  2. 失败时刷新:你的客户端应处理tool/invoke调用期间的错误。如果工具调用失败并返回表示工具缺失或其架构已更改的错误(例如,HTTP 404或400错误),你的客户端应假设其缓存已过期,并通过调用tools/list自动触发刷新。
  3. 处理实时更新:你的客户端应监听服务器通知(例如,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工具:帮助代理找到准确的微软官方示例代码片段。
  • 改进遥测功能,以帮助改进服务器。
  • 扩大对其他微软文档源的覆盖范围。
  • 改进查询理解,以获得更精确的结果。

📚 额外资源

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client