Skip to main content
Glama

hmc_create_lpar

Create a new logical partition on a managed system, defining processors, memory, and virtual slots. The LPAR is created powered off so you can configure storage and network before boot.

Instructions

Create a new LPAR on a managed system.

system_name_or_uuid: the target managed system — accepts either a SystemName (e.g. "Server-9080-M9S-SN12345") or a UUID (find it with hmc_systems). Memory values are in MiB. By default a shared-processor partition is created; set dedicated=True for dedicated CPUs (then procs are whole CPU counts). For shared partitions, procs are processing units (may be fractional, e.g. 0.5) and vcpus are virtual processor counts.

The partition is created powered off with a default profile; storage, network and boot settings still need to be configured (via the HMC UI or profile edits) before it can boot an OS. This creates a real partition — confirm name/system_name_or_uuid before calling.

Raises ValueError if a partition with the given name already exists on any managed system — names must be unique across the HMC.

partition_type must be one of: 'AIX/Linux', 'OS400', 'Virtual IO Server'. os_type: target OS — aix, linux, or ibmi. keylock: initial keylock position — normal, manual, or auto. max_virtual_slots: maximum number of virtual I/O slots.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
keylockNo
os_typeNo
uncappedNo
dedicatedNo
max_procsNo
max_vcpusNo
min_procsNo
min_vcpusNo
max_memoryNo
min_memoryNo
partition_idNo
desired_procsNo
desired_vcpusNo
desired_memoryNo
partition_typeNoAIX/Linux
max_virtual_slotsNo
system_name_or_uuidYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so thoroughly: it discloses that a real partition is created, that it starts powered off with a default profile, that storage/network/boot must still be configured, that names must be unique across the HMC, and that a ValueError is raised on duplicates. It also explains shared vs dedicated processor behavior and unit semantics.

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?

The description is well-organized into focused paragraphs: overview, parameter clarifications, state and side-effect warnings, error condition, and enum definitions. Every sentence adds value, and it remains readable despite covering many details.

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 complex 18-parameter creation tool with no annotations, the description provides strong context: post-creation steps, uniqueness constraints, error behavior, and processor/memory units. It is incomplete in that it doesn't explain all parameters (e.g., uncapped, min/max/desired values) and doesn't mention whether the operation is synchronous or returns a job, which is relevant given sibling job-tracking tools.

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 0%, so the description must compensate. It explains key non-obvious semantics: system_name_or_uuid format and lookup, MiB units, dedicated vs shared processor meaning, procs/vcpus interpretation, and enums for partition_type, os_type, and keylock. However, several parameters (uncapped, min/max/desired values, partition_id) are left without explicit explanation, relying on their names for meaning.

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 opens with a specific verb+resource ('Create a new LPAR on a managed system') and immediately distinguishes the tool from siblings like hmc_modify_lpar, hmc_delete_lpar, and hmc_power_on_lpar. It clearly scopes the action as creation of a real partition.

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?

The description gives clear context about when to use this tool (to create a new LPAR) and explains the resulting state (powered off, needs further config), but it does not explicitly state when not to use it or mention alternatives such as hmc_create_vios for VIOS partitions or hmc_provision_lpar for OS installation.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/randomparity/hmc-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server