Admin MCP Server 40 Tools

Cloudflare Worker MCP Server für Entra ID / Microsoft 365 Administration — OAuth 2.1 Delegated Auth.

⚠️ Nur für IT-Administratoren. Der angemeldete User braucht entsprechende Entra-Admin-Rollen (User Admin, Groups Admin, Intune Admin, Security Reader).

MCP Endpoint

POST https://admin.m365.mcp.rieker.ai/mcp
Authorization: Bearer <token>  ← automatisch vom MCP Client verwaltet

OAuth 2.1 Delegated Flow

MCP Client → /mcp (kein Token) → 401
↳ Client liest /.well-known/oauth-authorization-server
↳ Client öffnet /authorize → Microsoft Login (Browser, einmalig)
/callback/token → Bearer Token (30 Tage)
↳ Alle weiteren Requests transparent authentifiziert

Read-Only Tools (17)

ToolBeschreibung
get_userRetrieve full details for a user by UPN, email, or Entra object ID. Returns account status, department, job title, manager, mobile phone, and creation date.
list_usersList users with optional filters by department, account status, or free-text search on display name / UPN. Returns up to 100 results.
get_user_signin_activityRetrieve the last interactive and non-interactive sign-in timestamps for a user. Requires AuditLog.Read.All.
get_user_licensesList all license SKUs assigned to a user including service plan details.
get_user_group_membershipsList all groups the user is a member of. Optionally include transitive (nested) memberships.
get_user_mfa_statusList all registered MFA authentication methods for a user (Authenticator, phone, FIDO2, etc.). Requires UserAuthenticationMethod.Read.All.
get_mailbox_detailsRetrieve mailbox type and size for a user. NOTE: Requires an on-premises Exchange Online PowerShell adapter. Returns NOT_IMPLEMENTED if adapter is not configured.
list_available_licensesList all subscribed license SKUs in the tenant with total, consumed, and available seats.
get_groupRetrieve details and direct members for a group by object ID, display name, or email.
list_groupsSearch and list groups. Filter by type (security, m365, distribution) or display name.
list_devicesList Intune-managed devices, optionally filtered by owner UPN or compliance state.
get_bitlocker_recovery_keyRetrieve BitLocker recovery key(s) for a device. Requires BitLockerKey.Read.All.
list_conditional_access_policiesList all Conditional Access policies including state, conditions, and grant controls.
list_directory_role_assignmentsList Entra ID directory roles and their assigned members. Optionally filter by role name.
search_audit_logSearch the Entra ID audit log for administrative actions. Filter by category, activity, initiator, target, or date range.
list_risky_signinsList risky users from Entra ID Identity Protection. Filter by risk level or state.
list_stale_accountsList accounts inactive for at least `inactiveDays` days (default 90) that hold an M365 license or are disabled. Returns sign-in data, account status, and assigned licenses per candidate.

Write Tools — Plan / Execute (22)

ToolBeschreibung
plan_toggle_user_accountPreview enabling or disabling a user account. Returns a planId valid for 15 minutes.
execute_toggle_user_accountEnable or disable a user account. Requires planId from plan_toggle_user_account. Fails if plan expired or account state changed.
plan_update_user_attributesPreview attribute changes for a user (department, job title, manager, mobile phone, office location). Returns a planId.
execute_update_user_attributesApply attribute changes. Requires planId from plan_update_user_attributes.
plan_assign_licensePreview assigning a license SKU to a user. Checks seat availability. Returns a planId.
execute_assign_licenseAssign a license. Requires planId from plan_assign_license. Re-checks seat availability at execute time.
plan_remove_licensePreview removing a license from a user. Warns if the SKU includes Exchange Online (mailbox access will be lost). Returns a planId.
execute_remove_licenseRemove a license. Requires planId from plan_remove_license. Verifies user still holds the license.
plan_group_membership_changePreview adding or removing a user from a group. Returns a planId.
execute_group_membership_changeApply a group membership change. Requires planId from plan_group_membership_change.
plan_retire_devicePreview retiring or wiping an Intune device. 'retire' removes corporate data; 'wipe' factory-resets. Returns a planId.
execute_retire_deviceSend retire or wipe command to device. WIPE IS IRREVERSIBLE. Requires planId from plan_retire_device.
plan_convert_to_shared_mailboxPreview converting a user mailbox to shared. Requires on-premises EXO adapter. Returns NOT_IMPLEMENTED if not configured.
execute_convert_to_shared_mailboxConvert mailbox to shared. Requires planId from plan_convert_to_shared_mailbox and on-premises EXO adapter.
execute_offboard_userExecute the offboard recommendation from plan_offboard_user. Converts mailbox + removes license OR deletes user, depending on the recommendation.
plan_delete_userPreview full user deletion. Lists all group memberships and licenses that will be released. Returns a planId.
execute_delete_userSoft-delete a user (recoverable from Entra Recycle Bin for 30 days). Requires planId from plan_delete_user.
plan_reset_password_onpremPreview resetting a password in on-premises Active Directory. Requires PowerShell connector to a Domain Controller.
execute_reset_password_onpremExecute on-premises AD password reset. Requires planId from plan_reset_password_onprem.
plan_unlock_account_onpremPreview unlocking a locked-out account in on-premises AD. Requires PowerShell connector to a Domain Controller.
execute_unlock_account_onpremExecute on-premises AD account unlock. Requires planId from plan_unlock_account_onprem.
trigger_entra_connect_delta_syncTrigger a manual Entra Connect delta sync to push on-premises AD changes to Entra ID immediately.

Platzhalter / Nicht implementiert (8)

ToolBeschreibung
get_mailbox_detailsRetrieve mailbox type and size for a user. NOTE: Requires an on-premises Exchange Online PowerShell adapter. Returns NOT_IMPLEMENTED if adapter is not configured.
plan_convert_to_shared_mailboxPreview converting a user mailbox to shared. Requires on-premises EXO adapter. Returns NOT_IMPLEMENTED if not configured.
execute_convert_to_shared_mailboxConvert mailbox to shared. Requires planId from plan_convert_to_shared_mailbox and on-premises EXO adapter.
plan_reset_password_onpremPreview resetting a password in on-premises Active Directory. Requires PowerShell connector to a Domain Controller.
execute_reset_password_onpremExecute on-premises AD password reset. Requires planId from plan_reset_password_onprem.
plan_unlock_account_onpremPreview unlocking a locked-out account in on-premises AD. Requires PowerShell connector to a Domain Controller.
execute_unlock_account_onpremExecute on-premises AD account unlock. Requires planId from plan_unlock_account_onprem.
trigger_entra_connect_delta_syncTrigger a manual Entra Connect delta sync to push on-premises AD changes to Entra ID immediately.