Skip to main content
Glama

add_node_group

Add a new worker node group to an Ankra-provisioned self-managed cluster (Hetzner, OVH, UpCloud, DigitalOcean, Scaleway, Proxmox VE, or HPE Morpheus): creates count workers (default 1) of the given instance_type with optional labels, taints, and autoscaling settings. Instance types are provider-specific (e.g. 'cx23' on Hetzner, 'px-medium' on Proxmox VE; for HPE Morpheus pass the numeric service-plan id as a string). Group names are lowercase alphanumeric with hyphens and must not already exist. Works on a running or stopped cluster; new workers provision in the background.

Input Schema

NameRequiredDescriptionDefault
nameYesUnique node group name (lowercase alphanumeric with hyphens).
zoneNoUpCloud multi-zone clusters only: pin every node of the group to one zone of the cluster's pool (e.g. 'fi-hel2'). Omit to spread the group across the pool.
countNoNumber of workers to create. Default: 1.
labelsNoOptional Kubernetes node labels.
taintsNoOptional Kubernetes node taints, each {key, value, effect}.
disk_tierNoAnkra Cloud only: storage tier of the root disk of every server the group creates, scale-ups included. Omit it for the zone's default tier. local-nvme puts the disk on the node's own fast disks (the right choice for CI nodes); standard, maxiops and hdd are the zone's Ankra Storage tiers. Refused on other providers.
user_dataNoOVH only: opaque cloud-init user data applied verbatim at first boot by every instance the group ever creates, replacements included. Ankra sends no cloud-init of its own, so the document applies unmerged - use it for provision-time disk layouts (e.g. growpart mode off + sgdisk to carve a LUKS partition). Max 65535 bytes.
cluster_idNoUUID of the target cluster. Optional when a cluster is selected.
autoscalingNoOptional autoscaling settings: {enabled, min_count, max_count}. Bounds default to 1 and 100. min_count 0 (scale-to-zero) is allowed only when Ankra can size the group's instance_type, and is refused naming the instance type when it cannot. Enabling requires a recent cluster agent.
cluster_nameNoExact name of the target cluster. Optional when a cluster is selected.
instance_typeYesProvider instance type for the group's workers (list_instance_types / list_proxmox_options / list_morpheus_options). It must be in stock at the cluster's location: call list_instance_types with cluster_id and pick an available type that fits the workloads' requests - an out-of-stock type is refused before the card is raised, naming in-stock types of at least its size.
disk_gibibytesNoAnkra Cloud only: root disk size in GiB of every server the group creates, scale-ups included. Omit it for the plan's included disk. Refused on other providers.
availability_zoneNoOVH 3-AZ regions only: pin every node of the group to one availability zone (e.g. 'eu-west-par-b'). Omit to spread the group across the cluster's zones. Pin when the group runs zonal storage - an OVH High Speed volume cannot attach from another zone.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / instance_type / description
      Previous value: -"Provider instance type for the group's workers (list_instance_types / list_proxmox_options / list_morpheus_options)."New value: +"Provider instance type for the group's workers (list_instance_types / list_proxmox_options / list_morpheus_options). It must be in stock at the cluster's location: call list_instance_types with cluster_id and pick an available type that fits the workloads' requests - an out-of-stock type is refused before the card is raised, naming in-stock types of at least its size."
  2. Changed2 schema fields changed
    • addedInput schema / properties / disk_gibibytes
      Added value: +{
      +  "description": "Ankra Cloud only: root disk size in GiB of every server the group creates, scale-ups included. Omit it for the plan's included disk. Refused on other providers.",
      +  "maximum": 4096,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / disk_tier
      Added value: +{
      +  "description": "Ankra Cloud only: storage tier of the root disk of every server the group creates, scale-ups included. Omit it for the zone's default tier. local-nvme puts the disk on the node's own fast disks (the right choice for CI nodes); standard, maxiops and hdd are the zone's Ankra Storage tiers. Refused on other providers.",
      +  "enum": [
      +    "local-nvme",
      +    "standard",
      +    "maxiops",
      +    "hdd"
      +  ],
      +  "type": "string"
      +}
  3. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations, which only say it is a non-idempotent mutation: it discloses that workers provision in the background, that out-of-stock types are refused before the card is raised (implying a cost gate), that names must be unique and lowercase, that disk_tier/disk_gibibytes and user_data apply to replacements and scale-ups too, and that scale-to-zero is conditionally refused naming the instance type.

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?

Front-loads the verb, resource, and target scope, followed by parameter behavior and constraints — no filler sentences. It is dense and long with heavy parenthetical nesting, but every clause carries information an agent needs.

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 13-parameter mutation tool with nested objects and no output schema, the description covers provisioning behavior, provider-specific caveats, naming rules, and refusal conditions well. What is missing is any description of what the call returns (e.g. creation status/job handle) and explicit cost/approval flow.

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 100%, so the baseline is 3; the description still adds value by giving provider-specific instance_type examples ('cx23' on Hetzner, 'px-medium' on Proxmox VE, numeric service-plan id as a string on Morpheus) and reiterating the default count of 1. Most other parameter nuance is left to the schema.

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 ("Add a new worker node group") and scopes it to Ankra-provisioned self-managed clusters, naming the seven supported providers. An agent can immediately distinguish this from add_managed_node_pool or cluster-creation tools.

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

Usage Guidelines4/5

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

Gives clear preconditions (group name must not already exist, instance type must be in stock, works on running or stopped clusters) and routes to list_instance_types / list_proxmox_options / list_morpheus_options for picking a type. It never explicitly contrasts with add_managed_node_pool or states when to use update_node_group instead, so sibling-level exclusion is missing.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources