Skip to main content
Glama

shopify_update_order

Destructive

Update a Shopify order's note, email, shipping address, and tags. Preview changes with dryRun true, or apply them with dryRun false.

Instructions

Update order note, email, shipping address and tags (orderUpdate). dryRun:true (the default) returns the current order and the change without applying it; dryRun:false applies it and returns before and after. Tags: addTags and removeTags change only the named tags; replaceTags replaces all tags. Requires write_orders.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
noteNo
emailNo
storeYes
dryRunNoTrue (the default) returns a before/after preview without changing anything in Shopify. Pass false to apply the change; the tool then reads the result back.
addTagsNoTags to add (tagsAdd). Other tags are kept.
removeTagsNoTags to remove (tagsRemove). Other tags are kept.
replaceTagsNoReplaces all tags: every current tag not in this list is removed. Prefer addTags or removeTags.
shippingAddressNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.0.1

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations: it explains the dry-run default and what each mode returns, describes exactly how addTags/removeTags/replaceTags affect existing tags (including the destructive nature of replaceTags), and states the required authorization scope. This materially improves safe invocation of a destructive mutation.

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 tight sentences, each carrying distinct information: scope of updatable fields, dry-run semantics, tag-mode semantics, and permission requirement. Zero filler and the core action is front-loaded.

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 destructive, non-idempotent mutation with no output schema, the description covers the critical unknowns: safety mode, return behavior, tag semantics, and auth scope. It leaves minor gaps around individual scalar field behavior but is otherwise sufficient to call the tool correctly.

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 description coverage at only 44%, the description compensates by clarifying the semantics of the dryRun flag and all three tag parameters, which are the ambiguous fields. It does not explain note/email/shippingAddress behavior (e.g., nulling a note), so it is strong but not complete.

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 + resource ('Update order note, email, shipping address and tags') and even names the underlying action (orderUpdate). An agent can distinguish it from siblings like shopify_update_product or shopify_update_customer without opening 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 Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides useful operating context (dryRun defaults to true; 'Requires write_orders') and preference guidance among tag modes ('Prefer addTags or removeTags' implied via replaceTags warning), but never states when to choose this tool over an alternative or when it should not be used. Usage is implied rather than prescribed.

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