Skip to main content
Glama

Update Package

update_package
Idempotent

Update a reseller package's quota, domains, mailboxes, forwarders, and pointers while keeping omitted fields unchanged. Use to adjust package limits for all users on that package.

Instructions

Updates a package's limits; only provided fields are sent, the rest keep their current values. Quota is in GB here (the reseller user quota endpoint uses MB). Changes affect every user on the package. Reseller-level operation: call while authenticated as the reseller (plain reseller username), not while impersonating a user. A 404 means the package does not exist.

Input Schema

NameRequiredDescriptionDefault
nameYesPackage name (letters, numbers, underscores, hyphens)
quotaNoDisk quota in GB or "unlimited"; omit to keep the current value
domainsNoDomain count or "unlimited"; omit to keep the current value
email_accountsNoCustomer mailbox count or "unlimited" (0 = no customer mailboxes — the system mailbox is excluded); omit to keep the current value
domain_pointersNoDomain pointer count or "unlimited"; omit to keep the current value
email_forwardersNoEmail forwarder count or "unlimited"; omit to keep the current value

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations declare readOnly=false and idempotent=true but say nothing about scope or failure handling; the description supplies both — the change affects every user on the package (blast radius) and a 404 means the package does not exist. It also flags the unit mismatch with the reseller-user quota endpoint, which no annotation conveys.

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?

Four short, front-loaded sentences covering mutation semantics, unit caveat, blast radius, auth requirement, and error meaning — no filler. Each clause carries information an agent would otherwise have to guess.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and full schema coverage, the description need not explain return values, and it fills the remaining gaps that matter for a mutation tool: auth mode, partial-update behavior, scope of effect, units, and 404 meaning.

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 schema already documents each field and its "omit to keep current value" behavior, giving a baseline of 3. The description adds genuine meaning on top: the quota unit is GB here versus MB on the reseller-user endpoint, preventing a costly unit error.

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?

"Updates a package's limits" is a specific verb plus resource, immediately narrowed by "only provided fields are sent, the rest keep their current values," which establishes partial-update semantics. It also distinguishes itself from the reseller-user quota endpoint, so an agent can separate it from update_reseller_user or create_package without opening another schema.

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 a clear prerequisite and an explicit exclusion: call while authenticated as the reseller with the plain reseller username, not while impersonating a user. It does not name sibling operations (create_package, get_package, delete_package) as alternatives, but the operational context for correct invocation is unambiguous.

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