返回 MCP 目录
public公开dns本地运行

enterprisemcp

Microsoft MCP Server for Enterprise 是一个基于 Model Context Protocol 的公开预览版服务器,允许AI代理通过自然语言查询访问 Microsoft Entra 数据,并将其转换为 Microsoft Graph API 调用,旨在帮助开发者和IT管理员将组织数据管理集成到AI工作流中。

article

README

🚀 企业版 Microsoft MCP 服务器

企业版 Microsoft MCP 服务器基于开放的 Model Context Protocol 构建,其公开预览版允许 AI 代理通过将自然语言查询转换为 Microsoft Graph API 调用,来访问 Microsoft Entra 数据。该服务器使开发者和 IT 管理员能够将组织数据管理集成到 AI 驱动的工作流中。

🚀 快速开始

要开始使用企业版 Microsoft MCP 服务器,请按照以下步骤操作:

  1. 确保 Microsoft Graph PowerShell SDK 模块与 Microsoft.Entra.Beta 模块不冲突。如果已安装 Microsoft.Graph 模块,请考虑先卸载它们:

    Install-Module Uninstall-Graph
    Uninstall-Graph -All
    
  2. 安装 Microsoft.Entra.Beta PowerShell 模块(版本 1.0.13 或更高):

    Install-Module Microsoft.Entra.Beta -Force -AllowClobber
    
  3. 将 Microsoft Entra ID 连接到你要注册 MCP 服务器的租户:

    Connect-Entra -Scopes 'Application.ReadWrite.All', 'DelegatedPermissionGrant.ReadWrite.All'
    
  4. 在你的租户中注册企业版 MCP 服务器,并向 Visual Studio Code 授予所有权限:

    Grant-EntraBetaMCPServerPermission -ApplicationName VisualStudioCode
    
  5. 如果你在上述任何步骤中遇到问题,请参考详细的 安装说明

  6. 点击 安装企业版 Microsoft MCP 服务器 以启动 VS Code 的 MCP 安装页面。

  7. 在 VS Code 中点击“安装”按钮,然后使用上述租户的管理员账户登录。

  8. 打开 Copilot Chat 并询问有关你的租户的问题。

✨ 主要特性

工具特性

此 MCP 服务器与众不同,它并非为每个 Microsoft Graph 操作提供单独的工具,而是应用检索增强生成 (RAG) 和少样本提示来生成完整的 Microsoft Graph 查询。它仅公开三个工具来实现可靠且有依据的工作流:

  1. microsoft_graph_suggest_queries:根据用户意图查找相关的 Microsoft Graph API 调用。
  2. microsoft_graph_get:执行只读的 Microsoft Graph API 调用,同时遵循用户角色和 MCP 客户端范围。
  3. microsoft_graph_list_properties:检索特定 Microsoft Graph 实体的属性,以帮助 AI 模型。

功能范围

公开预览阶段,我们专注于支持以 Microsoft Entra 身份和目录操作(用户、组、应用程序、设备管理和管理操作)为中心的只读企业 IT 场景。

具体而言,MCP 服务器可以处理与以下方面相关的查询:

  1. 安全态势:身份验证方法/强度、条件访问、安全默认值。
  2. 特权访问:哪些人拥有哪些目录角色,如何分配(直接分配还是通过组分配)以及 PIM 状态。
  3. 应用程序风险:存在哪些应用程序/服务主体,谁是它们的所有者,它们使用哪些权限/单点登录,哪些是无所有者或外部的。
  4. 访问治理:哪些人可以访问哪些资源(用户、组、包);审核决策,自动化入职/调动/离职流程。
  5. 设备就绪状态:托管/合规状态、加入状态、操作系统/版本分布以及陈旧或非活动设备。
  6. 来源和调查:端到端遥测(登录、审核、预配、网络)、健康警报以及 SLA/可用性。
  7. 优化支出和清理:许可证数量/使用情况、未使用或陈旧的应用程序/组、域配置和联系人。

客户端支持

企业版 Microsoft MCP 服务器旨在与任何支持最新标准的 MCP 兼容客户端配合使用。

⚠️ 重要提示

  • 不支持动态客户端注册 (DCR),但我们正在努力在未来版本中支持 OAuth 客户端 ID 元数据文档 (CIMD)。
  • ChatGPT 仅支持使用自定义客户端 ID,目前仅在专业计划中可用。
  • Claude 存在一个阻止与 Entra 资源进行身份验证的错误,团队已知晓并正在修复。它也需要自定义客户端 ID,仅在团队计划中可用。

我们建议将其与 Visual Studio CodeCopilot Chat 扩展 配合使用。

授权和权限

企业版 MCP 服务器仅使用委托权限通过 Microsoft Graph API 访问你的 Microsoft Entra 租户中的数据,并提供 Microsoft Graph 公开的一组简化权限。

使用以下 cmdlet 列出企业版 MCP 服务器提供的权限:

(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 客户端应用程序的范围:

Grant-EntraBetaMCPServerPermission -ApplicationId "<MCP_Client_Application_Id>" -Scopes "<Scope1>", "<Scope2>", "<...>"
Revoke-EntraBetaMCPServerPermission -ApplicationId "<MCP_Client_Application_Id>" -Scopes "<Scope1>", "<Scope2>", "<...>"

了解更多:管理企业版 MCP 服务器权限

优势特点

  1. 远程 MCP 服务器:易于配置,完全合规且高度可靠,部署在与 Microsoft Graph 相同的区域以实现最佳性能。
  2. IT 管理员可控:MCP 客户端需要被授予特定的 MCP.* 范围(与 Microsoft Graph 范围相对应)才能访问你的租户数据。
  3. 简化架构:只需使用 3 个工具,而无需为每个 API 操作管理单独的工具。
  4. 高质量查询生成:通过 RAG(检索增强生成)使用 500 多个真实世界的示例生成准确的查询。
  5. 完全可审计性:由于所有 MCP 操作都在具有特定用户代理的同一应用程序 ID 下执行,因此可以轻松审计所有 MCP 操作。
  6. 无需额外许可证:仅需现有的 Microsoft Entra 和 Microsoft Graph API 许可证。

可用性、路线图和反馈

企业版 Microsoft MCP 服务器仅在公共云(全球服务)中可用,计划在未来版本中支持主权云。

我们将继续扩展当前的 Microsoft Entra 场景之外的功能,但 M365 API 将由 Agent 365 覆盖

计划在未来版本中支持写操作。

请通过我们的反馈表单分享建议或问题:提交反馈

许可和使用

  • 企业版 MCP 服务器无需额外费用或单独的许可证
  • 你需要为访问的数据获得正确的许可证(例如,访问特权身份管理 (PIM) 数据需要 Microsoft Entra ID 治理或 Microsoft Entra ID P2 许可证)。
  • 对该 MCP 服务器的任何请求限制为每个用户每分钟 100 个请求。对 microsoft_graph_get 的请求也受 Microsoft Graph 限流限制 的约束。

日志监控

要监控使用情况,请在你的租户中启用 Microsoft Graph 活动日志。系统会记录通过 MCP 服务器进行的所有 API 调用。

过滤 MCP 服务器使用情况:

使用企业版 Microsoft MCP 服务器的应用程序(客户端 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 服务器时,请确保符合你的组织、法规和合同要求。

无担保/责任限制

本软件“按原样”提供,不提供任何形式的明示或暗示保证或条件。Microsoft 不对因使用、误用或错误配置本软件而导致的任何损害承担责任。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端