intune-mcp
intune-mcp
Microsoft Graph API を介して Microsoft Intune への読み取り専用アクセスを提供する MCP サーバーです。Claude(または任意の MCP クライアント)が、管理対象デバイス、アプリ、コンプライアンスポリシー、構成プロファイルを照会できます。
前提条件
Node.js 18 以上
委任されたアクセス許可を持つ Azure AD(Entra ID)アプリの登録
アプリ登録を自動化するための Azure CLI(
az)(任意)
Related MCP server: azure-query-mcp
クイックスタート
1. Azure AD アプリを登録する
# Automated (requires Azure CLI + admin consent permissions)
.\scripts\register-app.ps1 -WriteEnv
# Or manually: create a public client app in Entra ID with these delegated permissions:
# - DeviceManagementManagedDevices.Read.All
# - DeviceManagementApps.Read.All
# - DeviceManagementConfiguration.Read.All
# Then create .env:
# AZURE_CLIENT_ID=<your-app-client-id>
# AZURE_TENANT_ID=<your-tenant-id>2. インストールとビルド
npm install
npm run build3. 認証
npm run authデバイスコードのプロンプトに従って、Microsoft アカウントでサインインします。
4. 実行
# Stdio mode (for local MCP clients like Claude Code)
npm start
# HTTP mode (for shared/remote deployment)
npm run start:httpトランスポートモード
モード | フラグ | 用途 |
Stdio | (デフォルト) | ローカル、シングルユーザー、事前認証済み |
HTTP |
| 共有デプロイ、マルチセッション、セッションごとの認証 |
HTTP モードは、ポート 3000 で Express サーバーを起動します(--port または環境変数 PORT で設定可能)。エンドポイントは次のとおりです。
パス | メソッド | 用途 |
| POST | MCP JSON-RPC(Streamable HTTP) |
| GET | サーバー通知の SSE ストリーム |
| DELETE | セッションの終了 |
| GET | ヘルスチェック(ステータス、バージョン、セッション数) |
利用可能なツール
カテゴリ | ツール | 説明 |
認証 |
| デバイスコードサインイン(HTTP モードのみ) |
デバイス |
| OData フィルター付きで管理対象デバイスを一覧表示 |
デバイス |
| ID でデバイスの詳細を取得 |
デバイス |
| 名前、UPN、シリアル番号で検索 |
アプリ |
| デバイス上で検出されたアプリ(ベータ API) |
アプリ |
| Intune 内の LOB/ストア/Web アプリ |
コンプライアンス |
| すべてのコンプライアンスポリシー |
コンプライアンス |
| デバイスごとのコンプライアンス状態 |
コンプライアンス |
| 不適合状態のデバイス |
コンプライアンス |
| ポリシーに対するデバイスごとのステータス |
構成プロファイル |
| デバイス構成プロファイル |
構成プロファイル |
| プロファイルに対するデバイスごとのステータス |
構成プロファイル |
| デバイス上のプロファイル状態 |
必要なアクセス許可(委任)
DeviceManagementManagedDevices.Read.AllDeviceManagementApps.Read.AllDeviceManagementConfiguration.Read.All
開発
npm run dev # TypeScript watch mode
npm test # Run unit tests
npm run build # Compile to dist/実環境での検証
実際の Intune テナントに対して、12 個のエンドポイントをすべてテストします(事前の認証が必要です):
node scripts/validate-tools.mjsアーキテクチャ
MCP Client -> Transport (stdio | HTTP) -> McpServer -> Tool Handlers -> GraphClient -> Microsoft Graph API認証: MSAL デバイスコードフロー、ファイルベースのトークンキャッシュを
~/.intune-mcp/token-cache.jsonに保存ログ:
~/.intune-mcp/logs/intune-mcp.logへの構造化 JSON Lines ログ(10 MB ローテーション、5 ファイル)Graph クライアント: 指数バックオフによる自動再試行(429、401、5xx)、
Retry-Afterサポート、30 秒のリクエストタイムアウト、最大 10 ページの自動ページネーションHTTP モード: セッションごとの認証、30 分のセッション TTL、最大 100 セッション
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only MCP access to a documented IT fleet: state, changes, posture. 15 tools.
XFA's remote MCP server — query device posture, compliance, policies & CVEs. Read-only.
Read-only access to InfluSense influencer discovery, ratings, watchlists, and reports via MCP.
Provides read access to your GKE and Kubernetes resources.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides read-only access to Microsoft 365 services including SharePoint, OneDrive, Outlook, Teams, and Calendar through the Microsoft Graph API, enabling users to search, browse, and retrieve content across their M365 suite.2MIT
- AlicenseAqualityAmaintenanceEnables read-only querying of Azure Log Analytics and Azure Resource Graph through MCP, supporting KQL queries, workspace discovery, and resource inventory exploration with Azure RBAC authentication.11527 npm2MIT
- AlicenseBqualityCmaintenanceA read-only MCP server for Microsoft Intune and Entra ID that enables list, get, search, and reporting operations for tenant visibility, audits, troubleshooting, and health reporting without write actions. It includes authentication helpers, report exports, and metadata discovery tools.361MIT
- FlicenseNot gradedqualityCmaintenanceRead-only MCP server for Microsoft Entra ID (Azure AD) that enables querying user sign-in logs, group memberships, and assigned Microsoft 365 licenses via Microsoft Graph API. Provides security and audit visibility without any write operations.-