Skip to main content
Glama

Generate Listing Copy for a Niche

generate_listing_copy
Destructive

Draft an optimized Amazon listing from niche keyword research and the seller's existing listing, then poll the generation ID until complete before pasting into Seller Central.

Instructions

Use this to draft an optimised Amazon listing — title, bullets and description — from a niche's keyword research and the seller's current listing. It writes text only: nothing is published to Amazon, and the user still has to paste the result into Seller Central. ⚠️ Spends one AI Copywriter prompt from the quota per call and cannot be undone — set confirm: true only after the user approves. Not safe to retry: each call spends another prompt, so if a call errors or times out, poll get_listing_copy_generation_status instead of re-calling. Runs asynchronously: returns a generationId — poll get_listing_copy_generation_status with it until the status is complete.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
confirmNoMust be true to proceed — each generation spends one AI Copywriter prompt from the quota. Confirm the cost with the user first.
nicheIdYesThe niche whose keyword data the copy is written from. Get one from `list_niches`.
strategyYesWhich generation strategy to use. `cosmo` targets Amazon's COSMO relevance model, `ranking-juice` optimises for DataDive's ranking-juice score, `nlp` writes for keyword coverage, and `cosmo-rufus` targets COSMO plus the Rufus shopping assistant. Ask the user if they have no preference.
currentListingYesThe seller's existing listing to rewrite, as an object — e.g. `{ "title": "...", "description": "...", "bullets": ["...", "..."] }`. Pass what the user has; it is the starting point the generated copy builds on.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Addedv0.11.0

TDQS

A4.7/5.0
Behavior5/5

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

Discloses that each call consumes one AI Copywriter prompt irreversibly, is asynchronous, returns a generationId, and should not be retried on failure. This goes well beyond the destructiveHint=true annotation by specifying the actual side effect (quota consumption) and the safe recovery path.

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

Conciseness5/5

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

Every sentence carries a distinct operational fact: purpose, non-publishing, quota cost, no-retry rule, async return, and polling procedure. The warning is front-loaded and the retry/polling guidance is placed before the async note, making it easy to scan.

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?

For a tool with no output schema and a destructive quota side effect, the description covers the full lifecycle: confirm cost, pass required inputs, get generationId, poll status until complete, and avoid retries. Nothing an agent needs to call it correctly is missing.

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 coverage is 100%, so the schema already documents nicheId source, strategy enum meanings, and currentListing structure. The description adds only an instruction to ask the user for strategy preference and reminds that the listing is drafts only, which is already implicit in the schema; no new syntactical parameter semantics.

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 opening sentence specifies the verb ('draft'), the resource ('an optimised Amazon listing — title, bullets and description'), and the input ('from a niche's keyword research and the seller's current listing'). It also distinguishes itself from the status-polling sibling by explaining it returns a generationId and that get_listing_copy_generation_status should be used for monitoring.

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?

Explicitly says when to use (drafting from a niche's keyword research and current listing), and when not to re-call on error/timeout, directing to poll get_listing_copy_generation_status. It also instructs to set confirm:true only after user approval, and to ask the user for strategy preference if unknown.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Data-Dive-Tools/datadive-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server