Skip to main content
Glama

shipping_set_method

Add or change a delivery method. Money is integer minor units (cents). Calling this changes nothing: it returns a preview of what would change and a confirmation link. Only the merchant, on that page, can make it happen.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNoflat: one price. table: a price per country, region, postcode and order-value or weight band. New methods are flat unless said.
nameYesThe method's name as shoppers see it, like Standard or Next day. Names an existing method (case does not matter) to change it, or a new one to add.
rowsNoTable methods only: the whole table, replacing what is there. Most specific row wins, then the highest band at or below the order.
priceNoThe flat price in the shop's minor units (cents for EUR: 500 is 5.00). 0 is free. Flat methods only; a table method's prices are in its rows.
renameToNoA new name for an existing method. Up to 60 characters.
freeAboveNoFree once the order reaches this, in the shop's minor units (cents for EUR: 500 is 5.00), before tax and after discount. null means never free, which is different from free at 0.
isEnabledNoWhether checkout offers it. New methods are on unless said.
tableBasisNoTable methods only: whether the rows' bands are order value (subtotal, minor units) or weight (grams).
descriptionNoThe line under the name at checkout, like 3 to 5 working days. Up to 120 characters; empty clears it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior5/5

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

It discloses the single most important non-obvious trait that no annotation covers: the call is non-mutating, returns a preview plus a confirmation link, and only the merchant on that page can apply the change. This is far richer than the annotations' generic readOnlyHint=false / destructiveHint=false / idempotentHint=false, and it also flags that names are matched case-insensitively. Idempotency of the preview token and link expiry are left unstated, but the critical behaviour is present.

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?

Three short sentences, front-loaded with the action, then the money convention that saves the agent from re-reading nine parameter descriptions, then the critical behavioural caveat. No filler and no repetition of the title.

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 nine-parameter tool with full schema coverage, annotations and no output schema, the description supplies the one thing structured fields cannot: that the call is a preview requiring merchant confirmation, and roughly what is returned. It does not mention prerequisites such as an existing shipping zone for the method to belong to, and does not route the agent to the related shipping_set_zones/shipping_set_defaults siblings.

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 explains kind, rows, price, freeAbove, tableBasis and the rest. The only description-level addition is the global convention "money is integer minor units (cents)", which merely restates what the parameter descriptions already say. Baseline 3 is appropriate when the schema does the heavy lifting.

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 opening sentence gives a specific verb+resource ("Add or change a delivery method"), which an agent can immediately distinguish from shipping_remove_method, shipping_set_zones or shipping_set_countries. It stops short of explicitly naming those siblings or its place in the shipping configuration flow, so it is clear but not fully differentiated.

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 when to use it (adding or editing a method) and usefully explains that invocation starts a confirm-then-apply flow, which shapes how an agent should sequence it. It never states when NOT to use it versus sibling tools such as shipping_set_defaults or shipping_set_countries, nor what prerequisite state (e.g. an existing zone) is required.

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.

Resources