Skip to main content
Glama
mcpAD

mcpAD

Password Not Required

password_not_required
Read-only

Lists Active Directory users whose accounts have the PASSWD_NOTREQD flag, helping identify accounts that may allow passwordless logon; optionally scope results to an OU.

Instructions

Risk: list users with the PASSWD_NOTREQD UAC flag (account may have no password).

These accounts may have no password at all, letting anyone authenticate as them and set their own. Pass base (a DN) to scope to an OU.

Input Schema

NameRequiredDescriptionDefault
baseNo
limitNo
domainNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe read, so the description's job is to add context beyond that. It does explain the security implication (anyone could authenticate as such accounts and set their own password), which is genuinely useful context for reporting. It is silent on limit/pagination behavior and on how `domain` is resolved, so the behavioral picture is incomplete.

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?

Short and front-loaded, with the risk statement first and the parameter hint last. There is mild redundancy between "(account may have no password)" in the first sentence and "may have no password at all" in the second, which could be tightened.

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?

An output schema exists and annotations cover the read-only safety profile, so those burdens are lifted. The gap is the unspecified `limit`/`domain` semantics and the absence of any note on result size or default scope (100 rows, default domain) that an agent needs to call it confidently.

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 carries the full burden for three parameters, but it only explains `base` (a DN used to scope to an OU). `limit` and `domain` are left entirely undocumented in both the schema and the description, leaving two of three parameters opaque.

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?

States a specific verb and resource ("list users with the PASSWD_NOTREQD UAC flag") and names the underlying AD attribute, which implicitly distinguishes it from sibling flag-based tools like never_expires_password and kerberos_preauth_not_required. An agent can identify the exact account population without opening the schema.

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?

Framing it as "Risk:" implies a security-audit use case, and the base parameter guidance ("Pass `base` (a DN) to scope to an OU") gives an actionable usage note. However, it never states when to prefer this over generic `find_users` with a filter, nor any exclusions or prerequisites.

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