返回市场
微软图谱MCP

微软图谱MCP

作者:JackInSightsV22 星标更新:2025-07-12

项目介绍

Microsoft Graph MCP 服务器

一个提供AI助手安全访问Microsoft Graph API的MCP(模型上下文协议)服务器。通过您的AI助手访问用户数据,管理Azure AD资源,并执行管理任务。

认证模式

🔍 只读模式(设备代码流)

  • 无需客户端密钥
  • 打开浏览器进行用户认证
  • 仅限于用户委托权限
  • 非常适合探索数据和只读操作

✏️ 应用注册模式(客户端密钥流)

  • 需要带有客户端密钥的Azure AD应用注册
  • 具有完整的管理能力
  • 应用权限用于自动化操作
  • 可以限定到您所需的特定权限

快速设置

Claude Desktop

在您的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"
      ]
    }
  }
}

Warp 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应用程序客户端ID
  • AZURE_TENANT_ID: 您的Azure AD租户ID
  • AZURE_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.All
  • Group.ReadWrite.All
  • Directory.Read.All

功能概述

  • 用户管理 - 创建、更新、删除和管理Azure AD用户
  • 组管理 - 管理组和组成员资格
  • 设备管理 - 监控和管理设备
  • 应用程序管理 - 管理Azure AD应用程序和服务主体
  • 安全操作 - 访问安全事件和风险数据
  • 目录操作 - 读取和写入目录信息
  • 邮件与日历 - 访问用户邮件和日历数据(需权限)

许可证

MIT许可证 - 详情见LICENSE文件。