Skip to main content
Glama
alpadalar

ActiveDirectoryMCP

by alpadalar

get_inactive_users

Identify inactive user accounts that haven't logged in for a specified number of days to support security hygiene and compliance reviews; optionally include disabled accounts.

Instructions

Get users who haven't logged in for specified days.

Identifies inactive user accounts that may pose security risks.

Example:

  • get_inactive_users(days=90, include_disabled=False)

Critical for security hygiene and compliance.

Input Schema

NameRequiredDescriptionDefault
daysNoNumber of days to consider inactive
include_disabledNoInclude disabled accounts in results

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description must carry behavioral disclosure. It implies a read-only query and explains that disabled accounts are excluded by default, but says nothing about permissions required, result ordering, or the shape of the account objects returned.

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

Conciseness4/5

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

Front-loaded purpose sentence followed by a short rationale and example, with no redundant clauses. The closing 'Critical for security hygiene and compliance' is mild filler but contributes usage framing.

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

Completeness3/5

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

Two optional parameters, no nested objects, and no annotations make this a simple tool, and the description covers the query semantics. Without an output schema, however, it never says what an inactive user entry contains, leaving the return shape to guesswork.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are already documented, making 3 the baseline. The description adds only a concrete example call (days=90, include_disabled=False) and the notion of a 'logged in' event, which is marginally more than the schema.

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

Purpose4/5

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

States a specific verb and resource ('Get users who haven't logged in for specified days') with a clear scope (inactivity window). It is distinguishable from list_users by its inactivity filter, though it never explicitly contrasts itself with that sibling.

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

Usage Guidelines3/5

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

The framing 'Identifies inactive user accounts that may pose security risks' and 'Critical for security hygiene and compliance' implies the usage context, and the example shows a typical call. However, it never states when not to use it or which sibling (list_users, get_stale_computers) is the alternative.

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