Skip to main content
Glama

Sellantica Amazon Ads

Prepare one or more negative keyword/ASIN create previews

prepare_negative_create_v1
DestructiveIdempotent

Create an idempotent, auditable write intent to add one or more brand-new negative keyword or negative product (ASIN) exclusions, each scoped either to a whole campaign or (when adgroup_id is also given) to one ad group within it. campaign_id must come from get_campaigns and, if given, adgroup_id from get_ad_groups. Nothing changes on Amazon or in Sellantica until the returned request is confirmed via approve_write_v1 and then execute_write_v1. The preview states will_dispatch: true means execute_write_v1 sends it to Amazon, false (execution_mode PREVIEW_ONLY) means it is recorded and never sent. To remove an existing negative instead of adding one, use prepare_negative_delete_v1; to change a POSITIVE target's bid or state, use prepare_target_bid_v1 instead.

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": {
      "profile_id": "<profile_id>",
      "profile_pk": "<profile_pk>",
      "idempotency_key": "<idempotency_key>"
    },
    "name": "prepare_negative_create_v1"
  }
}

Input Schema

NameRequiredDescriptionDefault
itemsNoBatch form: an array of per-negative create objects (campaign_id, expression, adgroup_id?, match_type?). Use this instead of the flat arguments to create more than one negative in a single call; never pass both.
adgroup_idNoAmazon ad group id (from get_ad_groups) to scope the negative to that ad group instead of the whole campaign. Omit for a campaign-level negative.
expressionNoThe negative keyword text (at most 80 characters) or a B-prefixed ASIN to exclude. An ASIN value is routed to a negative product target automatically.
match_typeNoMatch type for a keyword expression: NEGATIVE_EXACT or NEGATIVE_PHRASE (EXACT/PHRASE also accepted). Ignored for an ASIN expression, which is always excluded exactly. Defaults to NEGATIVE_EXACT.
profile_idYesAmazon Ads profile id, from list_profiles.
profile_pkYesSellantica's internal profile primary key, from list_profiles (needed when profile_id is not unique).
campaign_idNoAmazon campaign id the negative is created in, from get_campaigns. Use this or items, not both.
idempotency_keyYesCaller-chosen key (6-128 safe characters) that makes a retry of this exact call return the same write request instead of creating a duplicate.

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 idempotent/destructive/openWorld; the description adds the crucial lifecycle context annotations can't express: nothing changes until the returned request is confirmed via approve_write_v1 and then execute_write_v1, plus the meaning of `will_dispatch` and PREVIEW_ONLY execution_mode. This is exactly the kind of side-effect and staging detail an agent needs before calling a write-prep tool.

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-loaded with the core action and side-effect model, and every sentence carries real information (scope, ID sources, approval chain, will_dispatch, alternatives). Slightly dense with compound clauses, but no filler and no repetition of annotations.

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 multi-parameter, open-world write tool with no output schema, the description covers staging, dispatch semantics, ID provenance, and alternatives well. Minor gap: it doesn't address the flat-argument vs `items` batch choice or what the returned request object looks like (id/status), which matter for an 8-parameter tool with two call shapes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents expression, match_type, adgroup_id, campaign_id, idempotency_key and the batch `items` form. The description restates the campaign-vs-adgroup scoping (already in the schema) and repeats ID provenance, adding little beyond structured data; it never clarifies the flat-vs-`items` mutual exclusivity that the schema states. Baseline 3.

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 ('create an idempotent, auditable write intent to add negative keyword or negative product (ASIN) exclusions') and defines scope (campaign-level vs ad-group-level). It explicitly names the two siblings an agent could confuse it with (prepare_negative_delete_v1, prepare_target_bid_v1) and the condition that selects each, so the tool is distinguishable without opening schemas.

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 when-to-use, when-to-use-something-else ('to remove an existing negative... use prepare_negative_delete_v1; to change a POSITIVE target's bid or state, use prepare_target_bid_v1'), and prerequisites for ID provenance (campaign_id from get_campaigns, adgroup_id from get_ad_groups). Very little is 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.

Resources