Skip to main content
Glama

Final POS – Custom POS Builder

Update product

hub_update_product
Destructive

Change fields on an existing product. Takes the product ID — get it from get_products, never guess. Only the fields you pass are changed. Prices are HUMAN strings like "24.99". Variant fields (price, sku, barcode): for a product with several variants use variants with the ids from get_products; plain price/sku/barcode work only when there is exactly one variant.

Input Schema

NameRequiredDescriptionDefault
skuNoNew SKU, only for a single-variant product
nameNo
priceNoNew price, only for a single-variant product
statusNoe.g. "active" or "draft"
barcodeNoNew barcode, only for a single-variant product
variantsNoPer-variant changes; ids and labels come from the variants list in get_products
outletIdsNo
productIdYesProduct id from get_products — not a name
categoryIdsNo
descriptionNo
shortDescriptionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true, so safety is covered. The description usefully adds patch semantics ("Only the fields you pass are changed"), which is behavioral context not present in annotations, but it says nothing about permissions, whether removed values are recoverable, or how variant/plain-field conflicts are resolved. Adds value without being rich.

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-loads the action, then prerequisites, then the two risky edge cases (price format, variant handling) in four tight sentences with no filler. Slightly dense but every sentence earns its place.

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 an 11-parameter mutation with no output schema and partial schema coverage, the description covers the highest-risk ambiguities (id sourcing, human-formatted prices, variant vs plain-field exclusivity). The remaining gap is semantics for the unannotated array parameters (categoryIds, outletIds) and the meaning of status transitions.

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?

With schema coverage at only 55%, the description compensates well: it specifies the price format ("HUMAN strings like \"24.99\""), clarifies productId is an id not a name, and explains the crucial rule that plain price/sku/barcode only work for single-variant products while multi-variant products must use `variants`. It leaves categoryIds/outletIds and status values ("active"/"draft" are only in schema) unaddressed.

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 and resource ("Change fields on an existing product") that cleanly separates it from hub_create_product, hub_delete_product and the read tools. It does not name those siblings explicitly, but the resource and action are unambiguous.

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 preconditions ("Takes the product ID — get it from get_products, never guess") and routing for variants. It stops short of explicitly contrasting with hub_create_product or hub_add_product_images, but the usage context is clear.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.