Skip to main content
Glama
wborcherdt26

intune-mcp

by wborcherdt26

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 build

3. Аутентификация

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 или TRANSPORT=http

Общее развёртывание, несколько сессий, аутентификация для каждой сессии

HTTP-режим запускает Express-сервер на порту 3000 (настраивается флагом --port или переменной окружения PORT) и предоставляет следующие конечные точки:

Путь

Метод

Назначение

/mcp

POST

MCP JSON-RPC (Streamable HTTP)

/mcp

GET

SSE-поток для уведомлений сервера

/mcp

DELETE

Завершение сессии

/health

GET

Проверка работоспособности (статус, версия, число сессий)

Доступность инструмента

Категория

Инструмент

Описание

Аутентификация

authenticate

Вход по коду устройства (только HTTP-режим)

Устройства

list_devices

Список управляемых устройств с OData-фильтром

Устройства

get_device

Сведения об устройстве по ID

Устройства

search_devices

Поиск по имени, UPN или серийному номеру

Приложения

get_device_installed_apps

Размещённые приложения на устройстве (бета-API)

Приложения

list_managed_apps

Отраслевые (LOB), и магазинные веб-приложения в Intune

Соответствие

list_compliance_policies

Все политики соответствия

Соответствие

get_device_compliance_status

Состояние соответствия для каждого устройства

Соответствие

get_noncompliant_devices

Устройства в статусе несоответствия

Соответствие

get_policy_device_statuses

Статус для каждого устройства по политике

Профили конфигурации

list_configuration_profiles

Профили конфигурации устройств

Профили конфигурации

get_profile_device_statuses

Статус для каждого устройства по профилю

Профили конфигурации

get_device_configuration_status

Состояния профилей на устройстве

Требуемые разрешения (делегированные)

  • DeviceManagementManagedDevices.Read.All

  • DeviceManagementApps.Read.All

  • DeviceManagementConfiguration.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 сессий

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables 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.
    5
    2
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    A 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.
    36
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Read-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.

View all related MCP servers

Related MCP Connectors

  • XFA's remote MCP server — query device posture, compliance, policies & CVEs. Read-only.

  • Read-only MCP server for ClassQuill, a tutoring-business-management platform.

  • Official Microsoft MCP Server to query Microsoft Entra data using natural language

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wborcherdt26/Intune-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server