Skip to main content
Glama

create_group

Create an NSX security group with optional tag, IP, or segment membership criteria to define dynamic groups for firewall rules.

Instructions

[WRITE] Create an NSX security group with optional membership criteria.

Returns the created group dict (id, path, expression, ...). Criteria are ORed — NSX only permits AND between same-member-type Conditions: tag_scope/tag_value matches VMs carrying that tag, ip_addresses matches IPs or CIDRs, segment_paths every VM on those segments. Use it before create_dfw_rule, which references the group path; confirm members with get_group.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
targetNoOptional NSX Manager target from config.
group_idYesUnique id (alphanumerics, hyphens, underscores).
tag_scopeNoNSX tag scope for membership (e.g. 'env').
tag_valueNoNSX tag value for membership (e.g. 'production').
descriptionNoOptional description.
display_nameYesHuman-readable name.
ip_addressesNoIP addresses or CIDRs (e.g. ['10.0.1.0/24']).
segment_pathsNoNSX segment policy paths.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changedv1.10.0
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / description / description
      Added value: +"Optional description."
    • addedInput schema / properties / display_name / description
      Added value: +"Human-readable name."
    • addedInput schema / properties / group_id / description
      Added value: +"Unique id (alphanumerics, hyphens, underscores)."
    • addedInput schema / properties / ip_addresses / description
      Added value: +"IP addresses or CIDRs (e.g. ['10.0.1.0/24'])."
    • addedInput schema / properties / segment_paths / description
      Added value: +"NSX segment policy paths."
    • addedInput schema / properties / tag_scope / description
      Added value: +"NSX tag scope for membership (e.g. 'env')."
    • addedInput schema / properties / tag_value / description
      Added value: +"NSX tag value for membership (e.g. 'production')."
    • addedInput schema / properties / target / description
      Added value: +"Optional NSX Manager target from config."
  2. Addedv1.5.29
  3. Removedv1.5.28
  4. First observedv1.3.2

TDQS

A5/5.0
Behavior5/5

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

Beyond annotations, it discloses the return value (created group dict with id, path, expression), the ORing of criteria, and the NSX constraint that AND is only permitted between same-member-type Conditions. This materially clarifies what the tool does and its limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four compact sentences front-load the primary purpose and [WRITE] signal, then each sentence adds a distinct, necessary detail: return value, criteria combination, and usage sequencing. There is no filler or repetition.

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

Completeness5/5

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

For a create operation with 8 parameters and no output schema, the description covers the return shape, membership semantics, constraint on combining criteria, and the recommended call sequence with siblings. Nothing essential for correct invocation is missing.

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

Parameters5/5

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

Schema already covers parameter descriptions at 100%, but the description adds the essential combination semantics: tag_scope/tag_value match VMs by tag, ip_addresses match IPs/CIDRs, segment_paths match every VM on segments. This is meaning an agent cannot derive from the schema alone.

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 states a specific action ('Create an NSX security group') and scopes it with optional membership criteria, so the resource and verb are unambiguous. It also distinguishes the tool from adjacent siblings by explicitly referencing create_dfw_rule and get_group rather than describing generic behavior.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives direct sequencing guidance: 'Use it before create_dfw_rule' and 'confirm members with get_group.' This tells the agent when to call this tool relative to related operations, and the membership-criteria explanation helps decide whether this is the right group-creation path.

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