Skip to main content
Glama

Update Product

starshipit_update_product
Idempotent

Update an existing StarShipIt product by numeric ID to correct details, adjust dimensions and weights, add HS codes, or change price and customs data.

Instructions

Update an existing product in the StarShipIt product catalogue by its numeric ID.

Use this to correct product details, update dimensions/weights, add customs codes, or change any other product attribute. The product id must be provided both at the top level and inside the product object — this is a StarShipIt API requirement.

Required top-level fields:

  • id: Numeric product ID (obtain via starshipit_list_products)

Required product object fields:

  • id: Same numeric product ID (must match top-level id)

  • sku: Product SKU (can be the existing SKU unchanged)

  • title: Product title (can be the existing title unchanged)

Optional product object fields: All standard product fields (customs_description, country, weight, height, length, width, hs_code, color, size, barcode, bin_location, brand, usage, material, model, mid, price, dangerous_goods, description).

Returns: The updated product object.

Error cases:

  • 400: Validation errors (e.g. invalid field values)

  • 404: Product with given ID not found

  • 409: SKU conflict with another product

Use this tool when:

  • Correcting product weight or dimensions after a measurement error

  • Adding missing HS codes to products before an international shipment

  • Updating a product price or customs description

Input Schema

NameRequiredDescriptionDefault
idYesNumeric product ID to update (obtain via starshipit_list_products)
productYesFull product object including id, sku, title, and any fields to update
response_formatNoOutput format: 'markdown' for human-readable or 'json' for machine-readablemarkdown

Output Schema

NameRequiredDescriptionDefault
errorsNoValidation or processing errors returned by StarShipIt
objectNoThe response payload when StarShipIt returns a non-object value
successNoStarShipIt success flag (a boolean on most endpoints)

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?

Annotations already declare mutation, non-destructiveness, idempotency, and open-world access, so the safety profile is covered. The description adds genuinely useful behavior the annotations cannot: the duplicate id requirement as an API quirk, that sku and title must be resupplied even if unchanged, and specific error semantics (400 validation, 404 not found, 409 SKU conflict). It does not discuss side effects such as whether a SKU change affects existing orders, which keeps it from a 5.

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 purpose, then structured headers for required fields, optional fields, returns, errors, and usage. It is longer than needed because the required/optional field lists duplicate schema content, but every section is scannable and nothing is buried.

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?

For a mutation tool with a nested object, an output schema, and full annotation coverage, the description supplies what structured data cannot: the API's duplicated-id requirement, error responses, and concrete use cases. An agent has everything needed to construct a correct call on the first attempt.

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 every field including the top-level/object id duplication and units (metres, kilograms). The description largely restates the required and optional field lists, and its one real addition — that sku and title 'can be the existing SKU unchanged' — implies full-object replacement rather than a partial patch. That is helpful but marginal, so baseline 3 is right rather than higher.

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?

States a specific verb and resource ('Update an existing product in the StarShipIt product catalogue') and adds the keying mechanism ('by its numeric ID'). This clearly separates it from starshipit_add_product, starshipit_list_products, and starshipit_delete_products without the agent needing to open any 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 'Use this tool when' block gives three concrete scenarios (fixing dimensions, adding HS codes, updating price/customs description) that map to real intents, and 'obtain via starshipit_list_products' points to the prerequisite lookup. It stops short of naming exclusions or the create/delete alternatives explicitly, so it is clear context without full routing.

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