模型上下文协议Entra服务
一种连接到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 服务器之前,你需要:
- Node.js 14+ 和 Python 3.8+
- 具有适当权限的 Microsoft Entra ID 应用程序注册
- 用于保护 MCP 服务器的 API 密钥(在设置过程中生成,与 AI 助手一起使用时可选)
AI 助手集成
当与像 GitHub Copilot、Claude 或 Cursor 这样的 AI 助手一起使用时,API 密钥认证会自动绕过,以提供更无缝的体验。服务器检测到其运行于 AI 助手环境中时,将禁用 API 密钥要求。
创建 Microsoft Entra ID 应用程序注册
- 转到 Azure 门户
- 导航至 Azure Active Directory > 应用注册 > 新注册
- 为你的应用输入名称(例如,“Graph MCP Server”)
- 选择“仅此组织目录中的帐户”(单租户)
- 不需要重定向 URI - 单击“注册”
- 记下 应用程序(客户端)ID 和 目录(租户)ID
- 导航到“证书和机密”,并创建一个新的客户端机密
- 记下机密值(你将无法再次查看它)
- 转到“API 权限”并添加以下权限:
- User.Read.All
- Group.Read.All
- (根据您的用例需求添加其他权限)
- 单击“授予 [您的租户] 管理员同意”
可用工具
MCP 服务器公开了以下工具:
- listUsers - 从 Microsoft Entra ID 租户检索用户列表
- getUser - 通过 ID 或 UPN 从 Microsoft Entra ID 租户检索特定用户
- searchUsers - 按显示名、电子邮件等搜索用户
- listGroups - 从 Microsoft Entra ID 租户检索组列表
- getGroupMembers - 从 Microsoft Entra ID 租户检索特定组的成员
安全注意事项
- 在使用 AI 助手时,API 密钥认证会自动绕过
- 对于非 AI 使用情况,始终使用强且唯一的 API 密钥(设置脚本会为您生成一个)
- 安全地存储您的客户端凭据
- 考虑部署在反向代理后面以增加安全性
- 设置适当的 Microsoft Graph API 权限(最小权限)
扩展服务器
要添加更多的 Microsoft Graph API 功能:
- 在
mcp_microsoft_graph.py文件中的add_graph_tools函数里添加一个新的工具定义 - 实现工具处理函数
- 重启服务器
故障排除
无效的 API 密钥错误:
- 确保客户端配置中的 API 密钥与环境变量中的其中一个密钥匹配
- 或者在使用 AI 助手时,在环境变量中设置
AI_ASSISTANT=true
认证错误:
- 核实您的 Microsoft Graph 客户端凭据是否正确
- 确保应用程序具有所需的权限并已获得管理员同意
MCP 连接问题:
- 检查服务器是否正在运行并且可以从客户端访问
- 核实 URL 和传输配置
许可证
MIT