Skip to main content
Glama
matt-coppinger

Horizon MCP Server

create_desktop_pool

Creates a desktop pool for Horizon VDI, specifying type, source, user assignment, and provisioning settings. For automated pools, it triggers VM provisioning in vCenter.

Instructions

Create a new desktop pool.

CAUTION: Provisioning an AUTOMATED pool immediately begins creating VMs in vCenter. Always confirm with the user before calling this.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
specYesFull pool specification. Required keys: name, type (AUTOMATED | MANUAL), source (INSTANT_CLONE | VIRTUAL_CENTER | RDS), user_assignment (FLOATING | DEDICATED). AUTOMATED pools also require provisioning_settings with: virtual_center_id, parent_vm_id, snapshot_id, datacenter_id, vm_folder_id, host_or_cluster_id, resource_pool_id, datastores ([{datastore_id}]), nics ([{nic_id, network_label_id}]), naming_pattern, max_machine_count. Use list_virtual_centers, list_base_vms, list_base_vm_snapshots, list_datacenters, list_vm_folders, list_hosts_or_clusters, list_datastores, list_resource_pools, and list_network_labels to look up all required IDs.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

A textual caution discloses the most impactful behavior: provisioning an AUTOMATED pool begins creating VMs in vCenter immediately. Since no annotations are provided, this description carries the full burden, and it addresses a critical side effect that would otherwise surprise an agent. It lacks details like whether the operation is asynchronous, but the disclosed warning is substantial and valuable.

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 extremely concise: two short sentences that front-load the purpose ('Create a new desktop pool.') and then deliver a necessary caution. No wasted words; every sentence serves a purpose.

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 tool with a complex nested object parameter, the input schema is comprehensive and the output schema exists, which covers parameter details and return values. The description fills the only major contextual gap by warning about the immediate VM creation and mandating user confirmation. It is complete enough for an agent to handle the most consequential aspects.

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

Parameters3/5

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

The tool description itself adds no parameter details; however, the input schema already has an extensive spec description, covering required keys, nested structures, and ID lookup references (schema coverage 100%). The baseline score of 3 applies, as the description does not need to repeat schema information.

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 verb ('Create') and resource ('desktop pool'), which clearly conveys the tool's purpose. The name and description distinguish it from sibling tools like 'create_rdsh_farm' and 'create_application_pool' without ambiguity.

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 provides a clear usage condition: always confirm with the user before calling, and warns explicitly about the side effect for AUTOMATED pools. It does not mention alternatives like update_desktop_pool, but the context is sufficient to know when to use this tool.

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