Skip to main content
Glama

patchLicense

Idempotent

Updates server license configuration from a supplied request body, requiring license admin permission. Inspect capacity with getLicense, then validate arguments using dry_run before sending.

Instructions

Updates the server license configuration from the supplied request body. This is a global administrative change requiring license administration permission. Inspect capacity with getLicense and assignments with getLicenseSlots first. Effect: idempotent — calling it again with the same input leaves the resource in the same end state, with no additional side effects. Tip: set dry_run: true first to validate the arguments and preview the exact request without sending it to Polarion. The executor returns this preview as normal text, and as structured content when the tool declares an output schema.

Input Schema

NameRequiredDescriptionDefault
dry_runNoIf true, validates the request and returns the exact request that would be sent to Polarion — with the Authorization header redacted and any binary payload summarized by byte length — without actually sending it.
requestBodyYesThe License body.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.2.0
    • changedInput schema / properties / dry_run / description
      Previous value: -"If true, validate and return the request that would be sent without calling Polarion."New value: +"If true, validates the request and returns the exact request that would be sent to Polarion — with the Authorization header redacted and any binary payload summarized by byte length — without actually sending it."
  2. Added

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent/destructive/openWorld, yet the description adds genuinely new context: this is a global administrative change requiring license administration permission, and it explains the dry-run preview round-trip including that structured content is returned only if an output schema is declared. Minor redundancy repeating the idempotency guarantee already carried by `idempotentHint`.

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-loaded with the verb and scope, then permission, prerequisites, idempotency, and the dry-run tip in a logical order. The closing sentence about the executor returning preview as text or structured content is somewhat meta and could be trimmed.

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 nested-body mutation with no output schema, the description supplies the permission requirement, safe-preview path, prerequisite reads, and idempotency. It still leaves unclear what the license body actually changes on the server (capacity redistribution? default slot reassignment?), which would help an agent construct `requestBody` correctly.

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 both `dry_run` and `requestBody` are documented structurally, and the description points at `dry_run` behavior. But it adds nothing about `requestBody`'s nested semantics (e.g. `defaultBaseLicenseSlot` vs `defaultAddOnLicenseSlots`) — baseline 3 applies when the schema does the work.

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?

States a specific verb+resource ('Updates the server license configuration') and identifies the request-body source, so the target of the operation is unambiguous. However, it never distinguishes this tool from sibling `setLicense` or `patchLicenseAssignments`/`patchLicenseAssignment`, which an agent must otherwise infer by ID shape.

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 concrete prerequisites ('Inspect capacity with `getLicense` and assignments with `getLicenseSlots` first') and a validation workflow via `dry_run: true`. It lacks an explicit when-not rule versus `setLicense` and the assignment patch tools, which is the main remaining gap.

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

Deploy Server

Other Tools