Skip to main content
Glama
alpadalar

ActiveDirectoryMCP

by alpadalar

create_group

Creates a new Active Directory security or distribution group with specified scope and attributes, failing if the group already exists.

Instructions

Create a new group in Active Directory.

Creates security or distribution groups with specified scope and attributes. Supports Global, DomainLocal, and Universal scopes.

Example:

  • create_group(group_name="Marketing Team", group_scope="Global", group_type="Security", description="Marketing department")

Fails if a group with that name already exists.

Input Schema

NameRequiredDescriptionDefault
ouNoOrganizational Unit DN to create group in
group_nameYesGroup name (sAMAccountName)
group_typeNoGroup type (Security, Distribution)Security
descriptionNoGroup description
group_scopeNoGroup scope (Global, DomainLocal, Universal)Global
display_nameNoDisplay name for the group
additional_attributesNoAdditional attributes to set

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses that this is a mutation, supports Security/Distribution types and Global/DomainLocal/Universal scopes, and fails on duplicate names, but it omits permission requirements, reversibility, and what happens on failure beyond the duplicate case.

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 description is front-loaded with the core action and then adds scope/type support, an example, and the duplicate-name failure. It is appropriately sized, though the second sentence slightly repeats the first and the example could be tighter.

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?

For a 7-parameter mutation tool with no annotations and no output schema, the description covers the main semantics and failure mode. However, it does not address permissions/authentication needs or return behavior, leaving meaningful gaps for an agent invoking a privileged Active Directory write operation.

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 description coverage is 100%, so the baseline is 3, but the description adds an example showing how group_name, group_scope, group_type, and description are used together. It does not explain ou, display_name, or additional_attributes beyond the schema, so it is helpful but not complete.

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?

The description uses a specific verb and resource: create a new Active Directory group. It distinguishes the operation from siblings like modify_group, delete_group, and list_groups by emphasizing creation and the duplicate-name failure condition.

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 description implies when to use it by stating it creates a new group and fails if the group already exists, but it does not explicitly direct the agent to modify_group for existing groups or list_groups/get_group to check existence. The example helps with invocation but not with alternative selection.

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