
这是一个MCP服务器,用于跟踪Microsoft Graph API上的模式变更——包括Microsoft文档中的变更和未变更的。
概览
一台MCP服务器,跟踪Microsoft Graph API上的模式变更——包括Microsoft文档中的变更和未变更的。涵盖完整的Entra ID、Entra ID治理、身份与访问管理、Entra代理ID和信息保护表层,发布时已覆盖一年历史。自带交互式模式可视化工具,通过MCP应用在MCP客户端内渲染。 Microsoft Plot在v1.0和测试版中持续演进。官方更新日志是经过策划且不完整的——未公开的模式变更(新属性、删除关系、新枚举值)在发布前就已进入生产环境。该MCP通过每日差异化实际$metadata CSDL,填补了一年历史,同时来自公开社区跟踪器和官方更新日志。
概述(AI 翻译)
一台MCP服务器,跟踪Microsoft Graph API上的模式变更——包括Microsoft文档中的变更和未变更的。涵盖完整的Entra ID、Entra ID治理、身份与访问管理、Entra代理ID和信息保护表层,发布时已覆盖一年历史。自带交互式模式可视化工具,通过MCP应用在MCP客户端内渲染。
为什么
Microsoft Graph 在 v1.0 和 beta 之间持续演进。官方变更日志经过策划且不完整——未公开的模式变更(新属性、删除关系、新枚举值)在发布前就已进入生产环境。该 MCP 通过每日对实际的 $metadata CSDL 进行差异化,填补了一年的历史,同时来自公开社区跟踪器和官方变更日志。
数据来源
| 来源 | 是什么 | 颗粒性 |
|---|---|---|
seed-entra-ms |
一次性导入changes.entra.ms的历史CSDL差异 | 属性级别 |
backfill-graph-changelog |
一次性抓取 Microsoft 官方“最新动态”历史,分为 8 个 IAM 对象族 | 功能级别 |
本页由 AI 翻译,技术细节请以原文为准。
README
以下为原文 README 节选,完整内容请查看原文。
Microsoft Graph Atlas MCP
An MCP server that tracks schema changes across the Microsoft Graph API — both the changes Microsoft documents and the ones it doesn’t. Covers the full Entra ID, Entra ID Governance, Identity & Access Management, Entra Agent ID, and Information Protection surface, seeded with a year of history at launch. Ships with an interactive schema visualiser rendered inside the MCP client via MCP Apps.
Why
Microsoft Graph evolves continuously across v1.0 and beta. The official changelog is curated and incomplete — undocumented schema changes (new properties, removed relationships, new enum values) land in production before they’re announced. This MCP closes that gap by diffing the actual $metadata CSDL daily, and backfills a year of history from both a public community tracker and the official changelog.
Data sources
| Source | What it is | Granularity |
|---|---|---|
seed-entra-ms |
One-time import of changes.entra.ms’s historical CSDL diffs | Property-level |
backfill-graph-changelog |
One-time scrape of Microsoft’s official “What’s New” history, classified into 8 IAM object families | Feature-level |
self |
Daily $metadata fetch + diff, ongoing from first collection |
Property-level |
Two further tables enrich every change with real-world permission/role context: permissions (1,036 scopes scraped from Merill’s Graph Permissions Explorer) and roles (135 Entra built-in roles and their microsoft.directory/* actions, from the Microsoft Learn permissions reference), cross-referenced into role_permission_map.
Quick start (npx)
Requires Node.js 22+ (uses the built-in node:sqlite). Add to your MCP client — e.g.
Claude Desktop’s claude_desktop_config.json:
{
"mcpServers": {
"graph-atlas": {
"command": "npx",
"args": ["-y", "graph-atlas-mcp"]
}
}
}
That’s the whole setup: on first launch the server auto-downloads the latest published
database (change history, permissions, roles, embeddings) from this repo’s GitHub Releases
into ~/.graph-atlas-mcp/, and keeps it current against the daily release cadence.
Developing from source
git clone https://github.com/darrenjrobinson/graph-atlas-mcp.git
cd graph-atlas-mcp
npm install
npm run build
Populate the database (first run)
npm run seed # one-off: import changes.entra.ms's ~1,600 historical records
安装
npx -y graph-atlas-mcp配置
{
"mcpServers": {
"graph-atlas": {
"command": "npx",
"args": ["-y", "graph-atlas-mcp"]
}
}
}