关于 Microsoft Graph MCP
Microsoft Graph MCP 是面向 MSP 的社区构建 MCP 服务及配套 CLI,用于处理 Microsoft Graph 数据。它将相关数据镜像到本地 SQLite,支持离线的跨实体审计与报告。
主要功能
- 01Microsoft Graph CLI 和 MCP 服务
- 02本地 SQLite 镜像与全文搜索
- 03许可证浪费及孤儿账户审计
- 04管理员、警报和设备检查
- 05跨实体租户快照
适用场景
- 01查找未使用或孤儿许可证
- 02检查特权角色和安全警报
- 03识别过期或不合规设备
- 04汇总多个实体的租户状态
MCP 相关
通过 `microsoft-graph-mcp` 向 MCP 客户端提供 Microsoft Graph 操作。README 建议使用 stdio 传输,并警告不要使用当前 HTTP 模式。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Microsoft Graph + AI——适用于 ChatGPT、Claude、GitHub Copilot、Microsoft 365 Copilot、Gemini,以及任何支持 MCP 的 Agent
非官方。由社区构建的 Claude Code 技能和 Microsoft Graph API MCP 服务。与 Microsoft Corporation 无关联,未获其认可或赞助。
▶ 观看 30 秒演示——演示数据为模拟数据;展示的每条命令都在真实 CLI 中可用。
这是 mgc 停用后的继任者,由维护者持续维护,采用单二进制文件——涵盖所有与 MSP 相关的 Microsoft Graph 功能,并配有离线存储,可找出浪费的许可证、特权访问风险和过时设备,这些都无法通过单次 API 调用发现。可搭配你已有的 AI 使用——ChatGPT(Plus/Pro+,在此连接器重新发布前暂停;参见 mcp-install.md)、Claude Desktop、Codex、Claude Code、Claude Cowork 和 GitHub Copilot——也可通过远程方式搭配 Microsoft 365 Copilot / Copilot Studio 和 Google Gemini 使用。免费、开源,可在你的笔记本电脑上运行。专为 MSP 所有者打造。无需编写代码。
适用于你的 Agent
安全说明(在此连接器重新发布前)。 不要运行 HTTP 模式 (
--transport http),即使是在 localhost 上也不行。此版本没有密码保护, 会监听所有网络接口,并且早于浏览器重新绑定防护,因此你打开的网页 可以访问它。MCP 工具还可以使用你的凭据读取数据。请使用默认的 stdio 传输。 如果你为远程 Agent 设置了隧道,请将其关闭。修复即将推出。
MSP 所有者实际使用的六种 Agent(可自行安装,现已可用):
| 你的 AI Agent | 如何安装 Microsoft Graph 技能 |
|---|---|
| Claude Desktop | 运行安装程序,然后前往 Settings > Extensions 注册 microsoft-graph-mcp(无需编辑 JSON)。 |
| ChatGPT(付费方案) | 在此连接器重新发布前暂停:ChatGPT 需要 HTTP 模式,而此版本的该模式不要求输入密码、会监听所有网络接口,并且你打开的网页可以访问它。请参阅 mcp-install.md 中的安全说明。 |
| Codex CLI | 粘贴下方的安装提示词。 |
| Claude Code | 粘贴下方的安装提示词。 |
| Claude Cowork | 粘贴下方的安装提示词。 |
| GitHub Copilot(VS Code) | 运行安装程序,在 mcp.json 的 servers 键下添加 microsoft-graph-mcp,然后选择 Agent 模式。 |
ChatGPT 需要远程 HTTPS 服务,这意味着要使用此连接器的 HTTP 模式;在连接器重新发布前,该模式将暂停:此版本的该模式不要求输入密码、会监听所有网络接口,并且你打开的网页可以访问它。请参阅 mcp-install.md 中的安全说明。
Microsoft 和 Google 技术栈也适用
用户基数很大,但需要坦诚说明:这条路径面向远程/企业环境,而不是你刚安装的本地二进制文件。
| Agent | 所需条件 |
|---|---|
| Microsoft 365 Copilot / Copilot Studio | 暂停安装此连接器,直到重新发布:Copilot Studio 需要使用 HTTP 模式,而此版本中的该模式不设密码、监听所有网络接口,并且可被你打开的网页访问。请参阅 mcp-install.md 中的安全说明。 |
| Google Gemini | Gemini CLI 在本地运行,与 Claude Code 相同。Gemini 应用在远程运行,需要与 ChatGPT 相同的暂停使用的 HTTP 模式。请参阅 mcp-install.md。 |
原生支持 Skill 的 Agent(也有介绍): Hermes 和 OpenClaw 可直接读取此 Skill 的
SKILL.md,也支持 MCP——请参阅下方的安装章节。通过 MCP 也支持 Cursor、Windsurf、Cline、Continue.dev 和 Zed。各工具的完整接入说明:docs/which-agent.md。
要运行多个 Agent? 只需一条命令,即可在所有 51+ 个受支持的 Agent 中安装:
npx skills add Servosity/msp-skills@latest(需要 Node.js,然后运行各 Skill 的安装程序来安装 CLI/MCP 二进制文件)。请参阅 docs/which-agent.md。
60 秒内完成安装
Claude Desktop 最快安装方式——一键安装 .mcpb
Claude Desktop 安装包:
.mcpb可在 macOS(Intel 和 Apple Silicon)、Windows x64 和 Linux x64 上启动。每个工具都会调用配套的microsoft-graph-cli。自 2026-09-18 起发布的版本会将该 CLI 打包在安装包中;较早的安装包仅包含 MCP 服务,因此如果你的安装包缺少配套 CLI,请先运行下方的路径 A 或路径 B 安装程序(或者将MICROSOFT_GRAPH_CLI_PATH设置为现有二进制文件的路径)。详情: #331。
下载 Microsoft Graph MCP(.mcpb) - 然后打开 Claude Desktop > Settings > Extensions 并选择该文件。一键完成,无需 JSON 或命令行。(在 releases 页面浏览所有 Microsoft Graph 版本。)
更喜欢使用 Claude Code 插件?添加一次市场,然后安装——立即生效,无需列出目录:
/plugin marketplace add Servosity/msp-skills
/plugin install microsoft-graph@msp-skills
路径 A——向 AI Agent 粘贴一条提示词(推荐)
将以下内容复制到 Claude Code、Codex CLI 或 Claude Cowork 中:
在此 Agent 工作区中安装 Servosity/msp-skills 提供的 Microsoft Graph Skill 和 MCP 服务。如果此工作区使用 POSIX shell(macOS、Linux、WSL 或 Bash),请运行
bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/microsoft-graph/install.sh)。如果使用 Windows PowerShell,请运行iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/microsoft-graph/install.ps1 | iex。然后按照 README 进行身份验证,并运行microsoft-graph-cli --help进行探索。
同一条提示词也适用于任何可以运行 shell 的 Agent。
路径 B——自行运行安装程序
Windows(PowerShell):
iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/microsoft-graph/install.ps1 | iex
macOS / Linux:
bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/microsoft-graph/install.sh)
安装程序会将 microsoft-graph-cli(CLI)和 microsoft-graph-mcp(MCP 服务)都安装到用户的 bin 路径中。Claude Code、Codex 和 Cowork 会通过此目录中的 SKILL.md 查找该 Skill。
验证:
microsoft-graph-cli --version
升级到最新版本
安装程序始终会获取当前版本——重新运行即可升级:
macOS / Linux:
bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/microsoft-graph/install.sh)
Windows(PowerShell):
iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/microsoft-graph/install.ps1 | iex
Claude Desktop .mcpb 用户:下载最新的 .mcpb(位于本节顶部),然后在 Settings > Extensions 中重新选择。Claude Code 插件用户:/plugin update microsoft-graph@msp-skills。
添加到 Claude Desktop、GitHub Copilot、Gemini CLI、Microsoft 365 Copilot 或其他 MCP 客户端
运行安装程序后,请参阅 mcp-install.md 和 docs/which-agent.md,了解每个 Agent 的连接配置——每个 Agent 都有单独的章节,其中包括 GitHub Copilot 的 servers 键,以及远程 Microsoft 365 Copilot / Copilot Studio 的接入方式。Claude Desktop 的 Settings > Extensions 面板是最简单的配置方式;对于希望编辑 JSON 的用户,mcp-install.md 中提供了 MCP 配置块。
为 Hermes 安装
在 Hermes CLI 中:
hermes skills install servosity/msp-skills/skills/microsoft-graph --force
在 Hermes 聊天会话中:
/skills install servosity/msp-skills/skills/microsoft-graph --force
Hermes 原生支持 MCP,因此也可以直接使用 microsoft-graph-mcp 服务——安装方式和环境变量都相同。
为 OpenClaw 安装
告诉你的 OpenClaw Agent(复制以下内容):
从 https://github.com/servosity/msp-skills/tree/main/skills/microsoft-graph 安装 microsoft-graph 技能。该技能定义了如何通过
openclaw:frontmatter 块安装其必需的 CLI(microsoft-graph-cli)。
OpenClaw 目前尚未全面开放;frontmatter 配置已预先提供,将在 OpenClaw 发布时立即启用。
身份验证
设置 CLI 所需的凭据(从 Microsoft Graph 门户获取):
MICROSOFT_GRAPH_TOKEN=<value> microsoft-graph-cli doctor
运行任何会访问数据的操作前,doctor 会确认凭据是否有效。即使凭据被拒绝,它也会以 0 退出,因此脚本应添加 --fail-on error。
此技能的功能
| MSP 常问的问题 | 命令 |
|---|---|
| 我们为哪些 SKU 付费却未充分使用?按浪费的席位数排序。 | microsoft-graph-cli licenses waste --agent |
| 哪些已禁用或来宾帐户仍持有付费许可证? | microsoft-graph-cli licenses orphans --json |
| 在回收席位之前,具体是谁在使用某个 SKU? | microsoft-graph-cli licenses map "ENTERPRISEPACK" --agent |
| 当前谁持有特权目录角色?其中哪些持有人是来宾或已禁用? | microsoft-graph-cli admins audit --agent |
| 自昨天以来新增了哪些未关闭的安全警报?按严重性和来源分类。 | microsoft-graph-cli security triage --since 24h --agent |
| 本月哪些 Intune 设备不合规、未加密或长期未更新? | microsoft-graph-cli managed-devices drift --days 30 --agent |
| 整个租户中哪些组没有所有者、为空或来宾占比较高? | microsoft-graph-cli groups risk --agent |
| 租户中有哪些第三方应用已获得许可?哪些权限过高或由管理员授权? | microsoft-graph-cli apps consent --agent |
| 该租户的整体情况如何——用户、许可证浪费、管理员、警报、设备偏差? | microsoft-graph-cli tenant snapshot --agent |
完整命令参考:guide.md。有关 AI Agent 操作约定(--agent、--dry-run,以及何时在变更前确认),请参阅 AGENTS.md。
有何不同
大多数 Microsoft Graph 集成和 MCP 服务都会将每个问题转发为实时 API 调用。查询单条记录时这样做没问题。但当你需要回答“整个租户能回收多少许可证支出”或“现在谁能管理此租户”等问题时,这种方式就难以应对规模化需求——而 Graph 会限制这些问题所需的批量读取。
此技能会将与 MSP 相关的 Microsoft Graph 数据同步到一个带有全文搜索的本地 SQLite 镜像中。聚合查询只需执行一次本地 SQL 联接:即时、离线,而且 AI 看到的是答案,而非原始数据。licenses waste、admins audit 和 tenant snapshot 等复合命令会联接用户、已订阅 SKU、目录角色、安全警报和 Intune 设备——这是无状态 API 封装器无法做到的。此外,它采用单个跨平台二进制文件,无需 .NET 或 PowerShell 运行时,是 Microsoft 将于 2026 年 8 月 28 日退役的 mgc CLI 的轻量级替代品。
解决的痛点
Microsoft 将于 2026 年 8 月 28 日 停用 Microsoft Graph CLI (mgc)——自 2025 年 9 月起已弃用,仅提供安全修复——并引导所有人转向更重的 PowerShell SDK(Microsoft 365 Developer Blog,“Microsoft Graph CLI retirement”)。曾用轻量级跨平台二进制文件编写租户报告脚本的 MSP,如今每台运行脚本的机器都要依赖 .NET/PowerShell。而且 mgc 从未解答过 MSP 实际会问的跨实体问题——可挽回的许可证开支、谁拥有管理员权限、哪些设备正在偏离合规状态——因为没有任何单个 Graph 终结点能返回这些信息;每个问题都得按客户每月导出 CSV,再在电子表格中联接数据。
这个技能是轻量级的后继方案,也填补了这一空白:
| 痛点 | 命令 |
|---|---|
| “哪些许可证被浪费了?”意味着导出 SKU CSV 并手动核对席位 | microsoft-graph-cli licenses waste --agent |
| “谁能管理这个租户?”意味着在 Entra 中逐个打开所有特权角色 | microsoft-graph-cli admins audit --agent |
| “从昨天到现在,Defender 有什么新情况?”意味着每天早晨翻查门户 | microsoft-graph-cli security triage --since 24h --agent |
| “哪些设备不符合合规要求?”意味着每周执行一次从门户到电子表格的 ETL | microsoft-graph-cli managed-devices drift --days 30 --agent |
| “哪些第三方应用可以读取我们的邮件和文件?”意味着在 Entra 中逐个点击企业应用的权限页面 | microsoft-graph-cli apps consent --agent |
| “这个租户的整体情况如何?”目前没有任何单一界面能回答 | microsoft-graph-cli tenant snapshot --agent |
更详细的说明请参阅 pain-point.md。
常见问题
这能与 ChatGPT 配合使用吗?
当前版本不行。ChatGPT(Plus、Pro、Team、Business、Enterprise 和 Education 计划;Free 目前尚未开放 Developer Mode)只能通过 HTTPS 连接远程 MCP 服务,这意味着要以 HTTP 模式运行 Microsoft Graph MCP 服务。当前版本的 HTTP 模式不要求密码,会监听所有网络接口,并且你打开的网页可以访问它,因此在重新发布连接器之前,请勿运行它或将其置于隧道后;mcp-install.md 中的安全说明解释了原因。在此之前,请使用 Claude Desktop、Claude Code 或 Codex。
这能与 Codex、Cursor、Windsurf、Cline、Copilot 或 Gemini 配合使用吗?
可以——它们都支持 MCP。上方的矩阵中提供了跨工具安装命令,详尽说明请参阅 docs/which-agent.md。
我需要懂编程吗?
不需要。推荐的安装方式是将一句话粘贴到 Claude Code 或 Codex 中——你的 Agent 会读取 SKILL.md 并完成安装。备用方式是每种操作系统对应的一行安装命令(bash 或 PowerShell)。这两种方式都不需要编写代码。你只需输入一次 Microsoft Graph 凭据。
我的 Microsoft Graph 数据安全吗?
你的数据保留在自己的机器上。CLI 和 MCP 服务都是本地二进制文件。SQLite 镜像存放在你用户帐户下的目录中。AI Agent 只能看到 CLI 返回的内容——通常是查询结果,而非原始批量数据。凭据从你的环境或 Agent 配置中读取;MSP Skills 绝不会将其打包进此仓库或传输到任何地方。
这是即将停用的 Microsoft Graph CLI (mgc) 的替代品吗?
它作为 MSP 读取和报告核心功能的轻量级后继方案构建而成,涵盖目录、许可证、安全和设备相关功能;它是一个跨平台 Go 二进制文件,不依赖 .NET 或 PowerShell 运行时。Microsoft 官方推荐的路径是 PowerShell SDK;对于希望使用可编写脚本的单个二进制文件和 AI Agent 的团队来说,这是另一种选择。它与 Microsoft 没有附属关系,也未获 Microsoft 背书。
这会触及我的 Microsoft Graph 限流限制吗?
本地 SQLite 镜像的作用是让读取操作不再访问 Graph。首次执行 pull 后,跨实体视图(licenses waste/orphans/map、admins audit、security triage、managed-devices drift、groups risk、tenant snapshot)都在本地 SQLite 上运行,不调用任何 API。实时调用会跟随 @odata.nextLink,并遵循 --rate-limit 限流设置;pull 会将令牌无法访问的资源视为警告,而非失败。
使用的是委托令牌还是仅应用令牌?
两种都可以。运行 microsoft-graph-cli auth login --tenant <id> --client-id <id> --client-secret <secret>,即可获取并缓存仅应用(客户端凭据)令牌,用于无人值守的 MSP 场景;也可以将预先获取的令牌导出为 MICROSOFT_GRAPH_TOKEN。必须授予并由管理员同意读取范围,例如 Directory.Read.All、RoleManagement.Read.Directory、SecurityAlert.Read.All 和 DeviceManagementManagedDevices.Read.All。仅应用令牌没有 /me,因此 users me 仅支持委托令牌。
如何审计哪些第三方应用有权访问租户?
运行 microsoft-graph-cli apps consent --agent。该命令会盘点租户中所有已获授权的非 Microsoft 企业应用(服务主体)及其持有的访问权限,并将服务主体、委托授权授予(oauth2PermissionGrants)和应用/仅应用权限(appRoleAssignments)合并到一张按风险排序的表中。它会标记权限过高的应用(范围过广或具有全部写入权限)、经管理员同意的(租户范围)应用、具有权限提升权限的应用,以及经用户同意的影子 IT 应用;整个过程只读。Microsoft 自有的第一方应用会计入统计,但不会列出。需要读取范围 Application.Read.All、Directory.Read.All 和 DelegatedPermissionGrant.Read.All。
费用是多少?
免费。采用 Apache-2.0 许可证。你只需为所用的 AI Agent(Claude、ChatGPT、Codex 等)付费,费用由你的 AI 服务提供商收取,而非我们。
安全模型
| 层级 | 示例 | 建议的 Agent 策略 |
|---|---|---|
| 读取 | licenses waste、admins audit、apps consent、security triage、managed-devices drift、groups risk、tenant snapshot、users list、pull、search、export | 允许 |
| 写入(仅导入) | import <resource> --input data.jsonl——唯一的写入途径;每条 JSONL 记录对应一次 POST | 先使用 --dry-run 预览,再经审核后写入 |
| 销毁性操作 / 配置 | 无——CLI 不提供删除或更新途径 | 仅限人工介入 |
每个类型化命令都是只读的;唯一的创建途径是 import,该命令会使用 --dry-run 预览。最有力的控制措施是授予 Microsoft Graph 凭据的范围——CLI 只能执行凭据获准执行的操作。完整详情(包括如何收紧权限)请参阅 governance.md。
状态
测试版。已针对 Microsoft Graph API 功能进行验证,并正在与使用自有生产租户运行该工具的 MSP 一起,在每周 Build Sessions 中进行验证。请通过 compoundingteams.com/build-sessions 回复参加。
标准。 符合开放的 Agent Skills spec(Anthropic,2025 年 12 月;支持 40 多种 Agent)。兼容 MCP——可与任何支持 MCP 的 Agent 配合使用,包括 Hermes。已为 OpenClaw 做好准备(frontmatter 已预配置,等待 OpenClaw 发布)。
由 Servosity 维护。采用 Apache-2.0 许可证。使用 CLI Printing Press 构建。最后更新:2026-07-03。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。