Skip to main content
Glama
matt-coppinger

Horizon MCP Server

create_application_pool

Publish a new application pool from an RDS farm by providing the executable path, display name, and optional launch settings to make the application available to users.

Instructions

Publish a new application pool from an RDS farm.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesInternal name (no spaces recommended)
farm_idYesRDS farm ID — obtain from list_rdsh_farms
versionNoApplication version string
publisherNoPublisher name shown in the app catalog
display_nameNoUser-visible display name (defaults to name)
executable_pathYesFull path to the executable or .lnk shortcut, e.g. C:\ProgramData\Microsoft\Windows\Start Menu\Programs\MyApp.lnk
enable_pre_launchNoPre-launch the app before the user connects
multi_session_modeNoMulti-session mode: DISABLED (one session per user), ENABLED_DEFAULT_OFF, or ENABLED_DEFAULT_ON.DISABLED
enable_client_restrictionsNoRestrict which clients can launch the app

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. 'Publish' implies a creation/mutation operation, and the schema shows defaults and optional fields, but the description does not disclose side effects, whether the operation is reversible, or what happens on success/failure. It does not contradict any annotations, but it adds minimal behavioral context beyond the verb.

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 a single concise sentence that states the action and the source context. It is front-loaded and efficient, with no wasted words. It could arguably include a bit more context, but for its length it is well-structured.

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?

Given the tool has 9 parameters, a rich schema, and an output schema, the description is minimal but not inadequate. The schema covers parameter semantics, and the sibling list provides context. However, the description does not mention what the output contains, whether the operation is idempotent, or any prerequisites beyond the implied farm_id. For a creation tool with no annotations, a bit more context would be expected.

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?

Schema description coverage is 100%, so the schema already documents all 9 parameters. The description itself adds no parameter-level meaning beyond the schema, but the baseline of 3 applies because the schema does the heavy lifting. The description's mention of 'from an RDS farm' reinforces the farm_id parameter's role, but that is already clear from the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Publish a new application pool from an RDS farm' uses a specific verb ('Publish') and resource ('application pool'), and clearly distinguishes it from sibling tools like list_application_pools, get_application_pool, update_application_pool, and delete_application_pool. It could be slightly more explicit about the RDS farm context, but it is clear enough to differentiate from siblings.

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 the tool is used to create/publish a new application pool, and the required farm_id parameter references list_rdsh_farms, which gives a hint about a prerequisite. However, it does not explicitly state when to use this tool versus update_application_pool or delete_application_pool, nor does it mention any preconditions like needing an existing RDS farm.

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