Skip to main content
Glama
mcpAD

mcpAD

Find Empty Ous

find_empty_ous
Read-only

Identify Active Directory organizational units with no nested sub-OUs to support hygiene audits; optionally scope the search to a parent OU using a base DN.

Instructions

Find organizational units with no nested sub-OU (hygiene/audit).

Matches OUs whose ou attribute has no children. Pass base (a DN) to scope to a parent 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 query, so the bar is lower. The description earns some credit by defining 'empty' as 'no children on the `ou` attribute', which is real semantic content the annotations don't provide, but it says nothing about result size, default limits, or domain scoping.

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?

Two short sentences, with the core purpose front-loaded before the operational detail. The second sentence restates the same 'no children' idea at slightly greater precision, which is mildly redundant but not wasteful.

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 values need not be explained, and the readOnly annotation covers safety. The definition of 'empty' plus the `base` scoping rule is enough to call the tool correctly; only the `limit` and `domain` semantics are left uncovered.

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 0%, so the description carries the burden. It explains `base` well (a DN that scopes results to a parent OU), but leaves `limit` (default 100) and `domain` entirely undocumented in both schema and prose — a partial compensation only.

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 organizational units') plus a precise qualifier ('with no nested sub-OU'), which distinguishes it from the sibling find_ous and get_ou_contents. It could have named those siblings explicitly to make the contrast unmistakable, but the intent is unambiguous.

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?

'(hygiene/audit)' gestures at the use case, and the note about passing `base` gives a scoping hint. However, it never states when to prefer this over find_ous or get_ou_contents, and there are no exclusions or prerequisites beyond that scoping remark.

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