Skip to main content
Glama
alpadalar

ActiveDirectoryMCP

by alpadalar

get_organizational_unit_contents

Lists all objects in an Active Directory organizational unit—including users, groups, computers, and sub-OUs—with optional object-type filtering to inventory OU contents.

Instructions

Get contents of an OU.

Lists all objects within OU including users, groups, computers, and sub-OUs.

Example:

  • get_organizational_unit_contents(ou_dn="OU=Sales,DC=company,DC=com")

  • get_organizational_unit_contents(ou_dn="OU=IT,DC=company,DC=com", object_types=["user", "group"])

Provides OU inventory and organization.

Input Schema

NameRequiredDescriptionDefault
ou_dnYesOU distinguished name
object_typesNoTypes of objects to include

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description must carry the full behavioral load. It does disclose scope (sub-OUs appear as listed objects), but leaves open whether the contents of sub-OUs are recursed into, what permissions are required to read an OU, and how large a result set can get — all material for a directory listing tool.

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?

The purpose is front-loaded in the first line, followed by a compact enumeration and two short examples. It is slightly padded by the trailing 'Provides OU inventory and organization' sentence, which restates what was already said.

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?

For a two-parameter read tool with no output schema and no annotations, the description covers what the tool returns and how to filter adequately. The main shortfall is the unresolved question of recursion depth into sub-OUs.

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

Parameters4/5

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

Schema coverage is already 100%, so baseline is 3. The description goes beyond the schema's bare 'Types of objects to include' by showing concrete values like ["user", "group"], which adds practical meaning the schema does not.

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 contents of an OU') and enumerates what is returned: users, groups, computers, and sub-OUs. This makes it distinguishable from list_users or get_organizational_unit, though it never explicitly contrasts itself with those siblings.

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 two examples show realistic invocations, including how to narrow results with object_types, which implies the filtering use case. However, there is no explicit when-to-use guidance and no mention of when to prefer get_organizational_unit or list_users instead.

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