Skip to main content
Glama

Prepare an Alza mutation

prepare_mutation
Read-only

Begin a two-step Alza mutation by generating a single-use confirmation token bound to one action. Pass it as confirmation_token to the matching write call; this preparation sends nothing to Alza.

Instructions

Start a two-step mutation by returning a one-time confirmation token bound to exactly one action. This call itself sends nothing to Alza. Use it before the high-impact typed mutations — register (action register), address_upsert (address_create or address_edit), address_delete (address_delete), pay_after_order (after_order_payment), web_place_order (web_place_order), web_pay_after_order (web_after_order_payment), cancel_order (cancel_order), review_submit (review_submit), subscription_activate (subscription_activate), subscription_update_installment (subscription_update_installment), upload_attachment (attachment_upload), watchdog_set (watchdog_set), watchdog_delete (watchdog_delete) — and before any low-risk mutate_list action (create, rename, delete, add, remove, move, set_country, set_isic, add_gift, add_order_service, send_feedback, submit_discussion, rate_discussion, coupon_add, coupon_remove, basket_update, basket_unlock, gdpr_export). Pass the returned token as confirmation_token on the matching call; the token is single-use and only valid for the exact action you prepared. Do not use for read-only tools, and not for add_to_cart (which is a low-risk cart write that needs no token).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYesWhich mutation you are about to perform; the token will only be accepted by that action's tool.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYes
confirmationTokenYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, and the description is consistent with them ('sends nothing to Alza'). It goes further by disclosing token semantics not captured anywhere else: single-use, bound to the exact prepared action, and passed back as confirmation_token on the matching call. No contradiction with any annotation.

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?

Purpose, side-effect disclaimer and token-flow instructions are front-loaded in the first sentences, and the exclusions close the paragraph. The long enumeration of low-risk mutate_list actions largely restates enum values already present in the schema, which is the one place the text does not fully earn its length.

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?

An output schema exists, so return-value documentation is unnecessary, and the description covers purpose, side effects, token lifecycle and exclusions well. The only completeness gap is the five unlisted enum actions, which an agent could reasonably wonder about when deciding whether to call this first.

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 enum already lists every valid action, so the baseline is 3. The description adds real meaning by pairing actions with the tool that will consume the token, but it omits five enum values (change_password, two_factor_set, phone_change, email_change, delete_account), leaving it unclear whether those actions also require preparation.

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?

The description states a precise verb+resource ('Start a two-step mutation by returning a one-time confirmation token bound to exactly one action') and immediately clarifies scope with 'This call itself sends nothing to Alza.' It is unmistakably distinct from the read siblings (search_products, get_product) and from the mutation tools it fronts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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

It gives explicit when-to-use guidance (before every high-impact typed mutation and every low-risk mutate_list action) plus two explicit when-not cases: read-only tools and add_to_cart. The action-to-tool mapping removes nearly all inference from routing decisions.

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