Skip to main content
Glama

Adopt catalog sheet

adopt_catalog_sheet
Destructive

Propose or save catalog role mapping for an existing manual sheet (1-10). Call with dry_run true, or without confirm_token, to get confirmation_required, proposed roles, extras, warnings, the current mapping and diff, and a confirm_token. Show that proposal to the user and wait for an explicit yes before calling again with confirm_token. Never dry-run and confirm in the same turn. Optional role_overrides maps an unmapped role to an existing visible column by header or column id, for example {"notes": "Internal note"}. Matching is case-insensitive. barcode, totalQty, and defaultLocation cannot be overridden. The same overrides must be sent on confirm; confirm_token binds them. The column must be visible, not used by another role, and not a barcode alias. Empty override values are rejected. If Notes has no suitable column, add_column first, then map it. Does not rename columns or change rows. Confirm writes the mapping, turns Catalog on, and ensures the default stock location. dry_run false without confirm_token writes nothing. A confirm boolean is ignored. A Shopify store sheet (11+) is refused. Colour and Size map to group options 1 and 2. Category maps to Type. Roles: photo, name, sku, barcode, unitCost, sellingPrice, type, brand, totalQty, defaultLocation, variantOption1, variantOption2, description, notes. Two-step confirm_token: the first call without confirm_token only returns confirmation_required, a summary, and confirm_token. That call does not write, delete, cancel, or send. The second call must repeat the same arguments plus that confirm_token; that is the write. A confirm boolean is ignored. The token expires in 5 minutes and works once.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "sheet_number": "<sheet_number>"
    },
    "name": "adopt_catalog_sheet"
  }
}

Input Schema

NameRequiredDescriptionDefault
dry_runNo
sheet_numberYes
confirm_tokenNo
role_overridesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false and non-idempotent, and the description is consistent with that safety profile rather than contradicting it. It adds real context beyond annotations: the token expires in 5 minutes and works once, the first call writes/deletes/cancels/sends nothing, confirm turns Catalog on and ensures the default stock location, and no columns are renamed or rows changed. However, much of the token behavior is restated three times, so the marginal disclosure is diluted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The critical flow is front-loaded in the first three sentences, which is good, but the two-step confirm_token mechanism is explained twice and 'A confirm boolean is ignored' appears verbatim twice. Roughly a third of the text is redundant restatement, which dilutes rather than reinforces.

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?

There is no output schema, and the description compensates by enumerating what the proposal call returns (confirmation_required, proposed roles, extras, warnings, current mapping and diff, confirm_token) and what confirm does. For a destructive two-phase write tool, an agent has everything needed to call it safely and interpret the result.

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 description coverage is 0%, so the description carries the full burden and mostly succeeds: role_overrides is explained in depth (case-insensitive matching, must be visible and unused, barcode/totalQty/defaultLocation non-overridable, empty values rejected, must be repeated on confirm), confirm_token is explained (5-minute expiry, single use, binds overrides), and dry_run and the 1-10 sheet range are covered. Minor gap: the 'dry_run false without confirm_token writes nothing' and 'a confirm boolean is ignored' lines are confusing rather than clarifying.

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 first sentence gives a specific verb and resource ('Propose or save catalog role mapping') and scopes it to an existing manual sheet numbered 1-10. It also implicitly distinguishes itself from the enable_catalog_sheet sibling by stating a Shopify store sheet (11+) is refused, so an agent can route correctly without opening a schema.

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?

The description lays out the exact call sequence (first call without confirm_token to get a proposal, show it to the user, then re-call with confirm_token), explicitly forbids dry-run plus confirm in the same turn, and names the alternative path ('If Notes has no suitable column, add_column first, then map it'). It also states the refusal condition for sheet 11+.

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