关于 Microsoft MCP Server for Enterprise
Microsoft MCP Server for Enterprise 是微软官方提供的远程 MCP 服务,目前处于公开预览阶段。它将自然语言查询转换为 Microsoft Graph API 调用,用于查询 Microsoft Entra 中的数据,面向开发者和 IT 管理员。
主要功能
- 01将自然语言转换为 Microsoft Graph 查询
- 02提供三个工具覆盖查询流程
- 03仅支持只读的 Entra 数据访问
- 04通过 MCP.* 权限由管理员控制访问范围
- 05使用委托权限并记录审计日志
适用场景
- 01查询 Entra 中的用户、组和应用信息
- 02检查条件访问、特权角色与 PIM 状态
- 03排查设备合规性与过期设备
MCP 相关
该服务是远程 MCP 服务,MCP 客户端通过 OAuth 连接并获得 MCP.* 权限后,即可调用其提供的工具。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.svc.cloud.microsoft/enterpriseclaude mcp add --transport http microsoft-enterprisemcp https://mcp.svc.cloud.microsoft/enterprise{"mcpServers":{"microsoft-enterprisemcp":{"type":"http","url":"https://mcp.svc.cloud.microsoft/enterprise"}}}在 Cursor 中打开{"servers":{"microsoft-enterprisemcp":{"type":"http","url":"https://mcp.svc.cloud.microsoft/enterprise"}}}在 VS Code 中打开{"mcpServers":{"microsoft-enterprisemcp":{"type":"http","url":"https://mcp.svc.cloud.microsoft/enterprise"}}}{"mcpServers":{"microsoft-enterprisemcp":{"serverUrl":"https://mcp.svc.cloud.microsoft/enterprise"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Microsoft MCP Server for Enterprise
⚠️ 如果 Visual Studio Code 显示错误
Error getting token from server metadata: Error: Cannot force new registration for a non-dynamic authentication provider.,请在“设置”中将"microsoft-authentication.implementation"从"msal"改为"msal-no-broker"。
概述
基于开放的 Model Context Protocol,Microsoft MCP Server for Enterprise 公共预览版可将自然语言查询转换为 Microsoft Graph API 调用,让 AI Agent 访问 Microsoft Entra 数据。 开发人员和 IT 管理员可在 AI 驱动的工作流中使用它查询 Microsoft Entra 数据。
完整文档:Microsoft MCP Server for Enterprise 概述
MCP 服务预配(每个租户执行一次)
为租户设置 MCP 服务:
-
预配 MCP 服务。在 Graph Explorer 中发送:
POST https://graph.microsoft.com/v1.0/servicePrincipals
Body: { "appId": "e8c77dc2-69b3-43f4-bc51-3213c9d915b4" } -
注册新应用,作为 MCP 客户端。
根据客户端设置相应的重定向 URI(也称为回复 URL)。例如:
Claude Desktop 需要https://claude.ai/api/mcp/auth_callback,
ChatGPT 会为每个客户端生成不同的 URI,格式为:https://chatgpt.com/connector/oauth/<random_chars>,
Microsoft Foundry 会为每个连接器生成不同的重定向 URI,格式为:https://<random_chars>.<region>.azurecontainerapps.io/rest/oauth2-credential/callback在 Microsoft Entra 中,重定向 URI 的类型很重要。如果将 URI 添加到 Web 下,Entra 会将应用视为机密客户端。服务器上运行且能够保护凭据的应用(例如 Copilot Studio)应使用此类型。用户登录时,Entra 会要求该应用使用
client_secret或基于证书的client_assertion进行身份验证。
如果将 URI 添加到 移动和桌面应用程序或其他公共客户端平台下,Entra 会将应用视为公共客户端。无法保密的桌面、命令行或设备应用(例如 ChatGPT 或 Claude)应使用此类型。这些应用通常使用带 PKCE 的授权码流,而非客户端密钥。 -
在 MCP 服务与 MCP 客户端之间关联 MCP 权限(
MCP.<Microsoft_Graph_Scope>)

信息表
| 属性 | 值 | 备注 |
|---|---|---|
| MCP 端点 | https://mcp.svc.cloud.microsoft/enterprise | 在你的 Agent 或 mcp.json 中配置 |
| MCP 服务应用 ID | e8c77dc2-69b3-43f4-bc51-3213c9d915b4 | 用于预配和遥测 |
| MCP 客户端应用 ID | < 你在租户中注册的应用 > | 配置你的 Agent 时必需 |
| 令牌 URL | https://login.microsoftonline.com/organizations/oauth2/v2.0/token | 某些 Agent 配置中必需 |
| 令牌端点身份验证方法 | client_secret_post | 某些 Agent 配置中必需 |
| 身份验证 URL | https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize | 某些 Agent 配置中必需 |
| 刷新 URL | https://login.microsoftonline.com/organizations/oauth2/v2.0/token | 某些 Agent 配置中必需 |
| 范围 | api://e8c77dc2-69b3-43f4-bc51-3213c9d915b4/.default | 某些 Agent 配置中必需 |
工具
此 MCP 服务使用检索增强生成(RAG)和少样本提示词来生成完整的 Microsoft Graph 查询,而不是为每个 Graph 操作单独提供一个工具。
它提供三个工具:
microsoft_graph_suggest_queries:根据用户意图查找相关的 Microsoft Graph API 调用。microsoft_graph_get:执行只读的 Microsoft Graph API 调用,并遵循用户角色和 MCP 客户端范围。microsoft_graph_list_properties:检索特定 Microsoft Graph 实体的属性,以帮助 AI 模型
当前范围和功能
在公开预览期间,我们支持 Microsoft Entra 身份和目录操作中的只读企业 IT 场景(用户、组、应用程序、设备管理和管理操作)。
MCP 服务可处理以下查询:
- 安全态势:身份验证方法/强度、条件访问、安全默认值。
- 特权访问:谁拥有哪些目录角色、如何分配(直接分配或通过组分配),以及 PIM 状态。
- 应用风险:存在哪些应用/服务主体、谁拥有它们、使用哪些权限/SSO,以及哪些应用没有所有者或来自外部。
- 访问治理:谁可以访问哪些内容(用户、组、包);访问评审决策;自动化入职、转岗和离职流程。
- 设备就绪情况:托管/合规状态、加入状态、操作系统/版本分布,以及过时或不活动的设备。
- 来源追踪与调查:端到端遥测(登录、审计、预配、网络)、运行状况警报和 SLA/可用性。
- 优化支出与卫生状况:许可证数量/使用情况、未使用或过时的应用/组、域配置和联系人。
支持的客户端和配置
Microsoft 企业版 MCP 服务适用于任何支持最新标准的 MCP 兼容客户端。
⚠️ 注意:
- 不支持动态客户端注册(DCR),但我们正在努力在未来版本中支持 OAuth 客户端 ID 元数据文档(CIMD)。
- ChatGPT、Claude 和其他第三方 Agent 需要自定义客户端 ID:在你的租户中注册自己的 MCP 客户端应用,分配所需的 MCP.* 范围,并相应配置重定向 URI。
Microsoft Agent 平台
第三方 MCP 客户端
这些客户端需要在租户中注册自定义 MCP 客户端应用。请参阅授权和权限,为应用授予所需的 MCP.* 范围。
ChatGPT
前往 Settings、Apps、Create App,并填写对话框:

将已注册应用的应用 ID 填入红框中。
Claude
前往 Customize、Connectors,点击“+”,选择 Add Custom Connector,并填写对话框:

将已注册应用的应用 ID 填入红框中。
Visual Studio Code 和 GitHub Copilot CLI
Visual Studio Code 和 GitHub Copilot CLI 共用同一个 Visual Studio Code MCP 客户端应用 ID,因此使用相同的设置。
GitHub Copilot CLI 也可以使用自定义客户端 ID(参见选项 2)。
先决条件
这些步骤会在你的租户中预配 Visual Studio Code MCP 客户端应用,并授予其 MCP 权限。
Visual Studio Code 和使用默认应用程序 Id 的 GitHub Copilot CLI(以下选项 1)都需要执行这些步骤。如果你改用自定义 oauthClientId 配置 GitHub Copilot CLI(以下选项 2),则可跳过这些步骤。
-
安装 Microsoft.Entra.Beta PowerShell 模块(版本 1.0.13 或更高版本,需要 PowerShell 7):
Install-Module Microsoft.Entra.Beta -Force -AllowClobber -
将 Microsoft Entra ID 连接到你的租户:
Connect-Entra -Scopes 'Application.ReadWrite.All', 'DelegatedPermissionGrant.ReadWrite.All' -
向 Visual Studio Code MCP Client 应用授予所有 MCP 权限(使用默认应用程序 Id 配置时,GitHub Copilot CLI 也会使用此应用):
Grant-EntraBetaMCPServerPermission -ApplicationName VisualStudioCode
详细了解 Grant-EntraBetaMCPServerPermission。如需详细的安装帮助,请参阅安装说明。
如果 Microsoft Graph PowerShell SDK 模块与 Microsoft.Entra.Beta 冲突,请运行以下命令,然后从步骤 1 重试:
Install-Module Uninstall-Graph
Uninstall-Graph -All
Visual Studio Code
- 点击安装 Microsoft MCP Server for Enterprise,打开 MCP 安装页面。
- 点击 VS Code 中的 Install 按钮,并使用上述租户中的帐户登录。
- 如果 Visual Studio Code 显示错误
Error getting token from server metadata: Error: Cannot force new registration for a non-dynamic authentication provider.,请在设置中将"microsoft-authentication.implementation"从"msal"更改为"msal-no-broker":
GitHub Copilot CLI
GitHub Copilot CLI 可通过默认的 Visual Studio Code MCP Client 应用 Id 连接,也可通过你在租户中注册的自定义 MCP Client 应用 Id 连接。
选项 1. 默认(使用 Visual Studio Code 应用 Id)
-
完成上述先决条件。
-
将 MCP 服务添加到 Copilot CLI。你可以通过
/mcp add交互式完成:/mcp add
选项 2. 自定义 MCP Client 应用 Id
-
在租户中注册自己的 MCP Client 应用,并授予所需的
MCP.*范围(请参阅授权和权限)。 -
将
http://127.0.0.1:51001设置为“移动和桌面应用程序”的重定向 URI。 -
在
~/.copilot/mcp-config.json中通过oauthClientId指定应用 Id,并将oauthPublicClient设为true:"mcp-enterprise": { "type": "http", "url": "https://mcp.svc.cloud.microsoft/enterprise", "headers": {}, "tools": [ "*" ], "oauthClientId": "<REGISTERED_APP_CLIENT_ID>", "oauthPublicClient": true }
无论使用哪种方式,系统提示登录时,请使用预配租户中的帐户登录。
如需了解更多信息,请参阅 GitHub Copilot CLI 文档。
授权和权限
MCP Server for Enterprise 仅使用委托权限通过 Microsoft Graph API 访问 Microsoft Entra 租户中的数据,并提供 Microsoft Graph 所公开权限的精简子集。
使用以下 cmdlet 列出 MCP Server for Enterprise 提供的权限:
(Get-EntraBetaServicePrincipal -Property "PublishedPermissionScopes" -Filter "AppId eq 'e8c77dc2-69b3-43f4-bc51-3213c9d915b4'").PublishedPermissionScopes | Where-Object { $_.IsEnabled -eq $true -and $_.AdditionalProperties["isPrivate"] -ne $true } | Select-Object Value, AdminConsentDisplayName | Sort-Object
如果你想使用自己的已注册应用程序,请使用以下 cmdlet 管理授予 MCP Client 应用程序的范围:
Grant-EntraBetaMCPServerPermission -ApplicationId "<MCP_Client_Application_Id>" -Scopes "<Scope1>", "<Scope2>", "<...>"
Revoke-EntraBetaMCPServerPermission -ApplicationId "<MCP_Client_Application_Id>" -Scopes "<Scope1>", "<Scope2>", "<...>"
了解更多:管理 MCP Server for Enterprise 权限
优势
- 远程 MCP 服务:易于配置且符合标准,部署在与 Microsoft Graph 相同的区域。
- 由 IT 管理员掌控:MCP 客户端需要特定的 MCP.* 范围(与 Microsoft Graph 范围相对应)才能访问租户数据。
- 简化架构:使用 3 个工具即可覆盖整个工作流,而不是每个 API 操作都使用一个工具。
- 高质量查询生成:通过 RAG(检索增强生成),利用 500 多个真实示例生成准确的查询。
- 全面可审计:所有 MCP 操作均使用同一个 App ID 和特定的用户代理运行。
- 无需额外许可证:适用现有的 Microsoft Entra 和 Microsoft Graph API 许可证。
可用性、路线图和反馈
Microsoft MCP Server for Enterprise 仅在公共云(全球服务)中提供,计划在未来版本中支持主权云。
我们将继续扩展当前 Microsoft Entra 场景以外的支持范围,但 M365 API 将由 Agent 365 提供支持。
计划在未来版本中支持写入操作。
请通过反馈表单分享建议或问题:提交反馈。
许可和使用
- MCP Server for Enterprise 无需额外费用或单独的许可证。
- 你需要拥有所访问数据所需的许可证(例如,访问 Privileged Identity Management (PIM) 数据需要 Microsoft Entra ID Governance 或 Microsoft Entra ID P2 许可证)。
- 对此 MCP 服务的所有请求均限制为每位用户每分钟 100 个请求。对
microsoft_graph_get的请求还受 Microsoft Graph 节流限制约束。
日志
若要监视使用情况,请在租户中启用 Microsoft Graph 活动日志。系统会记录通过 MCP 服务发出的所有 API 调用。
筛选 MCP Server 使用情况:
使用 Microsoft MCP Server for Enterprise 的 Application (Client ID):e8c77dc2-69b3-43f4-bc51-3213c9d915b4。
以下 Kusto 查询可检索这些日志:
MicrosoftGraphActivityLogs
| where TimeGenerated >= ago(30d)
| where AppId == "e8c77dc2-69b3-43f4-bc51-3213c9d915b4"
| project RequestId, TimeGenerated, UserId, RequestMethod, RequestUri, ResponseStatusCode
支持和参考
有关文档、故障排除和反馈,请参阅官方 Microsoft Learn 文档和支持渠道。
安全和合规性
所有操作均遵循 Microsoft Graph 权限和安全策略。 集成 MCP Server 时,请确保符合组织、监管和合同要求。
无担保/责任限制
本软件按“原样”提供,不附带任何明示或暗示的担保或条件。对于因使用、误用或错误配置本软件而导致的任何损害,Microsoft 概不负责。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。