Skip to main content
Glama
mcpAD

mcpAD

Get Password Policy Violations

get_password_policy_violations
Read-only

Audit enabled users whose passwords have expired or were never set per domain policy, excluding never-expiring accounts.

Instructions

Find users whose password violates the domain policy (audit).

Flags enabled users whose password has expired (older than the domain maxPwdAge) and, when include_never_set is True, users who must set a password at next logon (pwdLastSet=0). Accounts whose password never expires are excluded. Returns an empty list if the domain has no maximum password age.

Input Schema

NameRequiredDescriptionDefault
limitNo
domainNo
include_never_setNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true; the description adds genuine behavioral context: never-expiring accounts are excluded and an empty list is returned when the domain has no maxPwdAge. It does not mention pagination or how 'limit' truncates results, which matters for an audit scan.

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 with the core purpose, then conditional behavior. Tight and mostly free of filler; the parenthetical '(audit)' is the only near-redundant token.

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

Completeness4/5

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

An output schema exists, so return shape needn't be described, and the description covers the key inclusion/exclusion rules and the empty-result edge case. The unaddressed 'limit' parameter is the notable remaining gap for a potentially large result set.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must carry parameter meaning. It explains include_never_set well and implies domain via maxPwdAge, but 'limit' (default 100) is never mentioned, leaving truncation behavior undocumented in both schema and description.

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: find users whose password violates the domain policy, with an audit framing. It also defines the semantics of the violation precisely (expired vs pwdLastSet=0). It does not, however, name the sibling it differs from (expired_accounts, find_must_change_password, never_expires_password), which overlap heavily with this scope.

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?

Usage is implied by the 'audit' framing and by the conditional on include_never_set, but there is no explicit 'use this instead of X' guidance despite several near-duplicate siblings. An agent must infer routing from tool names alone.

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