Skip to main content
Glama
nelladath

EndpointRead-MCP

by nelladath

manage_entra_users

Manage Microsoft Entra ID users: create, update, delete, enable/disable, reset passwords, assign licenses, and handle onboarding/offboarding.

Instructions

Manage Entra ID users — full lifecycle including licenses, manager, onboarding and offboarding.

action values: list — List all users (top) get — Get user details (user_id or UPN) search — Search users by displayName (search_term) create — Create a new user (body) update — Update user properties (user_id, body) delete — Delete a user (user_id, confirm=True) enable — Enable user account (user_id) disable — Disable/block user sign-in (user_id) reset_password — Reset user password (user_id, body: {newPassword, forceChangeAtNextSignIn}) revoke_sessions — Revoke all user refresh tokens (user_id) get_devices — List managed devices for a user (user_id) get_licenses — Get license assignments (user_id) assign_license — Assign a license (user_id, body: {addLicenses:[{skuId}], removeLicenses:[]}) remove_license — Remove a license (user_id, body: {addLicenses:[], removeLicenses:[skuId]}) list_available_licenses — List available license SKUs in tenant get_deleted_users — List recently deleted users restore_user — Restore a deleted user (user_id) assign_manager — Set user's manager (user_id, body: {"@odata.id": managerUrl}) remove_manager — Remove user's manager (user_id) get_direct_reports — List user's direct reports (user_id) get_member_groups — List groups the user belongs to (user_id) onboard_user — Full onboard: create + manager + license + group membership (body) offboard_user — Full offboard: disable + revoke sessions + remove groups (user_id, confirm=True) bulk_create — Create multiple users from a list (body: {users: [...]}) bulk_assign_license — Assign license to multiple users (body: {user_ids:[...], skuId:...})

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
topNo
bodyNo
actionYes
confirmNo
user_idNo
search_termNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It does flag destructive actions with 'confirm=True' (delete, offboard) and clearly states operations like 'revoke_sessions' and 'disable', which implies irreversible or security-sensitive effects. However, it lacks explicit caveats about permanence, required admin privileges, or potential cost implications for license assignments, so it only partially compensates for missing annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured as a summary line followed by a line-per-action list. It packs a large amount of actionable information without redundant prose. Each line is concise and directly useful, making it easy to scan and parse for model or human use.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (26 actions, 6 parameters, 0% schema coverage), the description fully enumerates all actions and their required parameters. The presence of an output schema means return values need not be described. The description covers onboarding/offboarding, bulk operations, licenses, and more, making it complete for selecting the correct action and inputs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides zero descriptions (0% coverage), but the tool description compensates thoroughly. For every action, it lists the relevant parameters, including exact body structures for complex actions like reset_password (body: {newPassword, forceChangeAtNextSignIn}) and assign_license (body: {addLicenses:[{skuId}], removeLicenses:[]}). This is exemplary parameter documentation beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Manage Entra ID users — full lifecycle including licenses, manager, onboarding and offboarding.' This uses a specific verb, resource, and scope, and differentiates from sibling tools like manage_entra_groups and manage_entra_devices by focusing on user lifecycle operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context by enumerating 26 distinct actions, each with its own use case (list, get, create, delete, etc.). However, it does not explicitly state when not to use this tool or mention alternative sibling tools for overlapping features like group membership or license management, leaving some ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/nelladath/EndpointRead-MCP'

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