Skip to main content
Glama

Nova Amazon MCP Server

import_cogs

Import COGS (cost of goods) rows for ONE seller account — TWO-STEP, never skip the preview: call WITHOUT commit first; the server validates and returns per-row warnings, a SKU-grain diff and a confirmationToken. SHOW the diff and warnings to the user and only after their explicit approval call again with the SAME account/mode/region/rows plus commit:true and the token. Mode 'merge' (default, safe for partial files) touches ONLY the keys you send: a 'fixed' row replaces the same period of its (asin, sku, region) and other periods survive; 'fifo' rows REPLACE that SKU's whole batch ladder — send the complete ladder (read it first with get_cogs_worksheet). Mode 'replace' wipes and restates every (account, region) present in rows — destructive with a partial payload, only for a full-region statement. Up to 2000 rows per call; for bigger files send several merge-mode calls. A Vendor Central (1P) account takes the vendor's own product cost, period-based only: 'fifo' rows are refused for it. Requires the OAuth connection (not a workspace API token) and the OWNER role.

Input Schema

NameRequiredDescriptionDefault
modeNo'merge' (default): only the sent keys change. 'replace': wipe + restate each (account, region) present in rows.
rowsYes
commitNoOmit/false = preview (validate + diff, no write). true = write; requires the confirmationToken from the preview.
reasonNoOne sentence, ALWAYS IN ENGLISH (regardless of the conversation language), on WHY you are making this call — the user question or your analytical goal. Recorded so the seller can see how their data is used.
regionNoDefault COGS region for rows that do not carry their own.
accountYesThe seller account (seller_partner_id, or an unambiguous account name) the rows belong to. One account per call.
confirmationTokenNoThe token the preview returned — proves the user saw exactly this payload.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

The only annotation is readOnlyHint=false, so the description carries the rest and does it well: it discloses the destructive blast radius of 'replace' ('wipes and restates every (account, region) present in rows'), that merge touches ONLY sent keys, that fifo replaces the whole batch ladder, the preview-returns-token mechanism, plus auth prerequisites (OAuth connection, not a workspace API token) and the OWNER role requirement.

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 two-step rule, then mode semantics, then limits and prerequisites — a sensible ordering with no filler sentences. It is dense as a single block and repeats enum semantics that the schema also states, which costs it the top score.

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?

No output schema exists, and the description compensates by explaining what the preview returns (per-row warnings, SKU-grain diff, confirmationToken) and what the commit call expects. Combined with auth and role requirements, an agent has everything needed to call this safely.

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 86%, so the schema already documents most fields; the description adds the relational semantics the schema can't express — what a 'fixed' row replaces versus what a 'fifo' row replaces, and why mode choice changes destruction scope. It largely restates the mode enum and the 2000-row cap that already live in the schema, keeping it just short of a 5.

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?

Specific verb and resource ('Import COGS (cost of goods) rows for ONE seller account') with explicit scope (one account per call). It distinguishes itself from the read-side sibling by telling the agent to read the ladder first with get_cogs_worksheet, so the boundary is clear 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 Guidelines5/5

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

Gives an explicit workflow: call first without commit, show the diff and warnings, then re-call with commit:true and the token. It states when each mode applies ('merge' safe for partial files, 'replace' only for a full-region statement), when to split calls (>2000 rows), and the 1P exclusion for 'fifo'. No alternatives are left to inference.

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.