Microsoft Graph MCP服务器
一种MCP(模型上下文协议)服务器,为人工智能助手提供对Microsoft Graph API的安全访问。通过您的AI助手访问用户数据、管理Azure AD资源和执行管理任务。
身份验证模式
🔍 只读模式(设备代码流)
- 无需客户端机密
- 打开浏览器进行用户身份验证
- 仅限于用户委派的权限
- 非常适合探索数据和只读操作
✏️ 应用程序注册模式(客户端密钥流)
- 需要使用客户端密码注册Azure AD应用程序
- 全面的管理能力
- 自动化操作的应用程序权限
- 可以限定为您需要的特定权限
快速设置
克劳德桌面
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"graph-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--init",
"-e",
"LOG_LEVEL=INFO",
"-v",
"graph-mcp-server:/tmp",
"ghcr.io/jackinsightsv2/microsoft-graph-mcp:latest"
]
}
}
}扭曲AI
添加到MCP配置中:
{
"graph-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--init",
"-e",
"LOG_LEVEL=INFO",
"-v",
"graph-mcp-server:/tmp",
"ghcr.io/jackinsightsv2/microsoft-graph-mcp:latest"
],
"env": {},
"working_directory": null,
"start_on_launch": true
}
}配置选项
环境变量
在MCP配置或Docker环境中设置这些:
AZURE_CLIENT_ID:您的Azure AD应用程序客户端IDAZURE_TENANT_ID:您的Azure AD租户IDAZURE_CLIENT_SECRET:您的客户端密码(可选,用于应用程序权限)
在MCP配置中使用客户端密钥
{
"mcpServers": {
"graph-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--init",
"-e",
"AZURE_CLIENT_ID=your-client-id",
"-e",
"AZURE_TENANT_ID=your-tenant-id",
"-e",
"AZURE_CLIENT_SECRET=your-client-secret",
"-v",
"graph-mcp-server:/tmp",
"ghcr.io/jackinsightsv2/microsoft-graph-mcp:latest"
]
}
}
}没有客户端密码(写入模式-但每次启动MCP服务器时都会要求密码)
{
"mcpServers": {
"graph-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--init",
"-e",
"AZURE_CLIENT_ID=your-client-id",
"-e",
"AZURE_TENANT_ID=your-tenant-id",
"-v",
"graph-mcp-server:/tmp",
"ghcr.io/jackinsightsv2/microsoft-graph-mcp:latest"
]
}
}
}Azure AD应用程序注册设置
所需的应用程序注册权限
对于 完全写入权限,在Azure AD应用程序注册中配置这些应用程序权限:
用户管理
User.ReadWrite.All-读取和写入所有用户的完整个人资料User.ManageIdentities.All-管理用户身份UserAuthenticationMethod.ReadWrite.All-读写身份验证方法
组管理
Group.ReadWrite.All-读写所有组GroupMember.ReadWrite.All-读写组成员资格
设备管理
Device.ReadWrite.All-读写设备DeviceManagementConfiguration.ReadWrite.All-读写设备配置DeviceManagementManagedDevices.ReadWrite.All-读写受管设备
应用程序管理
Application.ReadWrite.All-读写应用程序AppRoleAssignment.ReadWrite.All-读写应用程序角色分配
目录管理
Directory.ReadWrite.All-读取和写入目录数据RoleManagement.ReadWrite.Directory-读写目录角色
安全与合规
SecurityEvents.ReadWrite.All-读写安全事件IdentityRiskEvent.ReadWrite.All-读写身份风险事件
邮件和日历(如果需要)
Mail.ReadWrite-读写邮件Calendars.ReadWrite-读写日历
文件和网站(如果需要)
Files.ReadWrite.All-读取和写入文件Sites.ReadWrite.All-读写网站
范围权限
您可以将应用程序注册范围仅限于所需的权限。例如,仅用于用户管理:
User.ReadWrite.AllGroup.ReadWrite.AllDirectory.Read.All
它做什么
- 用户管理 -创建、更新、删除和管理Azure AD用户
- 组管理 -管理组和组成员资格
- 设备管理 -监控和管理设备
- 应用程序管理 -管理Azure AD应用程序和服务主体
- 安全操作 -访问安全事件和风险数据
- 目录操作 -读写目录信息
- 邮件和日历 -访问用户邮件和日历数据(具有权限)
许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
