模型上下文协议Entra服务

@uniQuk/mcpEntra
0 Stars 17 次浏览 uniQuk 更新于 2026-08-23

一种连接到Microsoft Graph API的模型上下文协议服务器,允许AI助手查询和访问Microsoft Entra ID(原Azure Active Directory)中的数据。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "Microsoft-Entra": {
      "args": [
        "-y",
        "github:YOUR_USERNAME/mcp-entra"
      ],
      "command": "npx",
      "env": {
        "AI_ASSISTANT": "true",
        "CLIENT_ID": "your-client-id",
        "CLIENT_SECRET": "your-client-secret",
        "TENANT_ID": "your-tenant-id"
      }
    }
  }
}

服务介绍

Microsoft Graph MCP 服务器

这是一个模型上下文协议(MCP)服务器,它连接到 Microsoft Graph API。它允许像 Claude、GitHub Copilot 或 Cursor Agent 这样的 AI 助手通过标准化接口访问和查询来自 Microsoft Entra ID(以前称为 Azure Active Directory)的数据。

特性

  • 使用客户端凭据流安全地对 Microsoft Graph 进行身份验证
  • 查询用户、组和其他 Microsoft 365 数据
  • 为 MCP 服务器访问提供 API 密钥保护(与 AI 助手一起使用时自动绕过)
  • 简单集成到 Claude Desktop、VS Code 或其他 MCP 客户端

快速开始(GitHub 安装)

你可以直接从 GitHub 安装:

# Global installation
npm install -g github:YOUR_USERNAME/mcp-entra

# Run the server
mcp-entra

首次运行时,你将被引导完成设置过程以配置你的 Microsoft Entra ID 凭证。

AI 助手集成

对于像 Claude Desktop、带有 Copilot 的 VS Code 或 Cursor 这样的 AI 助手,你可以在配置中直接引用 GitHub 仓库:

Claude Desktop 配置

{
  "mcpServers": {
    "Microsoft-Entra": {
      "command": "npx",
      "args": [
        "-y",
        "github:YOUR_USERNAME/mcp-entra"
      ],
      "env": {
        "TENANT_ID": "your-tenant-id",
        "CLIENT_ID": "your-client-id",
        "CLIENT_SECRET": "your-client-secret",
        "AI_ASSISTANT": "true"
      }
    }
  }
}

VS Code/GitHub Copilot 配置

{
  "servers": {
    "Microsoft-Entra": {
      "type": "npm",
      "packageInfo": {
        "name": "github:uniQuk/mcp-entra"
      },
      "env": {
        "TENANT_ID": "your-tenant-id",
        "CLIENT_ID": "your-client-id",
        "CLIENT_SECRET": "your-client-secret",
        "AI_ASSISTANT": "true"
      }
    }
  }
}

Cursor 配置

{
  "mcpServers": {
    "Microsoft-Entra": {
      "command": "npx",
      "args": [
        "-y",
        "github:uniQuk/mcp-entra"
      ],
      "env": {
        "TENANT_ID": "your-tenant-id",
        "CLIENT_ID": "your-client-id",
        "CLIENT_SECRET": "your-client-secret",
        "AI_ASSISTANT": "true"
      }
    }
  }
}

前提条件

在使用此 MCP 服务器之前,你需要:

  1. Node.js 14+Python 3.8+
  2. 具有适当权限的 Microsoft Entra ID 应用程序注册
  3. 用于保护 MCP 服务器的 API 密钥(在设置过程中生成,与 AI 助手一起使用时可选)

AI 助手集成

当与像 GitHub Copilot、Claude 或 Cursor 这样的 AI 助手一起使用时,API 密钥认证会自动绕过,以提供更无缝的体验。服务器检测到其运行于 AI 助手环境中时,将禁用 API 密钥要求。

创建 Microsoft Entra ID 应用程序注册

  1. 转到 Azure 门户
  2. 导航至 Azure Active Directory > 应用注册 > 新注册
  3. 为你的应用输入名称(例如,“Graph MCP Server”)
  4. 选择“仅此组织目录中的帐户”(单租户)
  5. 不需要重定向 URI - 单击“注册”
  6. 记下 应用程序(客户端)ID目录(租户)ID
  7. 导航到“证书和机密”,并创建一个新的客户端机密
  8. 记下机密值(你将无法再次查看它)
  9. 转到“API 权限”并添加以下权限:
    • User.Read.All
    • Group.Read.All
    • (根据您的用例需求添加其他权限)
  10. 单击“授予 [您的租户] 管理员同意”

可用工具

MCP 服务器公开了以下工具:

  1. listUsers - 从 Microsoft Entra ID 租户检索用户列表
  2. getUser - 通过 ID 或 UPN 从 Microsoft Entra ID 租户检索特定用户
  3. searchUsers - 按显示名、电子邮件等搜索用户
  4. listGroups - 从 Microsoft Entra ID 租户检索组列表
  5. getGroupMembers - 从 Microsoft Entra ID 租户检索特定组的成员

安全注意事项

  • 在使用 AI 助手时,API 密钥认证会自动绕过
  • 对于非 AI 使用情况,始终使用强且唯一的 API 密钥(设置脚本会为您生成一个)
  • 安全地存储您的客户端凭据
  • 考虑部署在反向代理后面以增加安全性
  • 设置适当的 Microsoft Graph API 权限(最小权限)

扩展服务器

要添加更多的 Microsoft Graph API 功能:

  1. mcp_microsoft_graph.py 文件中的 add_graph_tools 函数里添加一个新的工具定义
  2. 实现工具处理函数
  3. 重启服务器

故障排除

无效的 API 密钥错误

  • 确保客户端配置中的 API 密钥与环境变量中的其中一个密钥匹配
  • 或者在使用 AI 助手时,在环境变量中设置 AI_ASSISTANT=true

认证错误

  • 核实您的 Microsoft Graph 客户端凭据是否正确
  • 确保应用程序具有所需的权限并已获得管理员同意

MCP 连接问题

  • 检查服务器是否正在运行并且可以从客户端访问
  • 核实 URL 和传输配置

许可证

MIT