Skip to main content
Glama
wborcherdt26

intune-mcp

by wborcherdt26

intune-mcp

Servidor MCP que proporciona acceso de solo lectura a Microsoft Intune mediante Microsoft Graph API. Permite que Claude (o cualquier cliente MCP) consulte dispositivos administrados, aplicaciones, políticas de cumplimiento y perfiles de configuración.

Requisitos previos

  • Node.js >= 18

  • Un registro de aplicación de Azure AD (Entra ID) con permisos delegados

  • Azure CLI (az) para el registro automatizado de aplicaciones (opcional)

Related MCP server: azure-query-mcp

Inicio rápido

1. Registra la aplicación de 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. Instala y compila

npm install
npm run build

3. Autentícate

npm run auth

Sigue el aviso de código de dispositivo para iniciar sesión con tu cuenta de Microsoft.

4. Ejecuta

# Stdio mode (for local MCP clients like Claude Code)
npm start

# HTTP mode (for shared/remote deployment)
npm run start:http

Modos de transporte

Modo

Opción

Caso de uso

Stdio

(por defecto)

Local, un solo usuario, autenticación previa

HTTP

--http o TRANSPORT=http

Despliegue compartido, multisesión, autenticación por sesión

El modo HTTP inicia un servidor Express en el puerto 3000 (configurable mediante --port o la variable de entorno PORT) con los siguientes endpoints:

Ruta

Método

Propósito

/mcp

POST

MCP JSON-RPC (Streamable HTTP)

/mcp

GET

Secuencia SSE de notificaciones del servidor

/mcp

DELETE

Finalización de sesión

/health

GET

Comprobación de estado (estado, versión, número de sesiones)

Herramientas disponibles

Categoría

Herramienta

Descripción

Auth

authenticate

Inicio de sesión con código de dispositivo (solo modo HTTP)

Dispositivos

list_devices

Lista dispositivos administrados con filtro OData

Dispositivos

get_device

Obtiene los detalles de un dispositivo por ID

Dispositivos

search_devices

Busca por nombre, UPN o número de serie

Aplicaciones

get_device_installed_apps

Aplicaciones detectadas en un dispositivo (API beta)

Aplicaciones

list_managed_apps

Aplicaciones LOB, de tienda y web en Intune

Cumplimiento

list_compliance_policies

Todas las políticas de cumplimiento

Cumplimiento

get_device_compliance_status

Estado de cumplimiento por dispositivo

Cumplimiento

get_noncompliant_devices

Dispositivos con estado no compatible

Cumplimiento

get_policy_device_statuses

Estado por dispositivo de una política

Perfiles de Configuración

list_configuration_profiles

Perfiles de configuración de dispositivos

Perfiles de Configuración

get_profile_device_statuses

Estado por dispositivo de un perfil

Perfiles de Configuración

get_device_configuration_status

Estados de perfil en un dispositivo

Permisos requeridos (delegados)

  • DeviceManagementManagedDevices.Read.All

  • DeviceManagementApps.Read.All

  • DeviceManagementConfiguration.Read.All

Desarrollo

npm run dev          # TypeScript watch mode
npm test             # Run unit tests
npm run build        # Compile to dist/

Validación en vivo

Prueba los 12 puntos de conexión contra un inquilino real de Intune (requiere auth autenticación previa):

node scripts/validate-tools.mjs

Arquitectura

MCP Client -> Transport (stdio | HTTP) -> McpServer -> Tool Handlers -> GraphClient -> Microsoft Graph API
  • Auth: Flujo de código de dispositivo de MSAL, caché de tokens basada en archivos en ~/.intune-mcp/token-cache.json

  • Logística: Sistema de registros en líneas JSON en ~/.intune-mcp/logs/intune-mcp.log (rotación de 10 MB, 5 archivos)

  • Cliente de Graph: Reintentos automáticos con retroceso exponencial (429, 401, 5xx), soporte de Retry-After, tiempo de espera de 30 s, paginación automática de hasta 10 páginas

  • Modo HTTP: Autenticación por sesión, TTL de sesión de 30 minutos, límite de 100 sesiones

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