MCP Server for Microsoft Intune management via Microsoft Graph API. Provides comprehensive tools for managing Microsoft Intune (devices, apps, policies, scripts), Entra ID (users, groups, conditional access, authentication), Windows 365 Cloud PCs, tenant administration, and security/compliance.
Server has 26 tools with consistent naming (verb_noun pattern) and descriptions present for all. However, parameter descriptions are minimal or absent for many tools, and output schemas are not documented. Error handling is basic (try/except with generic messages). Tool definitions are visible in source code. Naming is clear and action-oriented, but parameter constraints (enums, ranges) are largely missing. No tool annotations (readOnlyHint, destructiveHint) despite clear risk levels. Average tool quality ~62/100.
Add a phone authentication method for a user.
Delete a specific authentication method for a user.
End the grace period for a Cloud PC (will be deprovisioned).
Get comprehensive details of an app registration including permissions and credentials.
Get detailed information about a specific Cloud PC.
Get the launch information (connection URL) for a Cloud PC.
Output schemas not documented. Tools return dict[str, Any] with no schema specification. LLMs cannot plan downstream calls or extract structured data reliably.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
Get available restore points for a Cloud PC.
Get comprehensive details for a specific managed device.
Get an overview of the Intune environment including device counts and compliance summary.
Get a list of non-compliant devices.
Get details of a specific provisioning policy.
Get sign-in logs with optional filtering.
Get all authentication methods registered for a user.
Get MFA status and registered methods for a user.
List all app registrations with credential expiry information.
List all Cloud PCs in the tenant.
List all Intune managed devices.
List all Cloud PC provisioning policies.
Rename a Cloud PC.
Reprovision a Cloud PC. This will reset it to its original state.
Restart a Cloud PC.
Restart a managed device remotely.
Restore a Cloud PC to a previous point in time.
Search for devices by name, user, or serial number.
Trigger a sync for a managed device.
Test the connection to Microsoft Graph API. Returns connection status and tenant information.
Missing tool annotations. Destructive tools (delete_user_authentication_method, reprovision_cloud_pc, end_grace_period, restore_cloud_pc) lack destructiveHint. Read-only tools lack readOnlyHint. Idempotent operations lack idempotentHint. LLMs cannot reason about safety without these hints.
Parameter descriptions are minimal or missing context. Many parameters lack format constraints, ranges, or enum values. E.g., 'filter_query' in list_managed_devices has no example OData syntax guidance; 'search_by' in search_devices lacks enum constraint; 'phone_type' in add_user_phone_method lacks enum.
Error handling is generic. Tools catch exceptions and return {'status': 'error', 'message': str(e)}. No recovery guidance, no categorization (retryable vs fatal), no actionable next steps for LLMs.
Destructive operations lack confirmation pattern. Tools like delete_user_authentication_method, reprovision_cloud_pc, end_grace_period accept a 'confirm' boolean but do not validate it or provide dry-run. No pre-execution summary or undo guidance.