intune-mcp
intune-mcp
MCP-сервер, предоставляющий доступ только для чтения к Microsoft Intune через Microsoft Graph API. Позволяет 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-режим запускает Express-сервер на порту 3000 (настраивается флагом --port или переменной окружения PORT) и предоставляет следующие конечные точки:
Путь | Метод | Назначение |
| POST | MCP JSON-RPC (Streamable HTTP) |
| GET | SSE-поток для уведомлений сервера |
| DELETE | Завершение сессии |
| GET | Проверка работоспособности (статус, версия, число сессий) |
Доступность инструмента
Категория | Инструмент | Описание |
Аутентификация |
| Вход по коду устройства (только HTTP-режим) |
Устройства |
| Список управляемых устройств с OData-фильтром |
Устройства |
| Сведения об устройстве по ID |
Устройства |
| Поиск по имени, UPN или серийному номеру |
Приложения |
| Размещённые приложения на устройстве (бета-API) |
Приложения |
| Отраслевые (LOB), и магазинные веб-приложения в Intune |
Соответствие |
| Все политики соответствия |
Соответствие |
| Состояние соответствия для каждого устройства |
Соответствие |
| Устройства в статусе несоответствия |
Соответствие |
| Статус для каждого устройства по политике |
Профили конфигурации |
| Профили конфигурации устройств |
Профили конфигурации |
| Статус для каждого устройства по профилю |
Профили конфигурации |
| Состояния профилей на устройстве |
Требуемые разрешения (делегированные)
DeviceManagementManagedDevices.Read.AllDeviceManagementApps.Read.AllDeviceManagementConfiguration.Read.All
Разработка
npm run dev # TypeScript watch mode
npm test # Run unit tests
npm run build # Compile to dist/Проверка вживую
Проверьте все 12 конечных точек на реальном тенанте Intune (требуется предварительная аутентификация):
node scripts/validate-tools.mjsАрхитектура
MCP Client -> Transport (stdio | HTTP) -> McpServer -> Tool Handlers -> GraphClient -> Microsoft Graph APIАутентификация: поток кода устройства MSAL, файловый кэш маркеров в
~/.intune-mcp/token-cache.jsonЖурналирование: структурированные JSON-строки в
~/.intune-mcp/logs/intune-mcp.log(10 МБ на файл, ротация 5 файлов)Graph-клиент: автоматические повторы с экспоненциальной задержкой (429, 401, 5xx), поддержка
Retry-After, таймаут запроса 30 секунд, автоматическая пагинация до 10 страницHTTP-режим: аутентификация для каждой сессии, срок жизни сессии 30 минут, лимит в 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.-