Skip to main content
Glama

Shoprocket MCP by usefulapi

Update order status

shoprocket_update_order_status
Destructive

WRITE: change an order's payment status and/or fulfillment status (for example mark it shipped or paid). Shoprocket needs both values, so a value you leave out is read from the order first and kept. With send_email true Shoprocket EMAILS THE CUSTOMER an order update (optionally with custom_text); the default is no email. Cancelling can return the items to stock (release_stock). POST /v1/orders/{id}.

Input Schema

NameRequiredDescriptionDefault
order_idYesShoprocket order id (ord_...).
send_emailNotrue = email the customer about this update. Default false: no email is sent.
custom_textNoExtra text for the customer email. Only used when send_email is true.
release_stockNotrue = put the order's items back into stock. Only applies when fulfillment_status is cancelled.
payment_statusNoNew payment status. Omit to keep the current one.
fulfillment_statusNoNew fulfillment status. Omit to keep the current one.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only declare destructive/not-idempotent/write; the description adds genuinely new behavior: a partial update where omitted statuses are read from the order and preserved, a customer-facing email side effect that is off by default, and that cancelling can restock items. Those are exactly the non-obvious consequences an agent needs before invoking a destructive write.

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 nature of the operation ('WRITE:') and packs the important caveats (email default, stock release) into a compact block. Dense and slightly acronym-heavy, but every clause carries actionable information.

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 6-parameter mutation, the description covers side effects, partial-update behavior, and conditional parameters. Since there is no output schema, the only gap is that it never indicates what the call returns (e.g., the updated order object).

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% and the schema already documents omitting statuses, custom_text being tied to send_email, and release_stock requiring cancellation. The description restates the partial-update rule ('both values needed... value you leave out is read from the order first') in a way that clarifies the atomic pair semantics, adding some value beyond the per-field text.

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?

Opens with an explicit 'WRITE:' marker and a specific verb+resource: 'change an order's payment status and/or fulfillment status', with concrete examples (shipped, paid). This clearly separates it from the read-only siblings like shoprocket_get_order and shoprocket_list_orders.

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?

Usage context is clear: it names the endpoint (POST /v1/orders/{id}) and the two conditional paths (cancelling with release_stock, emailing with send_email). It does not explicitly say when to prefer another tool or list any prerequisites/limitations, so it stops short of the top band.

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.